course
Computational Aspects of Robotics

Apr 2021

To keep it short, Dear is a fantastic lecturer, has very clean slides, is very responsive and helpful, and had problem sets/an exam which were very doable in the scope of what was taught. The topics were very interesting, and the material is also applicable beyond just robotics, with use cases in areas like protein folding. The problem sets were due after two weeks, and always covered material from previous lectures, so there was never a lag between what the hw covered and what was taught. The final exam was basically a hw over a 24 hour period, and was worth 25% of the grade. I personally appreciated this--a rough night of sleep before the final won't be the end of the world. Also, from a personal experience, Dear was exceptionally understanding as a professor. Overall, this is a great class I highly recommend to anyone!

Apr 2021

One of the most rewarding courses I've taken at Columbia. If you're interested in Robotics and have some background in linear algebra and probability, you'll learn a lot about robotic algorithms and insight into how they work in the real world. The class covers topics ranging from Bug Algorithms, Localization, path planning, etc. to more details on the kinematics of robot motions, etc. Dear is master class in lecturing and the TAs are very helpful as well. Would highly recommend it!

Dec 2020

She seemed really nice and open to feedback. The course itself is super interesting and a good introduction to machine learning and computer vision concepts. I'm an extremely visual person and there were always a bunch of visuals to go along with the concepts which I appreciated. The course is separated into four main sections: perception, learning-based perception, planning, and learning-based planning. Overall, I would recommend taking it.

Jan 2019

I took the class in Fall 2018. While professor Allen does follow the slides most of the times, he will always give some additional information with it. If you ask him any doubts he is always able to clear those. His course is well organized with pre-determined readings. The labs are interesting if you are a noob to ROS and Robotics, and covered a diverse range of topics. You get to code Path Planning and basic computer vision etc. It is an interesting course for a beginner. He also spends some lectures to get you started with ROS and OpenCV. I enjoyed this course a lot.

Dec 2018

Peter Allen is definitely a smart dude. Half of the robotics material published by Columbia was written by him. However, this dude cannot teach a class because he just doesn't care. He is extremely condescending and sarcastic and treats students as if they are below him. On Piazza, one student asked a simple question regarding the grading of the exam and he responds "Have you even seen your grading yet..I think not!" Class is spent by going over videos of robots, dissections and reading through the slides in class verbatim. It's not too big of a minus since I feel like most of the professors at Columbia do the same, however his slides are unnecessarily long and are packed with irrelevant information. The midterm is easy (avg. ~75-80) as he was obviously too lazy to change the questions from his sample midterm (that he only hands out in class), but the second midterm goes so in-depth in material you once thought was irrelevant the average turned out to be 30 points lower (avg. ~55-60). He also was too lazy to give out a sheet containing answers to the "practice" midterm, which was nothing like the second midterm. In other words, the exams are highly unpredictable so try to memorize every single thing you see on the slides. The homeworks require you to use the ROS software which is actually quite glitchy and can get frustrating at times. There is not a lot of guidance for these homeworks, so good luck hacking your way through it!

Oct 2018

5th year CE major here. The assignments are very interesting, but LONG and often frustrating. Easily one of the most time-consuming courses I’ve taken. The course no longer deals with programming real robots (thank god), so it's all simulation. MAC USERS BEWARE: You will need to purchase the Parallels software (about $40) in order to run the Linux VM for ROS; Virtual Box is not nearly powerful enough to handle the simulation. The lectures do not help at all with the homework (its basically sink or swim with learning ROS and RViz), but the lecture material is what you will be tested on. I have to say, I’ve never had a professor who was as mean-spirited and condescending as Peter Allen. I don’t know why he is such a negative man; my only guess is that he is in the middle of a nasty divorce. He doesn’t care about the students, and has displayed astonishingly little concern for whether or not they succeed. He actively discourages questions by mocking or snapping at the asker. He trash-talks the TAs when they're not in the room. I want to like this class, but Allen's attitude really detracts from it; if he were a little bit more pleasant and helpful, it would make the class worlds better.

Dec 2017

Professor Allen is a terrible professor and an all around bad human being. He is uninterested in teaching, uncaring about students, and unpleasant to interact with. If you take any class with him you will learn very little and regret every second of it.

Apr 2014

The homeworks are relatively easy, the projects are "fun" (in that nerdy way that CS kids love), the classes are not really necessary to go to after the linear algebra sections have been covered, but the midterm and final are kind of bullshit. Allen only gives you a general overview of what might be on it, without a practice test, and the questions on it are weird; often testing cursory knowledge of subjects not covered in any assignment or project. It felt like the final was "trying" to be harder than the rest of the class just to achieve a nice grading curve. That said, here are the pros: You get to program for an actual, real-world machine, which is something you don't really get to do in many other classes. It's a different kind of debugging when you have to find out how slippery a certain floor is and factor that into your motion calculations to account for drift. You also get to use linear algebra in a very practical way, (It really cemented a lot of the fundamentals I had only weakly grasped after taking intro to Linear Algebra). Lastly, it also serves as an intro to Computer Vision as well, some of the later homework assignments require you to mount a camera on the robot and do image processing to solve certain puzzles. In summary, it's a class that kind of feels like an easy-A class despite having a respectable work-load (the projects) and arbitrarily difficult exams. Allen is a lenient grader for the projects, but not for the midterms. This is definitely an "application" class, not really a "theory" class. Take it if programming a Roomba sounds like something you would like to do; for all its flaws I enjoyed it well enough.

Oct 2005

I had Prof. Allen's class right after Prof. Rocco Servedio's class. The contrast could not have been clearer -- while Rocco is a clear and competent lecturer who is quick on his feet and always able to answer questions, Allen is a bumbling, incompetent waste of time. He was never once able to answer any questions posed to him in a way that suggested he understood either the question or even the material. His lectures were disorganized, rambling, and unintuitive. He is far and away the worst professor I have ever had at Columbia Computer Science (and perhaps tied for worst ever at Columbia).

Dec 2003

First off, I took Data Structures with the guy too. Everyone who wrote a bad review of this guy is rather stupid. Swing interfaces are key parts of every assignment involving Java after Data Structures. Furthermore, copying code to create the data structures is fine - it's a matter of using them - why do you think the class is considered a difficult one for many? Because they don't know how to copy properly? But I digress. Robotics is Allen's specialty, and he clearly shows he knows what he's talking about. The class has some rather cool aspects about it, including the use of a robot simulator. You actually apply concepts from linear algebra to something. Furthermore, it gives a solid background to what kinds of projects are going on in robotics. Some of it is basic at first, but it gets better as it progresses.