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:
#1Monday, 3 Feburary Academic Integrity Policy (certify that you have read and understood it) and a short survey (reasons for taking course, etc.). Code Review Demo (come find out how to!)
#2Monday, 10 Feburary Turtles and Loops: Focuses on the turtle and for-loops covered in notes from Lecture 1 and Lab 1. Explain "Hello, World!" (Replicate Demo)
#3Tuesday, 18 Feburary Strings and loops: this quiz asks questions that are variations on Programs 1-7. Explain variations on a turtle program (Programs 2-4)
#4Monday, 24 Feburary 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.
Strings and loops (Programs 5-8)
#5Monday, 2 March Loops and Color: The focus on loops for this quiz is looping through strings and using range() 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 how characters are stored (e.g. chr() and ord()), string methods, and looping through strings (Programs 9-11)
#6Monday, 9 March 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. Explain RGB-color channels used for turtles and images (Programs 12-14 and 17)
#7Monday, 16 March Truth tables, logical expressions and circuits: See Question #3 on old finals for examples. CANCELED - Instructional Recess
#8Monday, 6 April 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 (more problems available on old finals: at least one of #6 and #7 on each exam). Explain if-statements, logical expressions, and circuits (Programs 23-26)
#9Monday, 20 April Functions: For sample questions, see Question #4 (tracing function calls) and Question #7 (writing functions) on old finals. Demonstrate programs using pandas dataframe. (Programs 27-28)
#10Monday, 27 April 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. (Programs 33,35,36)
#11Monday, 4 May Indefinite Loops & Simulations: See the notes from Lectures 9 & 10 and Lab 10 for examples of indefinite loops and the random library. (Programs 37-41)
#12Monday, 11 May Simple C++ Programs: For sample questions, see Question #9 on old finals. C++