Engineering · Columbia University
Monthly psets that look exactly like the midterms + 3 midterms + 2-3 projects.
Workload is reasonable. 6% participation but this is graded nicely. 4 HWs worth 18% each for a total of 54% with one dropped. 40% final. Note that this is for the summer course. The semester course definitely has a midterm, and I believe it has additional HW assignments that we skip in the summer as well.
Five Homework’s (Written/Program) - 40% Midterm - 25% Final - 30% Participation - 5%
Bauer is a very sweet guy, and I highly recommend his office hours. However, he is not the best lecturer, though it's understandable since it's pretty hard to lecture python. He teaches through application, working through example problems rather than teaching topics, which can be quite confusing to connect the dots between in order to understand syntax. It is likely not possible to get an A unless you already know python, since a good portion of the class already does and is forced to take it. However, it is hard to get less than a B since he CUURVES. 3 of my friends dropped his class out of fear of failing, but I got a B after ending the semester with all my midterms being 40-50%. Basically everyone gets 90-100% on projects and homeworks are not graded on accuracy. While only around 20 people end up consistently going to his lectures due to quality, you will never fail this class unless you are actively trying to.
The course is definitely interesting if you are in NLP and the professor is both kind and a good instructor, but the structure of the class was a bit lacking. The lectures, ungraded assignments, and the exams are theoretical, while HW is applied (writing actual Python). What this means is that the lectures don't prepare you very well for the homework and the homework doesn't prepare you very well for exams. Howevre, he ungraded assignments definitely help with the exam but the homework IS fundamentally based on a concept from lecture. The homeworks are also pretty fun. A bigger issue was slow grading. I'm taking the course during the summer which means no midterm, only a final worth 40%. The only graded feedback we have received so far was the first homework based on lectures 3 and 4 out of 19. We are supposed to at least get the second HW graded before the final but we will see.
This class was one of the most organized CS classes I’ve taken. Professor Bauer does an excellent job at explaining algorithms, ADTs and their implementations. He’s also incredibly responsive to questions, and overall a very kind, intelligent, helpful person. 3137 is worth 4 credits, as opposed to 3134, which is worth 3, because this class also teaches functional programming concepts via Scala. If you love CS, then definitely take this class.
Grading is very generous - even if you screw up badly on one exam you can get an A- or even an A depending on how you do. Homeworks are a 100% as long as you complete all problems and there are a lot of help sessions. Projects are also a 100% if you follow directions, your code runs, and you can explain it. Exams are really where your grade is made. Personally, the class was meh because I thought the tests were a bit annoying to study for and not particularly applicable to coding in general. Even if you are a good coder, it is possible to get a poor grade if you don't study the in class examples. A lot of it is niche examples and the questions on syntax were irritating because if you didn't know what that example meant, you couldn't get any points. I went into the class with some Python experience and I didn't find it interesting nor useful. I'm sure it would be different if you didn't have any experience at all. Note that there are a lot of people with some experience, so grades for exams are typically in the high 80 range for mean/median. Curve was: C >= 60, B >= 70, B+ >= 80, A- >= 85, A >= 89, A+ >= 96.5 for Fall 25, but it changes a bit semester to semester.
HW can be a bit tedious but there's only 5 for the whole semester. All HW is programming. The exams are non-programming, so the HW doesn't help prepare. Instead the exams are based on lecture content and some non-graded assignments which can make studying a little harder but the exams were chill. Participation is a part of your grade but I think you get 100 if you just post on Ed at least once. Overall chill for a CS class
Introductory Python, coding, errors, etc. Basic stuff.
Great class! Bauer is great at explaining things and a great professor overall! He records all lectures and the recordings are great. Exams are super fair. I found the content to be really interesting especially in the first half of the class, the second half was more about neural networks which bored me a little.