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

Program Structure and Control Flow, part 1:  Functions
no quiz this week
hw1 (due Sun 19-Jan at 10pm)
practice-thru-week-1 (due never)
Week
#2
Mon 20-Jan
to
Fri  24-Jan

Graphics

Program Structure and Control Flow, part 2: Conditionals, Loops
Fri 24-Jan: Deadline for xfer to 15-110

practice-quiz1 and quiz1-more-practice (due never)
quiz1 (
on Thu 23-Jan, thru wk1 + hw1)
hw2 (due Mon 27-Jan at 10pm)
practice-thru-week-2 (due never)
Week
#3
Mon 27-Jan
to
Fri 31-Jan

Data Structures: Sequences, part 1: Strings

Program Properties, part 1:  Style

Problem-Solving with Top-Down Design

practice-quiz2 (due never)
quiz2 (
on Thu 30-Jan, thru wk2 + hw2)
hw3 (due Mon 3-Feb at 10pm)
practice-thru-week-3 (due never)
Week
#4
Mon 3-Feb
to
Fri 7-Feb
Efficiency
Optional/Advanced: Countability and The Halting Problem
Optional/Advanced: Complexity and NP-Completeness
Optional/Advanced: Sorting Algorithms (quicksort + radixsort)
practice-quiz3 (due never)
quiz3 (on Thu 6-Feb, thru wk3 + hw3)
hw4 (due Sun 9-Feb at 10pm)
practice-thru-week-4 (due never)
Week
#5
Mon 10-Feb
to
Fri 14-Feb

1d Lists and Tuples

Optional/Advanced: Matrices and Gaussian Elimination

practice-quiz4 and more-quiz3-practice (due never)
quiz4 (on Thu 13-Feb, thru wk4+hw4)
hw5 (due Sun 16-Feb at 10pm)

practice-thru-week-5 (due never)
Week
#6
Mon 17-Feb
to
Fri 21-Feb
2d Lists + 2d List Case Studies (WordSearch, Connect4, Othello)
Sets and Maps (Dictionaries)
Exceptions

Optional/Advanced: Priority Queues, Heapsort, Huffman Coding
quiz5 (on Thu 20, Feb, thru wk5+hw5)
hw6 (due Sun 23-Feb at 10pm)
practice-thru-week-7 (due never)
Week
#7
Mon 24-Feb
to
Fri 28-Feb
Case Studies:  1-Player AI (BFS and A*), GrayScale, Steganography quiz6 (optional, on Thu 27-Feb, thru wk6+hw6)
hw7 (due Sun 2-Mar at 8pm)
Week
#8
Mon 3-Mar
to
Fri 7-Mar
Tue 4-Mar:  Midterm #1
Thu 6-Mar: Start of half-week time-shift (thru midterm2)
Optional/Advanced: 2-Player AI (Minimax, Alpha-Beta)
Fri 7-Mar: Mid-Semester Break (No Classes)
No quiz or hw this week
-- Mon 10-Mar
to
Fri 14-Mar
Spring Break (No Classes) No quiz or hw this week
Week #9 Mon 17-Mar
to
Fri 21-Mar
Functions Redux
Animation
Animation Case Study:  Snake
Optional/Advanced:  How a Computer Works
quiz7 (on Thu 20-Mar, on Animation examples)
hw8 (due Mon 24-Mar at 10pm)
Week #10 Mon 24-Mar
to
Fri 28-Mar
Object-Oriented Programming
quiz8 (on Thu 27-Mar, thru wk9+hw8)
hw9
(due Sun 30-Mar at 10pm)
Week
#11
Mon 31-Mar
to
Fri 4-Apr
Recursion (Getting Started) [not on midterm2]
Term Project Assignment
Quick Tour of Python Libraries, Modules, and Applications
Miscellaneous Tkinter/Python Demos
quiz9 (on Thu 3-Apr, thru wk10+hw9)
hw10 (due Sun 6-Apr at 10pm)
Week
#12
Mon 7-Apr
to
Fri 11-Apr
Tue 8-Apr:  Midterm #2 (thru wk10+hw10; no recursion)
Optional/Advanced: Arduino and Raspberry Pi
Thu 10-Apr to Sat 12-Apr: Spring Carnival (No Classes)
No more quizzes or hws
Week
#13
Mon 14-Apr
to
Fri 18-Apr
Recursion (Continued)
Fri 18-Apr: lab "quiz10a" (Recursion)

 
Week
#14
Mon 21-Apr
to
Fri 25-Apr
Recursion (Continued)
File and Web IO

Monte Carlo Methods
Fri 25-Apr: lab
"quiz10b" (Recursion, Monte Carlo Methods)
 
Week
#15
Mon 28-Apr
to
Fri 2-May
Term Project User-Study-A-Thon
Term Project Last-Minute OH

Programming with a Social Conscience
Thu 1-May at 8pm:  Term Project Presentations
term-project (due on Thu 1-May at 5pm)
final practice and more final practice (due never)
--- --- Mon 5-May, 8:30am-11:30am: Final Exam
   DH 2210: Andrew Id's from AAA*** to JIA***
   DH 2315: Andrew Id's from JIN*** to SJO***
   DH 2302: Andrew Id's from SKA*** to ZZZ***
Sat 10-May: Optional/Advanced: Writing a Programming Language
---