Schedule
A week in this course runs Wednesday through the following Monday, across the weekend:
| Wed (class) | Mon (class) | Tue (no class) | |
|---|---|---|---|
| Assignment | may go out | due | |
| Reading | due before class | ||
| Quiz | at the start, 2 attempts | ||
| Presentation | of the assignment due the day before |
Why the week is arranged this way is on How the week works.
Week 5 (9/23—9/29): Java in a file; names, equality and what a variable holds
- Assignment: A4 out Wednesday 09/23, due Tuesday 09/29.
- Presentation: None
- Quiz: Quiz 3, Sep 28, 2026 — Both attempts in class — one at the start, one near the end.
- Reading (before Sep 28, 2026): [CU] 3.1 — Strings, [DCIC] 12.2 — Understanding Equality
Wed 09/23 — Monday’s program moves from a browser tab into a file in IntelliJ IDEA, with Check.is where where: was. A4 opens with a short setup survey: which Java you have, and where you run it.
Mon 09/28 — what a name holds in Java. == and .equals, and why two equal strings can be two different things.
Week 4 (9/16—9/22): State in Pyret, Progress Exam, transition to Java
- Assignment: None
- Presentation: A3 on Wednesday 09/16, two students.
- Exam: Progress Exam 1 — Pyret, Sep 21, 2026 — First half of class. Open book, open notes, no AI. Pyret, not Java.
- Quiz: None
Each class this week is two halves.
- Wed 09/16 — a test drive of the exam, then
var,:=andfor each: loops and state in Pyret. - Mon 09/21 — Progress Exam 1, then the first Java class: the same ideas in a second language.
No new reading. Wednesday’s material is taught from the board, and the textbook covers variables in its Python half rather than its Pyret one. Revision is the work instead, and the exam page says how to do it.
Week 3 (9/9—9/15): Lists, map and filter, recursion
- Assignment: A3 out Wednesday 09/09, due Tuesday 09/15.
- Presentation: A2 on Wednesday 09/09, two students.
- Quiz: Quiz 2, Sep 14, 2026 — Both attempts in class — one at the start, one near the end.
- Reading (before Sep 14, 2026): [DCIC] 5.1 — From Tables to Lists, [DCIC] 5.2 — Processing Lists
A3 comes in three parts that open on different days. Part A needs only Wednesday’s class, so it can be finished Wednesday evening. Part B needs Monday’s, and starting it early makes it look impossible when it is not. Part C uses A2’s if and and/or and is open from Wednesday.
[DCIC] 5.2 — Processing Lists is the half taught on Monday, so reading it over the weekend puts you ahead of the class that covers it.
Week 2 (9/2): Conditionals and booleans
A one-class week. Monday 09/07 is Labor Day, so this week is Wednesday only and the next class is Wednesday 09/09. Under the one-class rule, the reading goes out with the class it opens and is due before the next one.
- Assignment: A2 out Wednesday 09/02, due Tuesday 09/08.
- Presentation: A1 on Wednesday 09/02, two students.
- Quiz: None
- Reading (before Sep 9, 2026): [DCIC] 3.4 — Conditionals and Booleans
The reading goes out with this class rather than before it, so you are not expected to have read it beforehand — we start conditionals together on Wed 09/02, and [DCIC] 3.4 — Conditionals and Booleans is there to consolidate it afterwards.
There is no class between 09/02 and 09/09, so A2 has a full week. Conditionals are the last piece you need before we start writing programs that make decisions, which is most of what comes next — this is not a section to skip.
Week 1 (8/26—9/1): Values, expressions, names, functions
- Assignment: A1 out Wednesday 08/26, due Tuesday 09/01.
- Quiz: Quiz 1, Aug 31, 2026 — At the start of class.
- Reading (before Aug 31, 2026): [DCIC] 3.1 — Getting Started, [DCIC] 3.2 — Naming Values, [DCIC] 3.3 — From Repeated Expressions to Functions
Week 0 (8/24): Intro, Pyret, values, expressions
- Assignment: None
- Reading: Syllabus