Each week, there will be an paper quiz on the lecture notes, reading, submitted programs, and laboratory exercises.

Code Review

There will also be weekly walk-throughs ("code reviews") where you explain one of the programs you wrote to a teaching assistant. Code reviews are integral to software design and development: explaining your coding decisions and convincing another it works correctly leads to improvements in the design and lessens unexpected behaviors and errors.


The quizzes and code reviews focus on the topics below and often include one or two review questions.

Quiz: Deadline: Quiz Topics: Code Review Topics:
#0Thursday, 5 September Academic Integrity Policy (certify that you have read and understood it) and a short survey (reasons for taking course, etc.). No code review this week
#1Thursday, 12 September Turtles and Loops: Focuses on the turtle and for-loops covered in notes from Lecture 1 and Lab 1. Explain variations on a turtle program (Programs 2-4)
#2Thursday, 19 September Strings and loops: this quiz asks questions that are variations on Programs 1-7. Explain how a loop works (Programs 4-6)
#3Thursday, 26 September Character Coding and Unix: The character coding focuses on the ord() and char() functions introduced in Lab 2.
The Unix topics are from the end of Lab 2 and Lab 3. For the style of question, see Question #1b of previous final exams. Those questions contain additional Unix commands (covered in later labs); this quiz will only have those we have covered thus far: ls, ls -l, pwd, cd, mkdir, cp, and mv.
Explain how characters are stored (e.g. chr() and ord()), string methods, and looping through strings (Programs 7-11)
#4Thursday, 10 October Loops and Color: The focus on loops for this quiz is using range() and more on looping through strings (Programs 8-11 and notes from Lectures 2 and 3). This quiz also asks about the various ways to represent color (e.g. by name, by percentage, and by hexcode). See the short answer parts of Question #2 of previous final exams for examples for the colors. Explain RGB-color channels used for turtles and images (Programs 12-15)
#5Thursday, 17 October Decisions: This quiz has questions about if statements. a good way to study is to review the examples from Lab 4 and the notes from Lecture 4. Demonstrate programs that have Input-Process-Output (IPO) design pattern, arithmethic, and loops (Programs 16-20)
#6Thursday, 24 October Truth tables, logical expressions and circuits: See Question #3 on old finals for examples. Explain if-statements, logical expressions, and circuits (Programs 22-25)
#7Thursday, 31 October Unix and Pandas: The Unix part covers through Lab 5: relative and absolute paths and ls, ls -l, pwd, cd, mkdir, cp, and mv. See the examples from Lecture 6 and Lab 6 to study for the Pandas questions. Explain accessing structured data via the pandas package (Programs 26-27,31-32)
#8Thursday, 7 November Functions & More Pandas: For function questions, see Question #4 (tracing function calls) and Question #7 (writing functions) on old finals. See the examples from Lecture 6 and Lab 6 to study for the Pandas questions (more problems available on old finals: at least one of #6,7, or 8 on each exam). More Pandas & Logical Expressions (Programs 30,34-37)
#9Thursday, 14 November Folium & Top-down Design: The top-down design question comes from the example covered in Lab 8 as well as Question #5 (design) on old finals. For the Folium question, see Lab 9 and the notes from Lecture 9. Functions & More Pandas (Programs 33,38-41)
#10Thursday, 21 November Indefinite Loops & Simulations: See the notes from Lectures 9 & 10 and Lab 10 for examples of indefinite loops and the random library. While Loops & More Functions (Programs 42-45, 47-48)
#11Wednesday, 27 November Simplified Machine Language & More Unix: For sample questions, see Question #1b (Unix) and #8 (simplified machine language) on old finals. Unix & Machine Language (Programs 28, 49-52)
#12Thursday, 5 December Simple C++ Programs: For sample questions, see Question #9 on old finals. C++ (Programs 53-60)
#13Thursday, 12 December End-of-semester survey: a quick survey of what you liked about the course and your future plans (full credit given for filling out the survey). No code review this week