Welcome to CS 1! We’re super excited to have you here this term!
Most Recent Announcements
-
FINAL final exam office hours today in prof. blank's office (anb 115)I will be holding office hours between 1pm and 3:30pm in my office (ANB 115). You can stop by to get help or just use one of the Minecraft laptops. Additionally, the Minecraft laptops will be available in CS2 from 8pm-11:30pm for testing--please note that (1) these laptops may not leave the room and (2) there will be no member of course on duty for help from 8pm-11:30pm....(continued here)
-
More OH from 2pm-5pm outside ANB 115 today!Who would have guessed it? We are holding more TA office hours *just in case* from 2pm-5pm today outside my office (ANB 115). It has been awesome to see so many of you complete the final yesterday and test out your Minecraft Plugins! If you haven't completed the "exam" yet, remember that it is due tomorrow at 11:30pm. As we stated in our previous announcements, we are unable to grant extensions on the exam for any reason as the TAs need to grade it before they go home....(continued here)
Due Next
Office Hours Status
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, and we have a message board called Ed where you can ask questions asynchronously.
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
Reading Test Output – guide to reading the output of our tests
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, Sep 30 |
Computation and Algorithms in 2024
[ pdf
]
Variables, Types, Calling a Function, Introduction to CS 1. Administrivia. Our first program! |
L01 | Wed, Oct 02 |
Introduction to Lists, Iteration, and Selection
list s, for Loops, if statements
Lists. for Loops. Basic if Statements.
|
R01 | Fri, Oct 04 |
Recitation 01 [ pitfalls, cheatsheet, problems ]
Strings. Conditionals. for loops.
|
L02 | Fri, Oct 04 |
Functions and Returns
Defining Functions Writing our own functions. Tips, tricks, and pitfalls. |
L03 | Mon, Oct 07 |
Reading Documentation, Type Annotations, and More!
none. How should you go about reading the project guides? What is a type really? |
DUE | Mon, Oct 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.
|
DUE | Tue, Oct 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, Oct 09 |
Indefinite Loops
while Loops
while loops. More common loop patterns. |
DUE | Wed, Oct 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.
|
R02 | Fri, Oct 11 |
Recitation 02 [ pitfalls, cheatsheet, problems ]
Functions. Cumulative algorithms.
|
L05 | Fri, Oct 11 |
Doing It Again (and Loops and Lists)
More list s, tuple s
More complicated loop and list patterns. |
DUE | Fri, Oct 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, Oct 14 |
Case Study: Wordle
list operations
An example program that synthesizes all that we’ve done so far! |
DUE | Mon, Oct 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 | Tue, Oct 15 11:30 pm |
project02
(battleship, part 2)
[ guide ]
This project covers more fundamental programming concepts including functional decomposition and computational thinking.
|
L07 | Wed, Oct 16 |
Working with Hardware
Dictionaries Introducing the Trinkey which is a piece of hardware we will be working with in project03! |
DUE | Wed, Oct 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.
|
R03 | Fri, Oct 18 |
Recitation 03 [ pitfalls, cheatsheet, problems ]
VPython, Dictionaries, and Loop Applications.
|
L08 | Fri, Oct 18 |
Storing Mappings (Dictionaries)
Dictionaries |
DUE | Fri, Oct 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, Oct 21 |
Exceptions
Exceptions |
DUE | Tue, Oct 22 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.
|
DUE | Tue, Oct 22 11:30 pm |
project03
(morse code)
[ guide ]
This project covers indefinite loops, dictionaries, and advanced string manipulation.
|
L10 | Wed, Oct 23 |
vpython and using objects
TBD |
DUE | Wed, Oct 23 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.
|
R04 | Fri, Oct 25 |
Recitation 04
|
L11 | Fri, Oct 25 |
Mysteries and Tests!
TBD |
L12 | Mon, Oct 28 |
Cancelled due to Prof. Blank Illness
TBD |
DUE | Mon, Oct 28 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.
|
DUE | Tue, Oct 29 11:30 pm |
project04
(newton's cradle)
[ guide ]
This project covers dictionaries and using objects.
|
L13 | Wed, Oct 30 |
Midterm Review
TBD |
DUE | Wed, Oct 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.
|
DUE | Wed, Oct 30 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.
|
R05 | Fri, Nov 01 |
Recitation 05
|
L14 | Fri, Nov 01 |
Recursion
TBD |
DUE | Fri, Nov 01 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.
|
L15 | Mon, Nov 04 |
Enrichment Lecture 1
TBD |
L16 | Wed, Nov 06 |
Enrichment Lecture 2
TBD |
DUE | Wed, Nov 06 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.
|
R06 | Fri, Nov 08 |
Recitation 06
|
L17 | Fri, Nov 08 |
Enrichment Lecture 3
TBD |
DUE | Fri, Nov 08 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.
|
DUE | Fri, Nov 08 11:30 pm |
midterm
(midterm exam)
[ guide ]
Happy coding!
|
L18 | Wed, Nov 13 |
...why Java? why NOW?
TBD |
R07 | Fri, Nov 15 |
Recitation 07
|
L19 | Fri, Nov 15 |
Structuring Code
TBD |
L20 | Mon, Nov 18 |
Objects and Classes
TBD |
DUE | Mon, Nov 18 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.
|
L21 | Wed, Nov 20 |
Constructors and Instances
TBD |
DUE | Wed, Nov 20 11:30 pm |
Diagnostic 16a
(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.
|
R08 | Fri, Nov 22 |
Recitation 08
|
DUE | Fri, Nov 22 12:00 am |
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.
|
L22 | Fri, Nov 22 |
Choosing and Using Fields
TBD |
DUE | Mon, Nov 25 12:00 am |
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.
|
L23 | Mon, Nov 25 | |
DUE | Mon, Nov 25 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.
|
DUE | Tue, Nov 26 11:30 pm |
project05
(equation balancer and solver)
[ guide ]
This project covers using custom types and linear algebra operations in Python.
|
DUE | Wed, Nov 27 11:30 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.
|
R09 | Fri, Nov 29 |
Recitation 09
|
L24 | Mon, Dec 02 | |
DUE | Mon, Dec 02 11:30 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.
|
L25 | Wed, Dec 04 | |
R10 | Fri, Dec 06 |
Recitation 10
|
L26 | Fri, Dec 06 | |
DUE | Sun, Dec 08 11:30 pm |
project06
(Critters and LLMs)
[ guide ]
It's here!
|
DUE | Wed, Dec 11 11:30 pm |
final
(secret)
[ guide ]
The FINAL goal of CS 1 (24fa)...more turtles in the pond!
|