15-112 Schedule
Spring 2015

Week Dates Event / Topics Quizzes / Homeworks / Practice
Week
#1
Mon 12-Jan
to
Fri 16-Jan
Getting Started
Types, Literals, Variables, Operators, and Expressions
Program Structure and Control Flow, part 1: Functions
Optional: Exprs++ (Bitwise Ops + 2's Complement + etc)
Optional: How to Build a Computer (from Gates to CPU's)
quiz0 (on Thu 15-Jan, covers syllabus, pass/fail)
hw1 (due Sun 18-Jan at 10pm)
practice-thru-week1 (due never)
Week
#2
Mon 19-Jan
to
Fri 23-Jan
Conditionals
Loops
Optional: Gaussian Elimination + Power Sum Polynomials
Fri 23-Jan: Deadline for xfer to 15-110
quiz1 (on Thu 22-Jan, thru week1+hw1)
hw2 (due Sun 25-Jan at 10pm)
practice-thru-week2 (due never)
Week
#3
Mon 26-Jan
to
Fri 30-Jan
Top-Down Design
Style
Testing and Debugging
Graphics in Tkinter
Step Animations
Optional: How to Build a CPU + Assembly Programming
quiz2 (on Thu 29-Jan, thru week2+hw2)
hw3 (due Sun 1-Feb at 10pm)
practice-thru-week3 (due never)
Week
#4
Mon 2-Feb
to
Fri 6-Feb
Strings
Optional: Countability and the Halting Problem
Optional: Complexity and NP-Completeness
quiz3 (on Thu 5-Feb, thru week3+hw3)
hw4 (due Sun 8-Feb at 10pm)
practice-thru-week4 (due never)
Week
#5
Mon 9-Feb
to
Fri 13-Feb
1d Lists and Tuples
Optional: Heaps, HeapSort, RadixSort
quiz4 (on Thu 12-Feb, thru week4+hw4)
quiz4-solutions
hw5 (due Sun 15-Feb at 10pm)
practice-thru-week5 (due never)
Week
#6
Mon 16-Feb
to
Fri 20-Feb
2d Lists
Event-Based Animations
quiz5 (on Thu 19-Feb, thru week5+hw5)
hw6 (due Sun 22-Feb at 10pm + Tue 24-Feb at 8pm)
practice-thru-week6 (due never)
Week
#7
Mon 23-Feb
to
Fri 27-Feb
Efficiency
Sets and Maps (Dictionaries)
Optional: Compression with Huffmann Coding
quiz6 (on Thu 26-Feb, thru week6+hw6)
hw7 (due Sun 1-Mar at 10pm)
practice-thru-week7 (due never)
Week
#8
Mon 2-Mar
to
Fri 6-Mar
Midterm review
Thu 5-Mar: Midterm #1
Fri 6-Mar: Mid-Semester Break (No Classes)
no quiz or hw this week
--
Mon 9-Mar
to
Fri 13-Mar
Spring Break (No Classes) no quiz or hw this week
Week
#9
Mon 16-Mar
to
Fri 20-Mar
Object-Oriented Programming (OOP)
Exceptions
Recursion (part 1)
Mini-Lectures (Attend any 1 of your choice):
     Tue 8pm: Image Manipulation (analyzing images)
     Tue 9pm: pygame (a powerful Python game platform)
     Wed 6pm: 1-player AI (like 15-puzzle, sudoku, etc)
     Wed 7pm: 2-player AI (like chess, checkers, othello, etc)
     Wed 8pm: OpenCV (using webcams)
     Thu 7pm: OpenCV (reprise)
     Sun 8am: 1-and-2-player AI (reprise)

Microsoft Workshops (optional):
     Mon 7pm-10pm: C# Workshop
     Sun 1pm-6pm: Kinect Workshop
no quiz this week
hw8 (due Mon 23-Mar at 10pm)
practice-thru-week9 (due never)
Week
#10
Mon 23-Mar
to
Fri 27-Mar
Recursion (part 2)
Wed 6:30pm: Python in the Real World with HRT (optional)
quiz7 (on Thu 26-Mar, thru week9+hw8)
hw9 (due Sun 29-Mar at 10pm)
Week
#11
Mon 30-Mar
to
Fri 3-Apr
Recursion (part 3)
Monte Carlo Methods
Term Project Assignment
Miscellaneous Tkinter/Python Demos
Quick Tour of Python Libraries, Modules, and Applications
Optional: Webapps + Advanced Webapps
quiz8 (on Thu 2-Apr, thru week10+hw9)
hw10 (due Sun 5-Apr at 10pm)
Week
#12
Mon 6-Apr
to
Fri 10-Apr
Midterm review
Thu 9-Apr: Midterm #2
Sat 11-Apr 2-6pm: 15-112 Puzzle Hunt!
quiz9
no more quizzes this semester
no more hw's this semester
Week
#13
Mon 13-Apr
to
Fri 17-Apr
Functions Redux + Web and File I/O
Mini-Lectures (Attend any 1 of your choice):
     Tue 8pm: 3d Graphics (vpython, Panda3d, OpenGL, etc)
     Tue 9pm: Arduino
     Wed 6pm: Computation in the Arts
     Wed 7pm: Machine Learning
     Wed 8pm: Natural Language Processing (NLP)
     Wed 9pm: OOP++ (inheritance, interfaces, design patterns)

Thu 16-Apr + Fri 17-Apr: Carnival (No Classes)
Week
#14
Mon 20-Apr
to
Fri 24-Apr
Mon 20-Apr: Microsoft Webapp Workshop (optional)
Steganography (Applied image manipulation)
Cryptography [Jordan]
Mini-Lectures (Attend any 1 of your choice):
     Tue 8pm: Markov Chains
     Tue 9pm: Graph Algorithms
     Wed 7pm: Speech Processing
     Wed 8pm: Oculus / Virtual Reality
     Wed 9pm: Functional Programming
     Thu 8pm: Comp'l Economics (Fair Division, Voting, Auctions)
     Thu 9pm: Game Theory
     Sun 9am: Make-up lecture (topic tbd)

Sat 25-Apr: APT Puzzle Tournament
Week
#15
Mon 27-Apr
to
Fri 1-May
TP User-study-a-thon
TP Last-minute-OH
Thu 30-Apr at 8pm: Term Project Presentations (McConomy)
Term Project (due Thu 30-Apr at 4:30pm)
Finals
-- Mon 4-May: Final Exam (5:30pm to 8:30pm)
Room Andrew Id's
GHC 4307 AAA** to AWW**
GHC 4401 (Rashid) AYC** to KAK**
UC/McConomy KAR** to ZSI**
Optional: How to write a programming language