1. Programming in Python
  2. Executing Code and Completing Exercises
  3. Introduction
  4. Unit 1 - Getting Started
    1. Hello World
    2. Comments
    3. Objects, Types, Operators and Expressions
    4. Basic Exceptions
    5. Indentation, WhiteSpace and Blank Lines
    6. Hello User
    7. Simple IO
  5. Unit 2 - The Basics Elements of Python
    1. Variables and Assignment
    2. Statements vs Expressions
    3. Numbers
    4. Strings
    5. Casting
    6. The What's My Age Again (in Hours) Program
    7. String Methods
    8. String Indexing and Slicing
  6. Unit 3 - Branching and Decisions
    1. If ... Else Statement
    2. MP The Really Rubbish Password Program
    3. Nested if Statements
    4. Elif Statement
    5. The Mood Face Program
    6. Booleans
  7. Unit 4 - Iteration (Loops)
    1. While Loops
    2. The Number Guessing Game
    3. The Less Rubbish Password Program
    4. Ranges and Lists
    5. For Loops
    6. Break and Continue
    7. The Sum Numbers Program
    8. The Check Valid Input Program
  8. Unit 5 - Functions
    1. Passing Unit Tests
    2. Functions
    3. More About Functions
    4. The Maximum of a List Program
    5. Scope
    6. Keyword Arguments and Default Values
    7. Specification and Docstrings
    8. The Receive and Return Program
    9. Passing by Assignment
  9. Unit 6 - Lists, Tuples, Sets, and Dictionaries
    1. Lists
    2. The High Scores Program
    3. More on Lists
    4. Tuples
    5. The High Scores 2 Program
    6. Sets
    7. Dictionaries
    8. The Geek Translator Program
    9. The Frequency Count Program
    10. List and Dictionary Comprehension
  10. Unit 7 - Modules and Files
    1. Module Basics
    2. Creating a Module
    3. The Calculator Program
    4. Reading Files
    5. Writing to Files
    6. Serialisation with JSON
  11. Unit 8 - Decomposition, Abstraction, Recursion and Lambda (Advanced)
    1. Decomposition and Abstraction
    2. The Frequency Count Program 2.0
    3. args and kwargs
    4. Lambda Functions, Map and Filter
    5. Recursion 101
    6. Memoization (Advanced)
    7. Closures and Decorators (Advanced)
  12. Unit 9 - Object Oriented Programming 1 (OOP)
    1. Classes, Methods and Objects
    2. Constructors and Attributes
    3. Magic Methods
    4. Class Attributes vs Instance Attributes
    5. Instance Methods vs Static Methods
    6. The Critter Program
    7. Encapsulation
    8. The Critter Caretaker Program
    9. The Critter Zoo Program
  13. Unit 10 - Object Oriented Programming 2 (OOP)
    1. Sending and Receiving Messages
    2. Composition and Aggregation
    3. The Playing Cards Program 1
    4. Inheritance
    5. The Playing Cards Program 2
    6. Method Overriding and Polymorphism
    7. The Playing Cards Program 3
    8. Modules and Classes
    9. The Blackjack Game