Our course structure is designed for a two-week long intensive workshop targeted towards participants who are undergraduates, postgraduates or faculty staff, from all areas of STEM. Our aim is to teach Python programming at a beginners and/or advanced level, depending on the participants’ expertise. Our choice of programming language relies heavily on the fact that Python has an easy to understand syntax. Also, it is a high-level language designed with features to facilitate data analysis and visualisation, and for solving complex scientific and numerical problems.
Learning outcomes: The first week of our workshop covers all the fundamental constructs of Python, including data types, data structures, loops, decision statements, functions and file I/O. The first half of the second week covers a mix of Python libraries relevant to the participants’ area of interest, and based on request from the host University. For example, past workshops have included Numpy, Pandas and Matplotlib for data science, as well as object-oriented programming for software engineering. The workshop ends with group projects and presentations. Participants are split into teams and they are expected to write codes to solve complex problems.
Our approach: We deliver our course through a hands-on approach focused on problem-solving. Although the materials we design are fundamental to Python, they are equally fundamental to many other programming languages. Thus, after having completed our course, we expect participants to be capable of learning other programming languages on their own. Further, in order for them to become a self-reliant learner, we compile several problems which we use to help them build their programming confidence. In addition, to ease them into the world of programming, we mostly reward them for making mistakes and for asking questions (irrespective of the soundness).