Quizzes

Each week, there will be a paper quiz on the lecture notes, reading, submitted programs, and online lab exercises.

Code Review

There will also be fortnightly 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.

Calendar

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

Quiz: Deadline: Quiz Topics: Code Review Topics:
#1Monday, 7 February Academic Integrity Policy (certify that you have read and understood it) and introductory survey. Code Review 1: Code Review Demo (come find out how to do it!)
#2Friday, 18 February Turtles and Loops: Focuses on the turtle and for-loops covered in notes from Lecture 1 and Lab 1. Still Code Review 1, due 18 February
#3Monday, 28 February Strings, Loops and Unix: Focuses on concepts covered in Lab 2 such as string, input and range functions, as well as the Unix commands introduced there. Code Review 2: Explain variations on a turtle program (Programs 2-5)
Strings and loops (Programs 6,8,9,13)
#4Monday, 7 March Indexing, Slicing, Colors & Unix: Focuses on concepts covered in Lecture3 and Lab 3, such as the use of colors with turtles, hexadecimal number representation, indexing and slicing, numpy arrays and images as well as the Unix commands introduced there. Still Code Review 2, due 7 March
#5Monday, 14 March Decisions and Unix:This quiz has questions about if statements and Unix commands from Lab 4 and the notes from Lecture 4.
Code Review 3: Explain how characters are stored (e.g. chr() and ord()), string methods, and looping through strings (Program 10)
Explain RGB-color channels used for turtles and images with numpy (Programs 18,20,21,22)
#6Monday, 21 March Logical expressions, circuits & Unix: Focuses on concepts covered in Lecture5 and Lab 5, such as Logical expressions and circuits and the translation between them, as well as Unix commands for relative and absolute path. See Question #3 on old finals for examples. Still Code Review 3, due 21 March
#7Monday, 28 March Pandas & Unix: Focuses on concepts from Lecture 6 and Lab 6 (for Pandas, more problems available on old finals: at least one of #6 and #7 on each exam) Code Review 4: Explain if-statements (Programs 21,25,35)
Demonstrate programs using pandas dataframe. (Programs 27,28,31)
#8Monday, 4 April Function parameters and tracing functions,SeeQuestion #4 (tracing function calls) on old finals. Fill in the program: see Question #7 (write complete program following comments) on old finals. Still Code Review 4, due 4 April
#9Monday, 11 April Function tracing and Pandas: Focuses on concepts from Lecture 8 and Lab 8. Code Review 5: Functions & More Pandas (Programs 36,39)
Functions (Programs 38,40,41)
#10Monday, 25 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. Still Code Review 5, due 25 April
#11Monday, 2 May Indefinite Loops & Simulations: See the notes from Lectures 9 & 10 and Lab 10 for examples of indefinite loops and the random library. Code Review 6: Folium (Programs 42,43,45)
While loops (Programs 47, 48)
#12Monday, 9 May MIPS & Shell Commands: Focuses on concepts from Lecture 11 and Lab 11. For sample MIPS questions, see Question #8 on old finals. Still Code Review 6, due 9 May
#13Monday, 16 May Simple C++ Programs: Focuses on concepts from Lecture 12 and Lab 12. For sample C++ questions, see Question #9 on old finals. No Code Review