Each week, there will be a paper quiz on the lecture notes, reading, submitted programs, and online lab exercises.
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.
Quiz: | Deadline: | Quiz Topics: | Code Review Topics: |
---|---|---|---|
#1 | Thursday, September 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 9/15 |
#2 | Thursday, September 15 | Turtles and Loops: Focuses on the turtle and for-loops covered in notes from Lecture 1 and Lab 1. | Still Code Review 1:due 9/15 |
#3 | Thursday, September 22 | 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 9/22 |
#4 | Monday, October 3 | 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 10/3 |
#5 | Thursday, October 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 10/13 |
#6 | Thursday, October 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 10/20 (updated from previous typo) |
#7 | Thursday, October 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 10/27 |
#8 | Thursday, November 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 11/3 |
#9 | Thursday, November 10 | Function tracing and Pandas: Focuses on concepts from Lecture 8 and Lab 8. | Code Review 8: Functions (Programs 37,40,44) due 11/10 |
#10 | Thursday, November 17 | 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 11/17 |
#11 | Monday, November 28 | 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 |
#12 | Monday, December 5 | 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 12/5 |
#13 | Monday, December 12 | 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 12/12 |