Note this schedule is reflective of teaching from 2023, and will likely feature substantial changes in 2024.
Weeks/Dates Lecture 1 Lecture 2 Lecture 3 Workshops Assessment Due
Week 0: Presemester Welcome and subject overview
Week 1: Jul 22 - Jul 26 Introduction to Computing, Scratch Programming Basics Computability (Advanced), and Programming basics
Week 2: Jul 29 - Aug 2 Variables and strings Strings as sequences and conditionals Conditionals and functions
Week 3: Aug 5 - Aug 9 Scope Iteration Consolidation lecture
  • Grok worksheets 0-2, 5/8
Week 4: Aug 12 - Aug 16 Lists and dictionaries Sets, mutability, advanced functions Consolidation lecture
  • Grok worksheets 3-5, 12/8
Week 5: Aug 19 - Aug 23 Code readability and debugging No Lecture! Yay? ChatGPT, Language Models, Stochastic Parrots, and The Infinite Monkey Theorem (Advanced)
  • Grok worksheets 6-8, 19/8
Week 6: Aug 26 - Aug 30 Libraries and Testing Mid-Semester Test preparation Advanced Lecture (Object-Oriented Paradigm)
  • Grok worksheets 9-10, 26/8
  • Project 1 release (tentative), 26/8
Week 7: Sep 2 - Sep 6 Comprehensions File I/O; Serialization Mid Semester Test!
  • MST, 6/9
Week 8: Sep 9 - Sep 13 Functions as arguments; Exception handling Project 2 overview How Python manages objects in memory
  • Grok worksheets 11-12, 9/9
  • Project 1, 12/9
Week 9: Sep 16 - Sep 20 CSV files; iterators Recursion Practice on Iterators; Objects in Memory (Advanced)
  • Grok worksheet 13, 16/9
  • Project 2 release, 16/9
Sep 23 - Sep 27 Mid Semester Break!
Week 10: Sep 30 - Oct 4 Algorithms Algorithms Continued... Advanced lecture
  • Grok worksheet 15, 30/9
Week 11: Oct 7 - Oct 11 HTML, CSS, JavaScript Cont... Advanced Lecture
  • Grok worksheets 14, 16, and 17, 7/10
  • Project 2, 10/10
Week 12: Oct 14 - Oct 18 Flask, Ethics Exam revision and Subject wrap-up
  • Grok worksheet 18, 18/10
  • Optional Grok worksheet 19, 18/10