Seminar course with approximately 20 students, mostly graduate students. Belhumeur is very chill and makes it clear that this class is all about producing a mobile app to be presented at the end of the semester. He proposed a couple of ideas related to his own research (extending the BirdSnap iPhone app developed in his own lab, or another app related to to identifying birds by their calls). Most students (usually working in pairs or groups of 3), came up with their own ideas, involving some elements of CV or ML topics in their app. For the first half of the semester, each class period was split half and half in terms of CV/ML lecture from Prof. Belhumeur, followed by a guided tutorial to iOS app development led by the TA, Michael Yang (who was excellent). About halfway through the semester, we moved away from this format, and basically started demoing the progress that each group had made. Overall a fun and low-stress class, where you have a ton of freedom to be creative and explore new CV/ML methodologies. Some mobile dev knowledge is preferred (you can do either iOS or Android, doesn't matter), but most of the class was pretty new to mobile development and learned things as they went. In the end, most of the actual work happens server side, so your mobile app's frontend will likely be fairly rudimentary.
Biometrics boils down to 1) [Image Processing] feature extraction that gathers information (face shape) from raw data such as images (male/female jpgs) and 2) [Machine Learning] An algorithm that takes info from 1) and classifies the raw data (im1.jpg = male etc.) I'm not going to recommend this course for the following reasons: 1) The meat of the theory can be described in the rest of the review text to a cs junior. I do not believe a 3 credit course with all those lecture hours should be this shallow. 2) This course doesn't teach you any engineering skills. There is no critique on programming style and you're expected to learn MATLAB (3 hrs) on your own. The code that you write, including the final project, are toy programs averaging 80 lines of code. The algorithm itself is only 10-20 lines of API calls, the rest is I/O. 3) No theory behind Image processing is covered, basic API calls are provided in the skeleton code for the assignment. PCA and Fisher analysis is discussed but this is 3 lectures at most. 4) DO NOT take this course for Machine Learning. Bayes' theorem (which bag did the red ball come from?) and a baby algorithm (intimidatingly called "K-nearest-neighbors) are all the tools you learn. SVMs are discussed for culture.
Prof. Belhumeur is totally chill, but definitely here to do research and not to teach. He came to Columbia from Yale a couple of years ago, and yet he still doesn't know how the credit system here works. He's invariably 5 to 10 minutes late, and he has missed 3 or 4 classes. He did a few useful grounding lectures in the beginning, and then mostly took a back-seat role, letting students present and commenting occasionally. He is very nice and approachable, but only when you can get hold of him--as big shot like Nayar, he is often away on conferences and things. Overall a nice person and okay teacher for the self-motivated.
I got in the habit of showing up 10-20 minutes late for every class and was hardly ever late. Additionally, it was not uncommon for class to get out rather early. While Professor Belhumeur is occasionally remarkable in his nonchalance, he is one of the friendliest CS professors I've had and actually does, somehow, manage to get through all the material in a concise manner. He does put effort into insuring that students understand the material and getting student feedback about homework difficulty and other concerns.
He is awesome. Great guy. Actually talks to the class and engages us in conversation. Midterm was easy and he posts sample solutions for problems very similar to the homework problems. You'll want to take any class with this guy.
Professor Belhumeur is a really nice guy, but unfortunately it seems like he doesn't put much preparation into his classes. His lectures are straight from the book, which doesn't help since the book examples are over-simplified. It seems like he doesn't really look over the class material all that much... he just teaches from his notes. I bet he would take a long time to solve those homework problems, because only the TA's see/grade them and he directs all homework related questions to the TA's. Not surprised though, since Digital Logic is no where near his field of expertise. All that aside, he still makes sure that students in the class understand the material, and he listens to student's demands (homeworks too long, etc.) He'll even make the TA's do more work (post practice problems) if the students demand it. He's approachable, and buys drinks for students during exams! Oh, one more thing... Belhumeur is about as punctual as a college student... don't be surprised if he walks in 10-15 minutes late and doesn't start class for another 10 minutes after that. It's fun betting on when class actually DOES start...