CS 112 Schedule - Spring 2014
1 Schedule
| Week | week of… | Projects | Lecture Topics | Lab Topic | Readings (pre-lecture) |
|---|---|---|---|---|---|
| 1 | W 1/22 | ||||
| course intro | (no lab this partial week) | Using the Zeus Cluster | |||
| 2 | M 1/27 | ||||
| numbers, expressions | TEXT (0.1-0.7): basic intro to CS | ||||
| strings, printing | |||||
| types | |||||
| basic algorithms, pseudocode | LIB (4.4): numeric types | ||||
| variables, identifiers, keywords | TEXT (1.1-1.4): interactive session, parts of a program | ||||
| assignment, statements vs expressions | LANG (1.2): notation (BNF) | ||||
| getting user input | LANG (2.1.3 comments, 2.1.8 indentation, 2.3-2.3.1 identifiers and keywords, 2.5 operators) | ||||
| testing via print statements | |||||
| LIB (2 built-in functions) | |||||
| basic functions/returns (for projects) | |||||
| basics - setting up tools | |||||
| 3 | M 2/3 | ||||
| quiz 1 - basics | |||||
| expressions, booleans | |||||
| comments, code hygiene | TEXT (Ch.1 "beginnings", Ch.3 "Algorithms and Program Development") | ||||
| errors | |||||
| booleans, boolean operations | LANG (6.9-6.10) comparisons, boolean operations | ||||
| P1 due | |||||
| 4 | M 2/10 | ||||
| quiz 2 - booleans | |||||
| selection stmts | |||||
| selection statements | LANG (8.1) if statements | ||||
| LIB (4.1-4.3) truth-value testing, boolean operations, comparisons | |||||
| TEXT (Ch.2 "Control") | |||||
| looping statements: while, for | LANG (8.2-8.3) while, for statements | ||||
| (p2 tests due) | |||||
| 5 | M 2/17 | ||||
| quiz 3 - selection stmts | |||||
| control flow | |||||
| more control flow practice | |||||
| lists, tuples | LIB (4.6-4.6.1) string sequence type, common sequence operations | ||||
| string operations | TEXT (Ch.4, "Working with Strings") | ||||
| LIB (27.3-27.4) python debugger and commands | |||||
| testing via print statements | LIB (4.6.3) mutable sequence operations | ||||
| TEXT (Ch.7, "Lists and Tuples") | |||||
| P2 due | |||||
| 6 | M 2/24 | ||||
| quiz 4 - loops | |||||
| sequences | |||||
| more on sequences | |||||
| review | |||||
| >>> WEDNESDAY: TEST 1 <<< | |||||
| (p3 tests due) | |||||
| 7 | M 3/3 | ||||
| quiz 5 - sequences | |||||
| functions | |||||
| test recap | |||||
| functions intro | TEXT (Ch.8.1-8.2, "Functions and Scope") | ||||
| parameters, return values | TEXT (Ch. 6, "Functions - QuickStart") | ||||
| P3 due | |||||
| – | M 3/10 | –—— | SPRING BREAK | –—— | –—— |
| 8 | M 3/17 | ||||
| (no quiz) | |||||
| functions, sets, dicts | |||||
| scope, mutability across func. calls | |||||
| modules | |||||
| sets, dictionaries | LIB (4.9-4.10) sets, mapping types | ||||
| TEXT (Ch.9 "Dictionaries and Sets") | |||||
| (p4 tests due) | |||||
| 9 | M 3/24 | ||||
| quiz - functions | |||||
| exceptions | |||||
| finish sets/dictionaries | |||||
| brief intro to exceptions | LANG (4.2 Exceptions, 7.8 raise statement) | ||||
| file input/output | TEXT (CH.5 "Files and Exceptions I", 14.1-14.2 "More Details on Files" and "CSV Files") | ||||
| P4 due | |||||
| 10 | M 3/31 | ||||
| quiz - sets/dicts | |||||
| review for test 2 | |||||
| review for test 2 | |||||
| object oriented programming (OO) | TEXT (Ch. 11.1-11.2 OO Programming, 11.7 "Python and OOP") | ||||
| TEXT (Ch. 11.3-11.6, classes and objects in Python) | |||||
| >>> WEDNESDAY: TEST 2 <<< | |||||
| (p5 tests due) | |||||
| 11 | M 4/7 | ||||
| (no quiz) | |||||
| classes | |||||
| recap test 2 | |||||
| classes/objects: creation, usage | |||||
| P5 due | |||||
| 12 | M 4/14 | ||||
| quiz - classes | |||||
| classes | |||||
| finish up OO | |||||
| exceptions | LANG (4.2 Exceptions, 7.8 raise statement) | ||||
| 13 | M 4/21 | ||||
| (no quiz) | |||||
| exceptions | |||||
| exceptions | |||||
| extra topics (vary by section) | |||||
| (p6 tests due) | |||||
| 14 | M 4/28 | ||||
| quiz - exceptions | |||||
| ??? | |||||
| extra topics | |||||
| P6 due | |||||
| 15 | M 5/5 | ||||
| extra topics | review/course evals | ||||
| Review for Final Exam |
2 Projects:
- P1: get used to marmoset and tools
- P2: expressions, seletion statements, functions/returns, manual typechecks.
- P3: loops
- P4: more loops… not much different than P3, should they be combined/ one dropped? A simpler P3 would be one option
- P5: dictionaries, file IO
- P6: classes (TBD)