15-110 Tentative Schedule

Week 1

  • Welcome, A lesson in indirection (Room change!), and Administrivia
  • Representation -- More than notation, Structure drives thinking
  • Algorithms -- Not all solutions are alike (but many problems are)
  • Python -- Quick start
  • Decision making -- Conditionals

Week 2

  • No class -- Independence Day!
  • Repetition -- Loops
  • Getting Organized -- Functions and Code Reuse
  • Pretty -- Tkinter
  • Software Development -- Personal Process

Week 3

  • Exam #1 -- Show your stuff
  • Lists, 1D and 2D
  • Tuples, Dictionaries
  • Reinforcement
  • Recursive thinking and problem solving

Week 4

  • Recursive programming, call stack, mechanics
  • Recursive programming, tail recursion, recursion removal
  • Reinforcement
  • Events and Animation
  • Events and Animation

Week 5

  • Databases, Interacting with databases
  • SQL Primer
  • Exam #2 -- A day to be proud of!
  • Regular Expressions, Regular Languages, and Finite State Machines
  • Files, Web Scraping

Week 6

  • Data analysis, Mining, K-Means clustering
  • Generators, Coroutines, and the Producer-Consumer Model
  • Extra day
  • Review, Recap
  • Final Exam -- The best is saved for last