CS101 · Learning materials
Twelve chapters. Each is self-contained: outcome, primary reading, teaching, misconceptions, worked example, self-check, problem set, solutions.
Primary texts
- MIT 6.100L lectures (Fall 2022) — lecture numbers given per chapter.
- Guttag, Introduction to Computation and Programming Using Python, 3rd ed., MIT Press 2021 — chapter/§ given per chapter.
Assessment: problem sets 20 marks per chapter (formative, 240 total); coursework labs per the module page; examination 100 marks per the paper.
Chapters
Section titled “Chapters”- Names, values, and expression evaluation
- Branching, iteration, and loop invariants
- Floats, exact arithmetic, and numeric error
- Functions, scope, and specifications
- Structured types and higher-order functions
- Mutability, aliasing, and copying
- Testing: designing a test set, not writing tests
- Exceptions and assertions
- Dictionaries and modelling records
- Recursion and recursive data
- Classes, objects, and information hiding
- Complexity and choosing an algorithm