This is an introductory programming course, taught in Java. Actually, Scheme is taught first, then Java. Scheme makes it much easier to write programs: even fairly complicated ones can be done very quickly (e.g. how many ways are there to make change for $n, given 10-cent, 20-cent, 50-cent coins?). After a month or so, we switch to Java, where we learn data abstraction and the object-oriented paradigm.
We were able to program some Lego robots for our final lab. The task was to program the robot with a pen attached to write words on the floor. The Lego robots were the Lego Mindstorm kit, together with Lejos, a tiny Java virtual machine that runs on the Lego RCX cpu. Seven (7) teams built the robots, and here are the videos: (These are mpeg4, so you will need QuickTime to view them.)
Another introductory programming course, but taught entirely in Scheme, and using the (in)famous SICP textbook from MIT. 16 years after taking it myself, I finally have the pleasure of teaching it! Of course, I could not resist including a Lego programming assignment. Thanks to my hardworking lab-coordinator, Razvan Voicu, it was not too big of a problem to devise a simple Robot Language in Scheme, and to provide a compiler for it. To cap it off, we held a robot-drawing contest. Here are the videos:
Here's the latest robot videos from this semester. These movies are in DAT format (i.e. like in VCD). Microsoft Media Player will be able to view it.
This is a senior undergraduate course that introduces the basic concepts in Computer Vision and Pattern Recognition. Unlike traditional vision courses, we emphasize practical topics that will allow the student to quickly embark on interesting projects, such as image mosaicking, object recognition, tracking.
This is a graduate-level course that teaches the basic skills to create movie special effects: image compositing, match move, scene re-lighting and re-rendering etc. Students demonstrate what they have learned by creating a special effects movie, and documenting its production.
Last updated November 2006.