CMU 15-112 Schedule
Fall 2016

Week Dates Event / Topics Quizzes / Homeworks / Practice
Week
#1
Mon 29-Aug
to
Fri 2-Sep
Getting Started
Functions
Data and Expressions
Conditionals
Optional: Bitwise Ops + 2's Comp + Boolean Arithmetic + etc
Optional: How to Build a Computer (from Gates to CPU's)
week1-practice (due never)
check1 (on Thu 1-Sep)
lab1 and hw1 (due Sat 3-Sep at 6pm)
Week
#2
Mon 5-Sep
to
Fri 9-Sep
Loops
Optional: Gaussian Elimination + Power Sum Polynomials
week2-practice (due never)
check2 (on Tue 6-Sep)
quiz1 (on Thu 8-Sep)
lab2 and hw2 (due Sat 10-Sep at 6pm)
Week
#3
Mon 12-Sep
to
Fri 16-Sep
Strings
Style
Top-Down Design + Testing + Debugging
Peer Tutoring starts this week
week3-practice (due never)
check3 (on Tue 13-Sep)
quiz2 (on Thu 15-Sep)
lab3 (due Thu 15-Sep at 10pm)
hw3 (due Sat 17-Sep at 6pm)
Week
#4
Mon 19-Sep
to
Fri 23-Sep
Graphics
1d Lists and Tuples
Fri 23-Sep: Deadline for xfer to 15-110
Optional: QuickSort, HeapSort, RadixSort
Optional: Sun 25-Sep: 15-112 Scavenger Hunt!
week4-practice (due never)
check4 (on Tue 20-Sep)
quiz3 (on Thu 22-Sep)
lab4 (due Thu 22-Sep at 10pm)
hw4 (due Sat 24-Sep at 8pm)
Week
#5
Mon 26-Sep
to
Fri 30-Sep
2d Lists
Event-Based Animations (Getting Started)
CMU Family Weekend (see here)
Optional: Priority Queues, Heapsort, Huffman Coding
Optional: Family Weekend "112 Parents' Guide" Talk
week5-practice (due never)
check5 and quiz4 (on Tue 27-Sep)
lab5 (due Thu 29-Sep at 10pm)
hw5 (due Sat 1-Oct at 8pm)
Week
#6
Mon 3-Oct
to
Fri 7-Oct
Event-Based Animations
Optional: How to Build a CPU + Assembly Programming
check6 (on Tue 4-Oct)
Note: skip quiz5 (no quiz this week)
lab6 (due Fri 7-Oct at 8pm)
hw6 (due Sat 8-Oct at 8pm)
Week
#7
Mon 10-Oct
to
Fri 14-Oct
Efficiency
Sets and Maps (Dictionaries)
Optional: Sun 16-Oct: 15-112 Puzzle Hunt!
week7-practice (due never)
check7 and quiz6 (on Tue 11-Oct)
lab7 (due Thu 13-Oct at 10pm)
hw7 (due Sat 15-Oct at 8pm)
Week
#8
Mon 17-Oct
to
Fri 21-Oct
Midterm review
Thu 20-Oct: Midterm #1
Fri 21-Oct: Mid-Semester Break (No Classes)
no quiz or hw this week
no more checks this semester
(skip lab8, hw8, and quiz8)
Week
#9
Mon 24-Oct
to
Fri 28-Oct
Object-Oriented Programming (OOP) (part 1)
Recursion (part 1)
Functions Redux (part 1)
Functional Programming with map/filter/reduce
Exceptions
Optional: How to write a programming language
quiz7 (on Thu 27-Oct)
lab9 (due Sat 29-Oct at 8pm)
hw9 (due Sun 30-Oct at 8pm)
Week
#10
Mon 31-Oct
to
Fri 4-Nov
Recursion (part 2, except sorting)
Functions Redux (part 2)
Optional: Basic Webapps + Advanced Webapps (Rohan)
Optional: Sat 5-Nov: Microsoft Kinect Workshop
week10-practice (due never)
quiz9 (on Tue 1-Nov)
lab10 (due Thu 3-Nov at 10pm)
hw10 (due Sat 5-Nov at 9pm)
Week
#11
Mon 7-Nov
to
Fri 11-Nov
Object-Oriented Programming (OOP) (part 2)
Term Project Assignment
Optional: Misc Tkinter/Python Demos
Optional: Quick Tour of Python Libraries, Modules, and Applications
Optional: Using web API's with Python
CA-led Mini-Lectures (Attend any 1 of your choice)
Mon 5:30PM WEH 5409 Android Development
Mon 8:30PM PH 125C 3D Graphics in Python
Tue 8:30PM PH A18C Artificial Intelligence & Prediction using Graph Theory
Wed 5:30PM DH 1112 PyGame Part 1
Wed 6:30PM PH A18B Audio & Speech Processing
Wed 7:30PM PH A18B iOS Development
Wed 8:30PM PH A18B Kivy - User Interfaces for Python
Thu 4:30PM GHC 4301 Multiplayer Games with Sockets
Thu 5:30PM DH 1112 Pygame Part 2
Thu 6:30PM NSH 3002 Databases
Thu 7:30PM WEH 5403 Introduction to Processing - Programming for Visual Arts
Thu 8:30PM GHC 4303 Parallel Programming
Fri 5:30PM SH 125 Introduction to Photo Manipulation
Fri 6:30PM SH 125 Introduction to Machine Learning
Fri 7:30PM SH 125 Video Processing using OpenCV
Fri 8:30PM SH 125 Dynamic Programming
Optional: Sat 12-Nov to Sun 13-Nov: 15-112 Hackathon!
quiz10 (on Tue 8-Nov)
lab11 and hw11 (due Fri 11/11 at 11:11pm)
Week
#12
Mon 14-Nov
to
Fri 18-Nov
Midterm review
Thu 17-Nov: Midterm #2
no more quizzes or hw's this semester
Week
#13
Mon 21-Nov
to
Fri 25-Nov
TP Peer Discussions
Optional: Some [Monty] Python sketches
Wed 23-Nov to Fri 25-Apr: Thanksgiving Holiday (No Classes)
Week
#14
Mon 28-Nov
to
Fri 2-Dec
Monte Carlo Methods
Recursion (part 2, sorting)
Using the pyzo debugger
NP-Completeness + the Halting Problem
Optional: 1-Player AI (A*) and 2-Player AI (Minimax)
Week
#15
Mon 5-Dec
to
Fri 9-Dec
Optional: Programming with a Social Conscience
Optional: Internships and Jobs
TP User-study-a-thon
TP Last-minute-OH
Thu 8-Dec at 7:30pm: Term Project Presentations (McConomy)
Term Project (due Thu 8-Dec at 4:30pm)
Finals
-- Fri 16-Dec, 5:30pm-8:30pm: Final Exam
Room Andrew Id's
DH 2210AAA*** to HAN***
DH 2315HAW*** to NPA***
DH 2302NTO*** to SHU***
DH 1212SIY*** to XIN***
DH 1112XLU*** to ZZZ***