teaching
CMSC 141
Object-Oriented Programming (F2017)
overview | logistics | schedule | announcements | assignments | gallery | resourcesTentative Schedule (changes frequently)
week | date | topics | readings | labs | |
1 | 9/4/2017 | course introduction | syllabus; "What is CS?" by Newell, Perlis & Simon | ||
9/6/2017 | computation | What is Computation? by Ian Horswill | |||
9/8/2017 | coordinates; shapes; color; calling functions; comments | ch. 1-2 | lab 0 | ||
2 | 9/11/2017 | code blocks; expressions; randomness; event handlers | ch. 3 | ||
9/13/2017 | variables; accumulation; scope | ch. 4; HF 49--53 | |||
9/15/2017 | "Dynamic Pictures" by Victor | lab 1 | |||
3 | 9/18/2017 | branching; if-statements; boolean expressions | ch. 5 | ||
9/20/2017 | physics; state machines; | ||||
9/22/2017 | dynamic pictures II | debugging | lab 2 | ||
4 | 9/25/2017 | iteration; while loops; variable scope | ch. 6 | ||
9/27/2017 | for & do/while loops | ||||
9/29/2017 | multiples | lab 3 | |||
5 | 10/2/2017 | EXAM 1 | |||
10/4/2017 | reuse; defining functions; parameters | ch. 7 | |||
10/6/2017 | functional game | lab 4 | |||
6 | 10/9/2017 | FALL BREAK | |||
10/11/2017 | fruitful functions; design-by-contract | assertions | |||
10/13/2017 | recursion | lab 5 | |||
7 | 10/16/2017 | objects; classes; compound types; attributes; methods | ch. 8; HF 54--58; | ||
10/18/2017 | encapsulation; getters/setters | HF 71--82; 84--87 | |||
10/20/2017 | nature of code | lab 6 | |||
8 | 10/23/2017 | arrays | ch. 9: pgs. 163-175 | ||
10/25/2017 | object arrays; array lists | ch. 9: pgs. 175--184; 508--515; HF 59--69 | |||
10/27/2017 | particle systems | lab 7 | |||
9 | 10/30/2017 | images | ch. 15, pg. 255--261 | ||
11/1/2017 | pixels array; 2D arrays; nested loops | pg. 262-274 | |||
11/3/2017 | software mirror | ch. 16 | lab 8 | ||
10 | 11/6/2017 | image processing | ch. 16 | ||
11/8/2017 | decomposition; debugging | ch. 10-11 | |||
11/9/2017 | AR raindrop game | lab 9 | |||
11 | 11/13/2017 | inheritance; overriding | ch. 22; HF 165--193 | ||
11/15/2017 | interfaces; aliasing; copies | HF 197--234 | |||
11/17/2017 | predator-prey | PROPOSAL DUE | lab 10 | ||
12 | 11/20/2017 | EXAM 2 | |||
11/22/2017 | transformations; 3D | ch. 14 | |||
11/24/2017 | THANKSGIVING | ||||
13 | 11/27/2017 | string processing; file I/O; equals | ch. 17--18 | ||
11/29/2017 | data visualization; exceptions | HF 320--340 | |||
12/1/2017 | frequency counting | lab 11 | |||
14 | 12/4/2017 | java; arraylist; generics | ch. 20; HF 131--137 | ||
12/6/2017 | beyond Processing; GUIs; inner classes; event handling | HF 353--385 | |||
12/8/2017 | PROJECT DAY | ||||
15 | 12/11/2017 | FINAL PROJECTS | |||
12/13/2017 | ADVISING DAY | ||||
12/15/2017 | FINAL PROJECTS | ||||
16 | 12/18/2017 | COMPLETION DAYS | |||
12/20/2017 | |||||
12/22/2017 |