Welcome to CS 1! We’re super excited to have you here this term!
Most Recent Announcements
-
Project07 DUEsHere is the sign up link for the project07 DUEs: https://www.signupgenius.com/go/9040D4AAAA923AAF94-57242641-cs125sp
We have sign ups available from tomorrow mid day to Friday afternoon. Only one person from each group needs to sign up for a DUE but all members need to be present at that time in person or via Zoom....(continued here) -
Project07 Extra InformationIn addition, on project07 we have included a survey about LLM usage in this course. If at least 80% of the class fills out this survey, we will lower all the shadow grade thresholds when calculating everyones' final grades! We really really want your opinions on this aspect of the course as it's very important to us that we take an approach that makes sense in the future....(continued here)
Due Next
Calendar
Wellness and Inclusion
It is very important to us that you succeed in CS 1. We provide many extra resources to help you. The professors and the TAs hold many office hours.
It is also very important to us that you maintain your mental wellness throughout the course. A few points are not worth losing sleep over. Everyone on the course staff is available to chat, and you can always attend office hours for a non-academic conversation if necessary. You can also visit the counseling center if you find you need help beyond the course staff. If you have a temporary health condition or permanent disability (either mental health or physical health related), you should contact accessibility services if you have not already. Additionally, if there is something we can do to make your experience better, please let us know.
Diversity, inclusion, and belonging are all core values of this course. All participants in this course must be treated with respect by other members of the community in accordance with the honor code. If you feel unwelcome or unsafe in any way, no matter how minor, we encourage you to talk to Prof. Blank or one of the Deans. We view these sorts of honor code violations as completely unacceptable, and we take them very seriously.
Tools
Course Staff
Instructors
Teaching Assistants








Handouts
The following is a list of handouts that you might find helpful throughout the course. We’ve categorized them by when they are useful.
Course Information
Syllabus – an overview of the course and administrative information
Setup Instructions – setup instructions for the course
Policies
Diagnostics Policy – the rules around diagnostics in the course
Collaboration Policy – the course collaboration policy
Projects
Grading – guide to understanding project grading
Readings
Course Readings – an optional set of readings to supplement lecture material
Cheatsheet for Python - a comprehensive list of examples and tips for python
syntax and libraries
Schedule
L00 | Mon, Mar 31 |
Computation and Algorithms in 2025
Variables, Types, Calling a Function, Introduction to CS 1. Administrivia. Our first program! |
R01 | Tue, Apr 01 |
Syntax Recitation 01 [ problems, solutions ]
Variables. Lists. for loops
|
L01 | Wed, Apr 02 |
Introduction to Lists, Iteration, and Selection
list s, for Loops, if statements
Lists. for Loops. Basic if Statements.
|
L02 | Fri, Apr 04 |
Functions and Returns
Defining Functions Writing our own functions. Tips, tricks, and pitfalls. |
L03 | Mon, Apr 07 |
Return of the Return Values
Defining Functions “Catching” return values from functions |
DUE | Mon, Apr 07 11:30 pm |
Diagnostic 1a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
R02 | Tue, Apr 08 |
Syntax Recitation 02 [ problems, solutions ]
Types. Functions. Reading documentation.
|
DUE | Tue, Apr 08 11:30 pm |
project01
(battleship, part 1)
[ guide ]
This project covers fundamental Python concepts with a particular emphasis on conditionals and lists.
|
L04 | Wed, Apr 09 |
Reading Documentation, Type Annotations, and More!
none. How should you go about reading the project guides? What is a type really? |
DUE | Wed, Apr 09 11:30 pm |
Diagnostic 2a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L05 | Fri, Apr 11 |
Indefinite Loops
while Loops
while loops. More common loop patterns. |
DUE | Fri, Apr 11 11:30 pm |
Diagnostic 3a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L06 | Mon, Apr 14 |
Doing It Again (and Loops and Lists)
More list s, tuple s
More complicated loop and list patterns. |
DUE | Mon, Apr 14 11:30 pm |
Diagnostic 4a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
DUE | Mon, Apr 14 11:30 pm |
Diagnostic 4b
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
R03 | Tue, Apr 15 |
Syntax Recitation 03 [ problems, solutions ]
Nested for loops. While loops. More types.
|
DUE | Tue, Apr 15 11:30 pm |
project02
(battleship, part 2)
[ guide ]
This project covers more fundamental programming concepts including functional decomposition and computational thinking.
|
L07 | Wed, Apr 16 |
Case Study: Wordle
list operations
An example program that synthesizes all that we’ve done so far! |
DUE | Wed, Apr 16 11:30 pm |
Diagnostic 5a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L08 | Fri, Apr 18 |
Storing Mappings (Dictionaries)
Dictionaries |
DUE | Fri, Apr 18 11:30 pm |
Diagnostic 8a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
DUE | Fri, Apr 18 11:30 pm |
Diagnostic 6a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L09 | Mon, Apr 21 | In-Class Quiz |
DUE | Mon, Apr 21 11:30 pm |
Diagnostic 6b
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
DUE | Mon, Apr 21 11:30 pm |
quiz01 |
L10 | Wed, Apr 23 |
Working with Hardware
Dictionaries Introducing the Trinkey which is a piece of hardware we will be working with in project03! |
DUE | Wed, Apr 23 11:30 pm |
Diagnostic 7a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L11 | Fri, Apr 25 |
Exceptions
Exceptions |
L12 | Mon, Apr 28 |
vpython and using objects
TBD |
DUE | Tue, Apr 29 11:30 pm |
project03
(morse code)
[ guide ]
This project covers indefinite loops, dictionaries, and advanced string manipulation.
|
L13 | Wed, Apr 30 |
Monty Hall Problem
floats and Fraction s
|
DUE | Wed, Apr 30 11:30 pm |
Diagnostic 9a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L14 | Fri, May 02 |
Mysteries and Tests!
What does a unit test look like? It’s a mystery! |
DUE | Fri, May 02 11:30 pm |
Diagnostic 10a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L15 | Mon, May 05 | Matrices and More Objects |
DUE | Mon, May 05 11:30 pm |
Diagnostic 11a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
R04 | Tue, May 06 |
Syntax Recitation 04 [ problems, solutions ]
Exceptions and dictionaries.
|
DUE | Tue, May 06 11:30 pm |
project04
(newton's cradle)
[ guide ]
This project covers dictionaries and using objects.
|
L16 | Wed, May 07 |
Recursion
TBD |
DUE | Wed, May 07 11:30 pm |
Diagnostic 12a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L17 | Fri, May 09 |
Impromptu Office Hours
TBD |
DUE | Fri, May 09 11:30 pm |
Diagnostic 13a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L18 | Mon, May 12 |
...why Java? why NOW?
TBD |
DUE | Mon, May 12 11:30 pm |
Diagnostic 14a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
R05 | Tue, May 13 |
Syntax Recitation 05 [ problems, solutions ]
Enums. Counters. Fractions. vpython objects.
|
L19 | Wed, May 14 |
Structuring Code
TBD |
DUE | Wed, May 14 11:30 pm |
Diagnostic 15a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
DUE | Wed, May 14 11:30 pm |
project05
(equation balancer and solver)
[ guide ]
This project covers using custom types and linear algebra operations in Python.
|
L20 | Fri, May 16 |
Objects and Classes
TBD |
L21 | Mon, May 19 | In-Class Quiz |
DUE | Mon, May 19 11:30 pm |
quiz02 |
L22 | Wed, May 21 |
Enrichment Lecture 1
TBD |
DUE | Wed, May 21 02:00 pm |
Diagnostic 19a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
DUE | Wed, May 21 11:30 pm |
Diagnostic 17a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L23 | Fri, May 23 |
No Lecture -- ditch day
TBD |
DUE | Fri, May 23 11:30 pm |
Diagnostic 18a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L24 | Wed, May 28 |
LLMs 1
TBD |
L25 | Fri, May 30 |
LLMs 2
TBD |
DUE | Fri, May 30 02:00 pm |
Diagnostic 20a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
L26 | Mon, Jun 02 |
Enrichment Lecture 2
TBD |
L27 | Wed, Jun 04 |
Victory Lap
TBD |
DUE | Wed, Jun 04 03:00 pm |
Diagnostic 22a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
DUE | Wed, Jun 04 11:30 pm |
project06
(Critters and LLMs)
[ guide ]
It's here!
|
DUE | Mon, Jun 09 11:30 pm |
Diagnostic 21a
(attempt 2)
[ link ]
This is the second attempt for this diagnostic. You can complete it even if you didn't do the first attempt in lecture.
|
DUE | Wed, Jun 11 11:30 pm |
project07
(Minecraft Plugin)
[ guide ]
The final project of CS 1...more turtles in the pond!
|