CMU 15-112 Schedule
Fall 2017

Week Dates Event / Topics Quizzes / Homeworks / Practice
Week
#1
Mon 28-Aug
to
Fri 1-Sep
Getting Started
Functions
Data and Expressions
Conditionals
week1-practice (due never)
check1 (on Wed 30-Aug at 8am)
lab1 (due Thu 31-Aug at 10pm)
hw1 (due Sat 2-Sep at 8pm)
Week
#2
Mon 4-Sep
to
Fri 8-Sep
Loops
week2-practice (due never)
check2 (due Tue 5-Sep at 10am)
quiz1 (on Thu 7-Sep in class)
lab2 (due Thu 7-Sep at 10pm)
hw2 (due Sat 9-Sep at 8pm)
Week
#3
Mon 11-Sep
to
Fri 15-Sep
Strings
Style
Top-Down Design + Testing + Debugging
Fri 15-Sep: Deadline for transfer to 15-110
week3-practice (due never)
check3 (due Tue 12-Sep at 10am)
quiz2 (on Thu 14-Sep in class)
lab3 (due Thu 14-Sep at 10pm)
hw3 (due Sat 16-Sep at 8pm)
Week
#4
Mon 18-Sep
to
Fri 22-Sep
Graphics
1d Lists and Tuples
week4-practice (due never)
check4 (due Tue 19-Sep at 10am)
quiz3 (on Thu 21-Sep in class)
lab4 (due Thu 21-Sep at 10pm)
hw4 (due Sat 23-Sep at 8pm)
Week
#5
Mon 25-Sep
to
Fri 29-Sep
2d Lists
Event-Based Animations (Getting Started)
week5-practice (due never)
check5 (due Tue 26-Sep at 10am)
quiz4 (on Thu 28-Sep in class)
lab5 (due Thu 28-Sep at 10pm)
hw5 (due Sat 30-Sep at 8pm)
Week
#6
Mon 2-Oct
to
Fri 6-Oct
Event-Based Animations
Wed 4-Oct: Optional Lecture: How the Internet Works
check6 (due Tue 3-Oct at 10am)
quiz5 (on Thu 5-Oct in class)
lab6 (due Thu 5-Oct at 10pm)
hw6 (due Sat 7-Oct at 8pm)
Week
#7
Mon 9-Oct
to
Fri 13-Oct
Efficiency
Sets and Maps (Dictionaries)
Wed 11-Oct: Optional Lecture: How to Build a CPU
Fri 13-Oct: Optional: 15-112 Puzzle Hunt!
week7-practice (due never)
check7 (due Tue 10-Oct at 10am)
quiz6 (on Thu 12-Oct in class)
lab7 (due Thu 12-Oct at 10pm)
hw7 (due Sat 14-Oct at 8pm)
Week
#8
Mon 16-Oct
to
Fri 20-Oct
Midterm review
Tue 17-Oct: Optional Lecture: Neural Networks
Thu 19-Oct: Midterm #1
Fri 20-Oct: Mid-Semester Break (No Classes)
no quiz or hw this week
Week
#9
Mon 23-Oct
to
Fri 27-Oct
Object-Oriented Programming (OOP) (part 1)
Recursion (part 1)
Wed 25-Oct: Optional Lecture: Human-Computer Interaction
check9 (due Tue 24-Oct at 10am)
lab9 (due Thu 26-Oct at 10pm)
hw9 (due Sat 28-Oct at 8pm)
Week
#10
Mon 30-Oct
to
Fri 3-Nov
Exceptions
Functions Redux
Recursion (part 2)
Sat 4-Nov: Optional Workshop: Microsoft Kinect, NSH 3305, RSVP required
Sun 5-Nov: Optional Lecture: Django Webapps, NSH 3305, 10am-2pm
week10-practice (due never)
quiz9 (on Thu 2-Nov in class)
check10 (due Tue 31-Oct at 10am)
lab10 (due Thu 2-Nov at 10pm)
hw10 (due Sat 4-Nov at 8pm)
Week
#11
Mon 6-Nov
to
Fri 10-Nov
Mon 6-Nov: Drop Deadline
Object-Oriented Programming (OOP) (part 2)
Large Project Design and Documentation

Term Project Assignment
TA-Led Mini-Lectures: Choose 1
Mon4:30pmPH A18BMultiplayer with Sockets (slides) (manual)
Mon5:30pmMM A14Pygame (manual)
Mon6:30pmMM A14Game AI (slides)
Mon7:30pmMM A14Data Structures (slides)
Mon8:30pmDH A302The Browser as a Canvas (slides)
Tue4:30pmGHC 4102APIs (slides)
Tue5:30pmGHC 5222Android (code)
Tue6:30pmWean 5312Graph Theory (slides)
Tue7:30pmDH 2210Machine Learning (slides) (code) (manual)
Tue8:30pmMM A14Audio (manual)
Wed4:30pmGHC 5222Databases (slides)
Wed8:30pmDH 1212Open CV (slides) (manual)
Thu4:30pmDH A302Web Scraping (slides) (manual)
Thu6:30pmPH 1003D Things (slides) (manual)
Thu8:30pmGHC 4307Dev Ops + Github (slides)
N/AN/AN/A(Manual for Python Image Library)
(Manual for Arduino)
(Installing Modules on MacOS)

Fri 10-Nov: No classes
Sat 11-Nov - Sun 12-Nov: Hack112! Sign up here!
quiz10 (on Thu 9-Nov in class)
check11 (due Tue 7-Nov at 10am)
lab11 and hw11 (due Fri 10-Nov at 10pm)
Week
#12
Mon 13-Nov
to
Fri 17-Nov
Midterm review
Tue 14-Nov: Optional Lecture: Functional Programming
Thu 16-Nov: Midterm #2
Week
#13
Mon 20-Nov
to
Fri 24-Nov
OOPy Animation
Wed 22-Nov to Fri 24-Nov: Thanksgiving (no classes)
TP1 (due Tue 21-Nov at 8pm)
Week
#14
Mon 27-Nov
to
Fri 1-Dec
Net Neutrality
Monte Carlo Methods
Entrepreneurship in Computer Science
P vs. NP
The Halting Problem
Wed 29-Nov: Optional Lecture: Security
TP2 (due Wed 29-Nov at 8pm)
Week
#15
Mon 4-Dec
to
Fri 8-Dec
TP User-study-a-thon
TP Last-minute-OH
Wed 6-Dec: Optional Lecture: How to Write a Programming Language
Thu 7-Dec at 7:30pm: Term Project Presentations (CUC McConomy)
TP3 (due Thu 7-Dec at 4:30pm)
Finals
-- Fri 15-Dec, 1:00pm-4:00pm: Final Exam
Final exam will be three hours long. Location TBD.