Introduction to Computer Programming I
26su ver.
Note: this is for the Summer 2026 iteration of CSE 121. Looking for a different quarter? Please visit https://courses.cs.washington.edu/courses/cse121/.
Welcome to CSE 121: Introduction to Computer Programming I 🎉
What is this class? What will I learn?
Computing continues to play an ever-increasing role in today’s society. Having an understanding of computing is an essential skill for those in the 21st century; from working in industries more reliant on technology, using computational methods to further scientific understanding, or being an informed citizen in a world with technology all around us.
This course is a first course in computer programming focused on the basics of procedural programming in Java. It assumes students have not taken a previous programming course and do not have substantial other programming experience.
Students with previous experience are encouraged to consider CSE 122 or see the Allen School’s page on introductory courses.
This Week (at a glance)¶
Monday (06/22)
- Nothing!
Tuesday (06/23)
- Nothing!
Wednesday (06/24)
- Lesson 0: Welcome, Printing
A lecture @ 12:00pm in SIG 134- No Pre-Class Work for today!
Thursday (06/25)
- Section 0: Welcome, Printing
Friday (06/26)
- Pre-Class Material 0 (Complete before class.)
- Lesson 1: Printing, Strings, Variables, Datatypes, Expressions
A lecture @ 12:00pm in SIG 134 - C0 - Hello Bugs released. Due Wednesday (07/01) @ 11:59pm PT.
Calendar¶
Pre-Class
Anything listed in the “pre-class” materials (PCMs) for a day should be read before attending class that day. The PCMs are a first introduction to the most important terms and concepts for that day of class. It is okay if the PCMs don’t make complete sense as we have the rest of the class day to clarify the concepts, but if you don’t do the PCMs, the class session won’t make any sense.
| Date | Topic | Assignment | Resubmissions | |
|---|---|---|---|---|
| Week 0 | ||||
| Tue 06/23 | No section | |||
| Wed 06/24 | LES 00 Welcome, Printing Note: Normally you would complete the Pre-class Work before class. There is nothing you need to complete before class today! | |||
| Thu 06/25 | SEC 00 Welcome, Printing | |||
| Fri 06/26 | LES 01 Printing, Strings, Variables, Datatypes, Expressions | |||
| Released C0 Hello Bugs | ||||
| Week 1 | ||||
| Tue 06/30 | SEC 01 Printing, Strings, Variables | |||
| Wed 07/01 | LES 02 String Methods, char, More Variables | |||
| Released P0 Cornbear's Café | ||||
| Thu 07/02 | SEC 02 Datatypes, Expressions | |||
| Fri 07/03 | HOLIDAY No lecture | |||
| Week 2 | ||||
| Tue 07/07 | SEC 03 String Methods, char, More Variables | |||
| Wed 07/08 | LES 04 for Loops, Fencepost Loops | |||
| Released C1 ASCII Art | ||||
| Thu 07/09 | SEC 04 for Loops, Fencepost Loops | |||
| Released R0 Resub 0 | ||||
| Fri 07/10 | LES 05 Nested for Loops, Random, Math | |||
| Week 3 | ||||
| Tue 07/14 | SEC 05 Nested for Loops, Random, Math | |||
| Wed 07/15 | LES 06 Cumulative Sum, Scope, Class Constants | |||
| Released P1 Election Simulator | ||||
| Thu 07/16 | QUIZ 00 Quiz 0: Printing, Datatypes, Expressions, Variables, Strings, for Loops | |||
| Released R1 Resub 1 | ||||
| Fri 07/17 | LES 07 Methods, Parameters | |||
| Week 4 | ||||
| Tue 07/21 | SEC 07 Methods, Parameters | |||
| Wed 07/22 | LES 08 More Methods & Parameters, Returns | |||
| Released C2 Password Protector | ||||
| Thu 07/23 | SEC 08 Methods, Parameters, Returns | |||
| Released R2 Resub 2 | ||||
| Fri 07/24 | LES 09 Conditionals | |||
| Week 5 | ||||
| Tue 07/28 | SEC 09 Conditionals | |||
| Wed 07/29 | LES 10 while Loops | |||
| Thu 07/30 | QUIZ 01 Quiz 1: Nested for Loops, Random, Methods, Parameters, Returns | |||
| Released R3 Resub 3 | ||||
| Fri 07/31 | LES 11 User Input ( Scanner) | |||
| Released P2 Prioritizing Patients | ||||
| Week 6 | ||||
| Tue 08/04 | SEC 11 while Loops, User Input (Scanner) | |||
| Wed 08/05 | LES 12 Arrays | |||
| Thu 08/06 | SEC 12 Arrays | |||
| Released R4 Resub 4 | ||||
| Fri 08/07 | LES 13 Reference Semantics | |||
| Released C3 Dance Dance Arrayvolution | ||||
| Week 7 | ||||
| Tue 08/11 | SEC 13 Reference Semantics | |||
| Wed 08/12 | LES 14 2D Arrays | |||
| Thu 08/13 | QUIZ 02 Quiz 2: Conditionals, while Loops, User Input (Scanner), Arrays, Reference Semantics | |||
| Released R5 Resub 5 | ||||
| Fri 08/14 | LES 15 Array Patterns + Putting It All Together | |||
| Released P3 2DNArray Sequencing | ||||
| Week 8 | ||||
| Tue 08/18 | SEC 15 2D Arrays | |||
| Wed 08/19 | LES 16 Victory Lap / Final Exam Review | |||
| Thu 08/20 | SEC 16 Final Exam Review | |||
| Released R6 Resub 6 | ||||
| Fri 08/21 | EXAM Final Exam 12:00 - 1:00pm (SIG 134) | |||
| Sat 08/22 | ||||