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 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.

Calendar

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

Quiz: Deadline: Quiz Topics: Code Review Topics:
#1Wednesday, February 8 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!) due 2/21
#2Tuesday, February 21 Turtles and Loops: Focuses on the turtle and for-loops covered in notes from Lecture 1 and Lab 1. Still Code Review 1:due 2/21
#3Monday, February 27 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) due 2/27
#4Monday, March 6 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. 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 11,12,13,14) due 3/6
#5Monday, March 13 Decisions and Unix:This quiz has questions about if statements and Unix commands from Lab 4 and the notes from Lecture 4.
Code Review 4: Explain how to use split method to break a string by a a list of words (Program 15, 16)
Explain how to generate images using numpy (Programs 17, 18) due 3/13
#6Monday, March 20 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 absolute path. See Question #3 on old finals for examples. Code Review 5: Explain if-statements (Programs 19,20,24) due 3/20
#7Monday, March 27 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 6: Demonstrate programs using pandas dataframe. (Programs 27, 28, 31, 32) due 3/27
#8Monday, April 3 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. Code Review 7: Functions (Programs 33,36,38,39) due 4/3
#9Monday, April 17 Function tracing and Pandas: Focuses on concepts from Lecture 8 and Lab 8. Code Review 8: Functions (Programs 37,40,44) due 4/17
#10Monday, April 24 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. Code Review 9: Map (Programs 41,42,43) due 4/24
#11Monday, May 1 Indefinite Loops & Simulations: See the notes from Lectures 9 & 10 and Lab 10 for examples of indefinite loops and the random library. Code Review 10: Map (Programs 45,46,47,48) (Program 45 is for fixing errors, not good for code review, so I take it off. Sorry for the misunderstanding.)due 5/1
#12Monday, May 8 MIPS & Shell Commands: Focuses on concepts from Lecture 11 and Lab 11. For sample MIPS questions, see Question #8 on old finals. Code Review 11: MIPS (Programs 50,51) due 5/8
#13Monday, May 15 Simple C++ Programs: Focuses on concepts from Lecture 12 and Lab 12. For sample C++ questions, see Question #9 on old finals. Code Review 12: C++ (Programs 55, 58, 60) due 5/15