Each week, there will be an paper quiz on the lecture notes, reading, submitted programs, and laboratory 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:|
|#0||Thursday, 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|
|#1||Thursday, 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)|
|#2||Thursday, 19 September||Strings and loops: this quiz asks questions that are variations on Programs 1-7.||Explain how a loop works (Programs 4-6)|
|#3||Thursday, 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)|
|#4||Thursday, 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)|
|#5||Thursday, 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)|
|#6||Thursday, 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)|
|#7||Thursday, 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)|
|#8||Thursday, 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)|
|#9||Thursday, 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)|
|#10||Thursday, 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)|
|#11||Wednesday, 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)|
|#12||Thursday, 5 December||Simple C++ Programs: For sample questions, see Question #9 on old finals.||C++ (Programs 53-60)|
|#13||Thursday, 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|