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
  • File Output, If-Elif-Else, While Loops, Functions
  • Lists, Tuples, Sets, Dictionaries, For loops, Range, Command-Line Arguments
  • Recitation, Reinforcement

Week 2

  • No class - Memorial Day
  • Exam #1
  • continue, break, exceptions
  • Formatted strings, diving deeper into exceptions
  • Strings: join(), split(), isalpha(); Using Collections: Inverted Indexes

Week 3

  • Recitation, Reinforcement
  • Sorting, slicing, multiple assignment, etc
  • Nesting collections
  • Recursive programming, call stack, mechanics, possibly tail recursion and recursion removal
  • Recursive thinking and problem solving

Week 4

  • Recitation, Reinforcement
  • Exam #2
  • Exam #2 Post-Mortem
  • Tkinter Graphics
  • Events and Animation

Week 5

  • Recitation, Reinforcement
  • Python quirks and novelties
  • Generators, Generator expression, Pipelines thereof
  • Coroutines, Pipelines thereof; Regular Expressions
  • Object-Oriented Python
  • Decorators

Week 6

  • Recitation, Reinforcement
  • SQL, Databases, Interacting with databases
  • Network and Web Programming
  • Threads and Threaded Programming
  • Final Exam -- The best is saved for last