Natural Language Processing · Computer Science
Dynamic programming assignments can be unintuitive and will take some time if you don't have prior experience. Everything else is just too reasonable (lighter than most CS classes)
Bland professor, with unengaging presentation and informative slides that capture a handful of core NLP algorithms and concepts. You are better off not attending the meaningless lectures that include little elaboration of slides, mundane anecdotes/tangents, and students trying to show off through their questions. A standard course that requires medium to little effort and teaches useful information, however the course is incredibly boring to attend - despite how interesting the subject is and its applications can be.
There is absolutely no reason you should take this course unless you want to have the most miserable semester of your life.
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.
2 programming assignments that require potentially infinite time---you're evaluated on a blind test corpus so you have no idea how you'll do. No "A for effort" here---your score is entirely based on how well you handle the test corpus relative to the rest of the class. One (fairly lengthy) written assignment. 1 midterm, 1 (non-cumulative!) final.
Simply the GOAT. Brilliant: just check out his Google scholar list and Wikipedia page. Down-to-earth: flipped class room format is very intimate and you have plenty opportunities to interact with him Caring: late policy is so so generous and give you home during difficult times of the semester Fair: final (40%) was very well structured, a nice balance of questions of all difficulty levels Handsome: while he's no Channing Tatum, Prof. Collins is a stud Give the GOAT a GOLD.
Benajiba is obsessed with the fact that he works in the industry. That usually translates well to teaching, but he just reads off of slides and doesn't end up teaching much. I would pick one of the other professors simply by virtue of being able to actually learn stuff. He goes over neural network architectures but doesn't actually explain how they work. He more just says "here! this is an architecture! here's a diagram!" But wait! There's worse! He curves down! How much, you ask? Right after giving the final lecture about the curses of overfitting, he releases final exam grades and says that a 94 equates to an A-. That's right, a 93.9 is a B+, when the average on the final exam was in the 80s. I would avoid him at all costs. If you want to learn NLP, go to another professor. If you want a good grade, go to another professor. The only reason you should want to take a class with him is if you need the credits and are Pass/Failing his class since his threshold for a pass is 49%.
4 Homeworks that combine theory with practice 1 Midterm of 75 minutes 1 Final of 75 minutes
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 is not the class I thought I signed up for, but now that I'm done with it I think it was worth taking. It's insufficiently clear from the course directory that NLP (at least with Prof. Hirschberg) is entirely a survey course: you learn very little that you can sit down and implement, and a lot about broad categories of problems in computational linguistics and the general approaches that has been used to solve them. There are a handful of algorithms I'll hang on to---two months after the midterm I'm fairly confident I could write a Brill tagger or a CYK parser---but realistically, I'll never need to, and most of the material is not that specific. This class is not so much about learning to do NLP as it is about learning to understand what's already been done. Prof. Hirschberg herself is very sweet---helpful and accessible outside of class. She also has a very soothing voice. This turned out to be a bit of a problem: I came every day, but to my great shame would start to doze off around the 45-minute mark almost half the time. I would love for her to read me bedtime stories, but the bottomless slide decks and repetitive nature of the material mean that the lectures are unstimulating to the point of peril. If you're at all interested in NLP I'd certainly recommend that you take this class; if you're just trying to fill the AI track requirements you'll learn more impressive…