Keith J. O'Hara

teaching

CMSC 141

Object-Oriented Programming (F2017)

overview | logistics | schedule | announcements | assignments | gallery | resources

Tentative 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