Ochudi / Teaching
Teaching.
I lecture COS 102 (Problem Solving) at Pan-Atlantic University. These are my lesson notes, published openly. Use them however helps you.
Most programming courses start with syntax. I start with problems: describe the solution in plain language first, then let the code follow. Syntax is the easy part once the thinking is right.
The notes are public because lectures evaporate. A student who missed a week, or a stranger on the internet, should be able to sit with the same material and catch up.
- Week 01Roadmap to Problem SolvingWhat a problem-solving strategy is, how to tell a well-defined problem from an ill-defined one, the four steps of solving by code, and the core techniques.Read
- Week 02Introduction to PythonWhy Python, getting set up with Anaconda and Jupyter, good habits, and the first building blocks: variables, data types, and keywords.Read
- Week 03Data types and type conversionThe built-in Python types in detail, and how to convert between them when the data you have is not the data you need.Read
- Week 04Flow of controlThe order statements run in, and how to bend it with sequence, selection, and repetition. Loops, break, continue, and nesting.Read
- Week 05Functions and modularityWriting reusable functions, the four kinds of arguments, variable scope, and a first graphical program with Tkinter.Read
- Week 06Object-oriented programmingClasses and objects, the self parameter, and constructors. Bundling data with the behaviour that acts on it.Read
- Week 07Arrays with NumPyWorking with fast numerical arrays: creating ndarrays, dimensions, indexing and slicing, iterating, and joining and splitting.Read
- Week 08Data analysis with PandasThe DataFrame: building one from lists and dictionaries, selecting rows and columns, reading and writing CSV files, and looping over data.Read