Course Calendar
Week 1 (Aug 25 - Aug 29)
- Lecture
- Mon — Welcome and Abstraction slides | recording
- Lab
- Wed/Thurs — Welcome to Snap!
- Disc
- Fri — Snap! Scavenger Hunt | Solutions
Week 2 (Aug 30 - Sept 5)
- Lecture
- Mon — Functions slides | recording
- Wed 9/1 – Numbers and Abstraction slides | recording
- Lab
- Mon/Tues — Build Your Own Blocks
- Wed/Thurs — Conditionals, Reporters & Testing
- Disc
- Fri — Number Rep, Booleans, and Conditions | worksheet | solutions
- Project
- Project 1 is released! spec (due Wed 9/8)
- Reading
- Learning to Code (quiz due Friday at midnight) link to quiz
Week 3 (Sept 6 - Sept 12)
- Lecture
- Mon 9/6 is a Holiday
- Wed — Lists, Scoping, and HOFs slides | recording
- Lab
- Tues/Wed — Lists and HOFs
- Thurs/Mon — Algorithms
- Disc
- Fri — Domain and Range, HOFs, Scoping | worksheet | solution
- Project
- Tues — Project Party
- Wed — Proj1 due
- Proj2 is released! spec
- Wed — Proj1 due
- Reading
- Introduction to Abstraction
Week 4 (Sept 13 - Sept 19)
- Lecture
- Mon — Algorithms slides | recording
- Wed — Algorithmic Complexity slides | recording
- Exam
- Tues — Quest
- Lab
- Mon — Algorithms
- Wed/Thurs — Work Session
- Disc
- Fri — Algorithms and Quest Rehash worksheet | solutions
- Project
- Project 2 spec
- Thurs — Project 2 Party
- Reading
- What is an Algorithm?
- How Algorithms Shape Our World
- Algorithms are Great and All, But They Can Also Ruin Lives
- quiz due Friday by midnight
- How Algorithms Shape Our World
Week 5 (Sept 20 - Sept 26)
- Lecture
- Mon — Social Implications of Computing I slides | recording
- Wed — Testing and 2048 slides | recording
- Lab
- Mon/Tues — Algorithmic Complexity
- Wed/Thurs — Testing & Project 3
- Disc
- Fri - Algorithmic Complexity worksheet | solutions
- Project
- Tues — Project 2 due spec
- Wed — Project 3 is released! spec
- Reading
- Gordon Moore Reflects on 50 Years of Moore’s Law
- E-Waste Republic
- quiz due Friday by midnight
- E-Waste Republic
Week 6 (Sept 27 - Oct 3)
- Lecture
- Mon — Recursion I slides | recording
- Wed — Recursion II slides | recording
- Lab
- Mon/Tues — Boards
- Wed/Thurs — Trees and Fractals
- Disc
- Fri — Intro to Recursion worksheet | solutions
- Project
- Project 3 spec
- Reading
- Blown to Bits: Chapter 1
- Big O Notation — Simply explained
- quiz due Friday by midnight
- Big O Notation — Simply explained
Week 7 (Oct 4 - Oct 10)
- Lecture
- Mon — Social Implications of Computing II Samhita’s slides | Hug’s slides | recording
- Wed — Recursion III slides | recording pt.1 recording pt.2
- Lab
- Mon/Tues — Recursive Reporters
- Wed/Thurs — Project 3 Work Session
- Disc
- Fri — Recursion II worksheet | solutions
- Project
- Mon/Tues — Project 3 Parties!
- Thurs — Proj 3 due
- Reading
- Connected, but alone?
Week 8 (Oct 11 - Oct 17)
- Lec
- Mon — Procedures as Data - Higher Order Procedures slides | recording
- Wed — Programming Paradigms slides | recording
- Lab
- Mon/Tues — Functions as Data, HOFs
- Wed/Thurs — Midterm Work Session
- Disc
- Midterm Review Session worksheet | solutions
- Project
- Proj 4 is released spec
- Reading
- Addicted to Apps
- How App Developers Keep Us Addicted To Our Smartphones
Week 9 (Oct 18 - Oct 24)
- Exam
- Mon&Tues — Midterm Exam
- Lecture
- Wed — Python I: Intro to Python slides | recording
- Lab
- Wed/Thurs — Welcome to Python
- Disc
- Fri — Intro to Python worksheet | solutions
- Project
- Thurs — Proj4 due
- Sat — Proj4 comments due
- Reading
- Humans Need Not Apply
Week 10 (Oct 25 - Oct 31)
- Lecture
- Mon — Python: Built-in Types, Data Structures slides | recording
- Wed — Python III: OOP in Python slides | recording
- Lab
- Mon/Tues — Data Structures in Python
- Wed/Thurs — OOP in Python
- Disc
- Fri — List Comprehensions and Dictionaries worksheet | solutions
- Project
- Mon — Proj5 released spec
- Wed — Final Project Proposal released spec
- Fri — Final Project TECH spec released spec
- Wed — Final Project Proposal released spec
- Reading
- Why Python is a Great First Language
Week 11 (Nov 1 - Nov 7)
- Lecture
- Mon — Python IV: HOFs slides | recording
- Wed — Social Implications of Computing III slides
- Lab
- Mon/Tues — Text Processing in Python
- Wed/Thurs — Work Session
- Disc
- Fri — Object-Oriented Programming worksheet | solution | Asynchronous Discussion
- Project
- Project 5 spec
- Final Project Proposal proposal spec
- Final Project technical spec
- Final Project Proposal proposal spec
- Reading
- StarCraft II-playing AI AlphaStar takes out pros undefeated
Week 12 (Nov 8 - Nov 14)
- Lecture
- Mon — Python V - Managing Complexity slides | recording
- Wed — Python VI - Data Science notebook and data | recording
- Lab
- Mon/Tues — Data Science
- Wed/Thurs — NO LAB
- Disc
- Fri — Python HOFs, Lambdas, Tree Recursion worksheet | solutions
- Project
- Mon/Tues — Final Project Proposal Reviews (in lab)
- Reading
- What is Data Science?
- How to Start Thinking Like a Data Scientist
- Spurious Correlations
- How to Start Thinking Like a Data Scientist
Week 13 (Nov 15 - Nov 21)
- Lecture
- Mon — Concurrency slides
- Wed — Limits of Computing slides | video
- Lab
- Mon/Tues — Concurrency | recording
- Wed/Thurs — Work Session
- Disc
- Fri — Social Implications Sessions
- Project
- Thurs — Final Proj Party
- Reading
- The Secret History of Women in Coding
Week 14 (Nov 22 - Nov 28)
- Lecture
- Mon — Alumni Panel recording | slides
- Lab
- Mon/Tues — Debugging in OOP
- BREAK
- Wed-Fri — NO CLASS
Week 15 (Nov 29 - Dec 5)
- Lecture
- Mon — AI slides | video
- Wed — Conclusion and Farewell slides | video
- Lab
- Mon/Tues — Work Session
- Wed/Thurs — Work Session
- Disc
- Fri — Final Review and Farewell worksheet | solutions | Getting Involved in CS Slides
- Project
- Tues — Final Project Party 5-8pm Discord and Cory 540AB
- Wed — Final Project due proposal spec | technical spec
- Reading
- NO READING