CMU SAMS 2019 - Programming Courses

Schedule for Senior CS Track


Please submit all assignments on Autolab.

When you have a question at Office Hours, submit your name via the OH Queue.

Week 1 - Building Blocks

Hw1: due Friday 7/5 at 12pm

Monday: Data, Variables, and Functions - slides
Tuesday: Graphics and Algorithmic Thinking - slides
Wednesday: Lab
Thursday: 4th of July, no class
Friday: Lab

Advanced: Language Types - slides & hw bonus, additional reading

Week 2 - Control Flow

Hw2: due Friday 7/12 at 12pm

Monday: Conditionals and Loops - slides
Tuesday: Nesting, Testing, and Debugging - slides
Wednesday: Lab
Thursday: Problem Solving with Complex Control Flow - Button Pattern
Friday: Lab

Advanced: Recursion - slides & hw bonus, additional reading

Week 3 - Data Structures

Hw3: due Friday 7/19 at 12pm

Monday: Strings and Lists - slides
Tuesday: Aliasing, 2D Lists, and Objects - slides - code
Wednesday: Lab
Thursday: Problem Solving with Data Structures - Data Analysis
Friday: Lab

Advanced: Dictionaries, Trees, and Graphs - slides & hw bonus

Week 4 - Interaction

Hw4: due Friday 7/26 at 12pm

Monday: Quiz on content from weeks 1-3
Tuesday: Interaction and Events - slides
Wednesday: Lab
Thursday: Quiz Review / Problem Solving with Interaction - Memory Game
Friday: Lab

Advanced: User Interfaces - slides & hw bonus

Week 5 - Application

Hw5: due Monday 8/5 at 8:30pm

Monday: Side-scrolling and Time-based Animation - slides - side-scrolling code - animation code
Tuesday: Randomness and Monte Carlo Methods - slides - code
Wednesday: Lab
Thursday: Problem Solving with Application - Snake - slides - code
Friday: Lab

Advanced: Python Modules - slides

Week 6 - Computer Science

Monday: Lab
Tuesday: Limits of Computation - slides - Marco's slides
Wednesday: CS Ethics - slides
Thursday: Quiz on content from weeks 4-6
Friday: No class: project presentations!