15-112 Schedule
Spring 2013
Week Dates Event / Topics Quizzes / Homeworks / Practice
Week
#1
Mon 14-Jan
to
Fri 18-Jan
Getting Started
Types, Literals, Variables, Operators, and Expressions

Program Structure and Control Flow, part 1:  Functions
no quiz this week
hw1 (due Mon 21-Jan at 9pm)
practice-thru-week-1 (due never)
Week
#2
Mon 21-Jan
to
Fri  25-Jan
Mon 21-Jan: Martin Luther King Day (No Classes after 12:30pm)
Graphics
Program Structure and Control Flow, part 2: Conditionals, Loops

Fri 25-Jan: Deadline for xfer to 15-110
practice-quiz1 (thru wk1+hw1, due never)
quiz1 (thru wk1+hw1)
hw2 (due Mon 28-Jan at 9pm)
practice-thru-week-2 (due never)
Week
#3
Mon 28-Jan
to
Fri 1-Feb
Data Structures: Sequences, part 1: Strings
Program Properties, part 1:  Style
Problem-Solving with Top-Down Design
practice-quiz2 (thru wk2+hw2, due never)
quiz2 (thru wk2+hw2)
hw3 (due Mon 4-Feb at 9pm)
practice-thru-week-3 (due never)
Week
#4
Mon 4-Feb
to
Fri 8-Feb
Program Properties, part 2:  Efficiency practice-quiz3 (thru wk3+hw3, due never)
quiz3 (thru wk3+hw3)
hw4 (due Sun 10-Feb at 10pm)
practice-thru-week-4 (due never)
Week
#5
Mon 11-Feb
to
Fri 15-Feb
Data Structures: Sequences, part 2: 1d Lists and Tuples
Optional/Advanced Topic:  Bitwise Operators, Two's Complement
Optional/Advanced Topic:  Countability, The Halting Problem
practice-quiz4 (thru wk4+hw4, due never)
quiz3-redux (also thru wk3+hw3)
quiz4 (thru wk4+hw4)
hw5 (due Mon 18-Feb at 9pm)
practice-thru-week-5 (due never)
Week
#6
Mon 18-Feb
to
Fri 22-Feb
Data Structures: Sequences, part 3: 2d Lists
Technique:  Testing Functions that use print and raw_input
quiz5 (thru wk5+hw5)
hw6 (due Tue 26-Feb at 9pm)
Week
#7
Mon 25-Feb
to
Fri 1-Mar
Program Structure and Control Flow, part 3: Exceptions
Data Structures: Sets and Maps (Dictionaries)

Optional/Advanced Topic:  Matrices + Gaussian Elimination
quiz6 (thru wk6+hw6)
no hw this week
practice-midterm1 (due never)
Week
#8
Mon 4-Mar
to
Fri 8-Mar
Midterm Review
Thu 7-Mar: Midterm #1 (covers weeks 1-6)
Fri 8-Mar: Mid-Semester Break (No Classes)
no quiz or hw this week
midterm1 (thru wk6+hw6)
-- Mon 11-Mar
to
Fri 15-Mar
Spring Break (No Classes)  
Week #9 Mon 18-Mar
to
Fri 22-Mar
1d Lists Redux
Functions Redux
Animations
Case Study:  Snake

Optional/Advanced Topic:  1-Player (A*)
no quiz this week
hw7 (due Wed 27-Mar at 9pm)
Week #10 Mon 25-Mar
to
Fri 29-Mar
Object-Oriented Programming quiz7 (thru wk9+hw7)
hw8 (due Wed 3-Apr at 9pm)
Week
#11
Mon 1-Apr
to
Fri 5-Apr
Recursion
Optional/Advanced Topic:  JavaScript + canvas, Panda3d
Optional/Advanced Topic:  Client-Server + Peer-to-Peer
quiz8 (thru wk10+hw8)
hw9 (due Sun 7-Apr at 10pm)
midterm2 practice (due never)
Week
#12
Mon 8-Apr
to
Fri 12-Apr
Term Project
    Quick Tour of Python Libraries, Modules, and Applications
    Programming with a Social Conscience
    Term Project Assignment
    Miscellaneous Python / Tkinter Demos
Thu 11-Apr: Midterm #2 (covers weeks 1-11)
Optional/Advanced Topic:  Higher-Order Functions
midterm2 (thru wk11+hw9)
term project (due Wed 1-May at 9pm)
Week
#13
Mon 15-Apr
to
Fri 19-Apr
File and Web IO
Monte Carlo Methods
Thu 18-Apr to Sat 20-Apr: Spring Carnival (No Classes)
 
Week
#14
Mon 22-Apr
to
Fri 26-Apr
How a Computer Works
Term Project User Study Lab
 
Week
#15
Mon 29-Apr
to
Fri 3-May
How a Programming Language Works
Thu
1-May: Term Project Presentations
 
--- --- Fri 10-May 8:30am to 11:30am: Final Exam
Andrew ID range Exam Room
A* thru I* DH 2315
J* thru L* DH 2302
M* thru Z* DH 2210
---