CMU CS Scholars 2021 - Programming Course

Class Schedule

Most weeks will follow this general schedule:

Week 1 - Building Blocks

Hw1 - Written | Hw1 - Programming: due Friday EOD
Submit Written | Submit Programming

Monday: No class (Independence Day)
Tuesday: Introductions and Algorithms - slides
Wednesday: Programming Basics - slides
Thursday: Function Calls - slides - code
Friday: Work period

Advanced Programming: External Libraries - slides - pptx version
Advanced Computer Science: Data Representation - slides

Week 2 - Control Flow

Hw2 - Written | Hw2 - Programming: due Friday EOD
Submit Written | Submit Programming

Monday: Function Definitions - slides - code
Tuesday: Conditionals - slides - code
Wednesday: Work period
Thursday: Testing and Debugging - slides
Friday: Work period

Advanced Programming: Language Types - slides
Advanced Computer Science: The Internet - slides

Week 3 - Iteration

Hw3 - Written | Hw3 - Programming: due Friday EOD
Submit Written | Submit Programming

Monday: While Loops - slides - code
Tuesday: For Loops - slides - code
Wednesday: Work period
Thursday: Algorithmic Thinking and Style - slides
Friday: Work period

Advanced Programming: Recursion - slides
Advanced Computer Science: Concurrency - slides

Week 4 - Data Structures

Hw4 - Written | Hw4 - Programming: due Friday EOD
Test files: gradebook1.csv | gradebook2.csv
Submit Written | Submit Programming

Monday: Strings and Lists - slides - code
Tuesday: References and Memory - slides
Wednesday: Work period
Thursday: Data Analysis - slides - code - chat.txt - icecream.csv
Friday: Work period

Advanced Programming: Dictionaries, Trees, and Graphs - slides
Advanced Computer Science: Efficiency Analysis - slides

Week 5 - Interactive Programs

Hw5 - Written | Hw5 - Programming | Tetris instructions | Tetris starter: due following Wednesday EOD
Submit Written | Submit Programming | Submit Tetris

Monday: Simulation - slides - simulation starter code - code
Tuesday: Large Projects - slides - code
Wednesday: Work period
Thursday: Experimentation - slides - code
Friday: Work period

Advanced Programming: User Interfaces - slides
Advanced Computer Science: Machine Learning - slides

Week 6 - Wrap Up Week

Final Evaluation - Written | Final Evaluation - Programming: due Thursday 1:30pm EST | Simulation Demo
Submit Written | Submit Programming

Monday: Work Period
Tuesday: Bonus Lecture: Recent CS Trends - slides
Wednesday: Work Period
Thursday: Final Evaluation
Friday: No class (Celebration Day)