Materials

Here you will find a listing of lesson materials for the course such as slides, assignments, and similar.

1. Welcome Weeks

  • Activity 01: README.md Due Date: Wednesday 3 Sept 2025 (by the end of class)
  • GitHub Classroom Link (Used to setup your workspace and repository for your assignment submission.)

2. Getting Started

3. Crash Course I: Python

4. Crash Course II: Python

  • Literals, Variables, Conditionals, Strings, etc.
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Activity 03: Coding using literals, lists and conditionals
  • Lab 03: Completing smaller Python programs.
  • Guest Speaker: Form

5. Chapter 2: Lists and Dictionaries

  • Return to Programming Challenges of Activity 03
    • README
    • Note: This time only: Changed Due Date. Now set to 22nd Sept 2025, 11:30pm
  • Lists and Dictionaries at Work
    • PlayGround demonstrations: Demonstration
    • Finish slides from last week (Check the challenges)
  • Lab04: For loops and While Loops
  • Activity 04: Fixing code for finding approximations

6. Chapter 3: Exhaustive Enumeration and Approximation

  • Some Approximation Techniques in Python
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • A Study of the General nth Root Algorithm
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Lab05: Approximations By the Taylor Series

7. Chapter 5: STRUCTURED TYPES AND MUTABILITY

  • Some Fundamental Programming in Python
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Midterm Preparation Guide
    • Midterm exam: During lab on Thursday, 23rd October 2025
    • HTML Slides
    • PDF The slide’s material as a pdf.

8. Chapter 4: A Return to Functional Programming

  • Lambda and Higher Order Functions
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Classes and Decorators Functions
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Lab06: Midterm Practice Test

9. Chapter 11: Algorithm Complexity and Big-O

  • Activity 05: Algorithm Performance Analysis through Doubling Experiments
  • An informal Introduction to Complexity: About Big Big-O
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Activity 06: Algorithm Performance Analysis Through Doubling Experiments

10. Chapter 11 (continued): O(1), O(logN), O(2^N)

  • O(1) (Constant Time)
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • O(logN) (Logarithmic Time)
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • O(2^n) (Exponential Time)
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Supplement Slides: Heap Sorting (Logarithmic Time)
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • The Travelling Salesman
    • HTML Slides
    • PDF The slide’s material as a pdf.
  • Activity 07: Traveling Salesman Problem and Coding

11. Chapter 6. Modules

11. Chapter 6. Files

12 Final Project

13. Exception Handling

  • Working With Files
    • HTML Slides
    • PDF The slide’s material as a pdf.