15-112 Tentative Schedule

Week 1

  • Welcome, Administrivia
  • Python -- Quick start
  • No class -- Independence Day!
  • Decision making -- Conditionals
  • Recitation, Reinforcement

Week 2

  • Repetition -- Loops
  • Getting Organized -- Functions and Code Reuse
  • Getting Organized -- Exceptions
  • Lists, 1D and 2D
  • Tuples, Sets, Dictionaries

Week 3

  • Exam #1 -- Show your stuff
  • Exam post-mortem
  • Recursive thinking and problem solving
  • Recursive programming, call stack, mechanics
  • Recursive programming, tail recursion, recursion removal

Week 4

  • File I/O, Pickling
  • Python Standard Library, Tkinter Graphics
  • Events and Animation
  • Debugging and Profiling, I
  • Debugging and Profiling, II

Week 5

  • Databases, Interacting with databases
  • SQL Primer
  • Regular Expressions, Regular Languages, and Finite State Machines
  • Generators, Coroutines, and the Producer-Consumer Model, I
  • Generators, Coroutines, and the Producer-Consumer Model, II

Week 6

  • Object-oriented Python, I
  • Object-oriented Python, II
  • Monte Carlo
  • Course wrap-up
  • Final Exam -- The best is saved for last