15-112 Tentative Schedule

Week 1

  • Welcome, Administrivia
  • What is Programming? What are Programs? How are they Born? Etc.
    Ints, Floats, Strings, Operators, Console Input, Type casts
  • If-Elif-Else, While Loops, continue, break
  • Functions and the call stack
  • Exceptions and a hint of Object-Oriented Python, Formatting Strings

Week 2

  • Memorial Day -- No class
  • Exam review/Slack
  • Exam #1
  • Lists, List Comprehensions, Tuples, Dictionaries, more Strings
  • Sets, Tuples and Dictionaries

Week 3

  • Nested collections, Files, Python libraries
  • Generators and Generator Comprehensions, Co-Routines
  • Recursive programming, call stack, mechanics, possibly tail recursion and recursion removal
  • Recursive thinking and problem solving, Memoization
  • Exam review/problem session

Week 4

  • Exam #2
  • Tkinter Graphics
  • Return and Review exam, related reinforcement
  • Events and Animation
  • Driving Deeper: File I/O, Pickling

Week 5

  • Command-line arguments, Decorators
  • Object-Oriented Python
  • Threads and Threaded Programming
  • Network and Web Programming
  • SQL, Databases, Interacting with databases

Week 6

  • Regular Expressions
  • Python as a tool for automation
  • Exam Review/Reinforcement
  • Exam Review/Reinforcement
  • Final Exam -- The best is saved for last