Keith J. O'Hara

teaching

CMSC 143

Object-Oriented Programming with Robots (S2012)

overview | logistics | schedule | announcements | assignments | labs | resources

Tentative Schedule (changes frequently)

week date topics concepts introduced readings work assigned
1 1/30/2012 course introduction syllabus
2/1/2012 computation What is Computation? by Ian Horswill
2/3/2012 personal robots statements; comments; functions LCwR Ch. 1 & Ch. 2 lab 1
2 2/6/2012 robot brains functions; repetition LCwR Ch. 3 Sing and Dance Assignment
2/8/2012 expressions; variables; types; objects TP Ch. 2 & TP Ch. 3
2/10/2012 making music LCwR Ch. 8 on Sound (pp 169-) lab 2
3 2/13/2012 making decisions conditionals TP Ch. 5.1-5.7 & LCwR Ch. 5 Performance Assignment
2/15/2012 loops; recursion TP Ch. 5.8- & TP Ch. 6
2/17/2012 robot behavior TP ch. 7 & LCwR Ch. 6 lab 3
4 2/20/2012 iteration for; while; nested loops TP ch. 7
2/22/2012 interpreters strings; sequences TP ch. 8
2/24/2012 teleoperation user interface lab 4
5 2/27/2012 collecting and analyzing data lists TP ch.10
2/29/2012 team performance
3/2/2012 MIDTERM
6 3/5/2012 robot brains higher-order functions; map/reduce LCwR Ch. 7; "Introduction to Functional Programming"
3/7/2012 sharing data storage hierarchy; file IO; exceptions TP Ch. 14
3/9/2012 robot www HTML Tutorial lab 5
7 3/12/2012 graphics objects; methods LCwR Ch. 8
3/14/2012
3/16/2012 scribbler control panel lab 6
8 3/19/2012 images pixels; nested loops LCwR Ch. 9 SFX Assignment
3/21/2012 image processing What Robots See and watch The Great Robot Race -- Chapter 1: A Hard Problem
3/23/2012 photobooth lab 7
9 3/26/2012 movies Movie Assignment
3/28/2012 anaglyph images
3/30/2012 motion detection background subtraction lab 8
10 4/2/2012 SPRING BREAK
4/4/2012
4/6/2012
11 4/9/2012 turtle graphics classes TP Ch. 15
4/11/2012 games
4/13/2012
12 4/16/2012 movie screening Final Assignment
4/18/2012 simulation inheritance TP Ch. 18
4/20/2012 predator-prey simulation lab 9
13 4/23/2012 new datatypes operator overloading TP Ch. 17
4/25/2012 image arithmetic
4/27/2012 lab 10
14 4/30/2012 ADVISING DAY
5/2/2012 randomness dictionaries
5/4/2012 postfix python interpreters lab 11
15 5/7/2012
5/9/2012 evaluating algorithms binary search
5/11/2012 cryptograms lab 12
16 5/14/2012
5/16/2012 final project presentations
5/18/2012
17 5/21/2012 FINAL