The objective of this course is to provide students with an experimental approach, through practical experience, with the Python programming language. The course directly supports the ‘modelling and simulation’ requirements of the International Baccalaureate Computer Science.
On completion of this course students will: recognize Python data types and be able to select an appropriate data type(s) for a problem; understand how to control the execution flow of Python programs; understand why it is important to properly organize code and how to do so in Python using functions and classes; have knowledge and appreciation of the different failure modes that are encountered when writing Python programs and how to minimize them in practice.
This course largely follows Python Crash Course, Third Edition, an introductory programming book from No Starch Press by Eric Matthes.
Understand various Python data types, such as strings, integers, and floats, as well as more complex data types such as lists and dictionaries. Participants with learn to create and manipulate instances of various Python data types from scratch in JupyterLab, Google Colab (or similar).
Understand how to control the execution flow of Python programs. Participants will learn to implement control flow structures such as if statements, for loops, and while loops in Python programs.
Understand how to properly organize Python code using functions and classes. Participants will learn to implement functions and classes in Python to properly organize code.
Understand different ways in which Python programs can go wrong and know how to handle them in practice. Participants will learn how to debug Python programs, handle exceptions, and write proper tests.
Capstone project
I will keep a list of additional resources based on the interests of class participants.