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.
The other reviews are pretty accurate on the structure of the course (the flipped class room) and the workload, so I'll only write what was different about this semester and what I didn't like. This semester, Collins brought in new materials in the last three week; Feedforward Neural Network and computational graphs. While I liked how he updated his syllabus from the last one, the execution was simply bad. I don't what might have been the issue for him, but after midterms, the course became utterly disorganized. Almost everything was done at the very last minutes. For instance, the videos we were supposed to watch before each flipped classroom sessions were uploaded less than 24 hours prior to my session, making it impossible to studying them thoroughly. And all of the sudden, assignment 3 became analytical part only assignment and assignment 4 became programming part only assignment. While this could a perfectly reasonable thing, but I'm sure I wasn't the only one who felt this was a rushed decision. To conclude, Collins is a very knowledgeable man on Natural Language Processing and probably a very nice person. However, how he handled the course after the midterm was simply not acceptable. Just be aware that logistics of the course for Fall 2017 was an utter disaster.
This is for the flipped classroom in fall 2014. We were assigned small (10-15 person) sections, and each week had about 60-90 minutes of coursera videos to watch before hand. At the session he would spend 20 minutes recapping the key points from the videos, then maybe 30 minutes we'd be doing questions (very similar to the exam questions), and discussing the answers with him. Lots of opportunities to ask questions and talk with him, especially if you get a less crowded session. (Note that his original plan was that he'd only do 2 of every 3 weeks for each section, and a TA would do the other. However it seemed like he abandoned this after a while, and combined a few sessions so he could do all of them himself.) I really enjoyed the format. Keeping up with the lectures before your session was a bit difficult when you have a million other things to do, but pretty important. I fell behind about 3/4ths through when we switched away from machine translation, and it took me a while to catch up again. It was also a little disappointing that you almost never saw who else was in the class, since a bit of discussion about the homework with other students was quite valuable. There is no textbook, but he has a set of classnotes online that's basically an alpha version of a textbook, along with the slides he used in the coursera video. The biggest issue I had with the class was general non-responsiveness on Piazza. There were a LOT of questions about the assignments, and the TAs just generally didn't respond. The TA led discussion sections were also basically useless for me, although the TAs also seemed nice and were trying hard, they just weren't up to Collins' level.
Prof. Collins did a flipped classroom format this semester, and I learned more in this class than I've ever learned in any other upper level CS class. I enjoyed the class and I'd recommend it. I also wish that every CS professor would switch to flipped classroom. Every week, he assigned about an hour and a half of video lectures from Coursera. These lectures are incredibly clear and the great thing about them being online is that you can watch them 80 times over until you understand the material. I usually space out during CS lectures, so this was invaluable for me. Then you attend a weekly (~10 people) discussion session where you do problems taken from previous exams. This was more like him handing out the questions, everyone staring blankly at them for a few minutes, and him explaining the answers. Repeat for an hour. These discussions were led by him and the TAs, and they usually felt awkward, but they were useful. They were supposed to be mandatory but he stopped taking UNIs after a few weeks, and I don't think they really ended up being mandatory. Toward the end of the semester, a lot of people stopped going. He posted textbook style notes about the lectures as well as classroom questions and solutions online after each week. As someone whose programming skills were rusty and mediocre at best, I found the homework to be challenging but not at all impossible. I recommend using Python, and if you don't know it, it will be easy to learn. For the programming, you're literally just implementing the algorithms that you learned in class, so it's not so much thinking about how to solve the problems as it is deciding what data structures to use and being careful with your code. They were sometimes unusually time consuming though. The TAs were usually pretty helping during office hours, and not as helpful on Piazza. Prof Collins did not hold office hours, and he explained that the flipped classroom would be the time for office hour questions. Definitely come in with solid knowledge of probability. You'll need a little bit of calc and linear algebra toward the end. Which really means if (1) you can take a derivative, and (2) you know what a vector is and how to take a dot product, you'll be fine.
Knowledgeable? Yes. Approachable? Yes. Nice? Absolutely. A good instructor? Hell no. Prof. Collins definitely knows his stuff. However, he has troubles conveying it to his students. Admittedly, I'm not very good at prob/stats, and this course is full of probability. However, it is not a sign of a good professor when you're really excited to be there on day one but feel utter despair on your way out. My friend and I went to almost every single lecture but felt behind everyday. Also, there were three assignments the entire term. Usually this would be a good thing. However, because you did not understand what was going on in lectures, we at least needed some kind of practice for the midterms (called quizzes because he's British or something). Alas, no assignment was released before the second midterm, and it absolutely pooped on us. Hopefully, this cluttered and unorganized class will get better as Collins gets more and more experience teaching. However, if you can, try to take it with Prof. Hirschberg or someone who can actually make you understand.
You know you're taking a class on a different level when you're doing homework and whenever you Google for help, your own damn professor's slides and research papers are the top (and sometimes only) results. You know from that that Michael Collins is obviously a brilliant man and has made a huge impact on NLP research, but he's also a great lecturer and professor. He explains topics thoroughly and thoughtfully and takes time during class to answer all questions. He'll give printouts of slides to you as well as post them online. (The slides themselves are really only meant to supplement his lecture thoughâ€”there are some classes where the slides are a good substitute for in-class notes; this is not the case here.) For some of the bigger topics (part of speech tagging, machine translation, etc.) he'll also type up his own notes that cover the subject pretty well. Overall an approachable and friendly guy. As for the course itself, like a previous reviewer said, Collins definitely brings some rigor to a class that is generally within Julia Hirschberg's realm of teaching. The class felt like applied machine learning at times, and you were at an advantage if you've taken some sort of ML before, and a strong foundation in statistics is important to really understand what's going on. The average on some assignments and quizzes were really low (a third of the class got less than 50% on the second quiz), but the class is curved. The tests were a mix of applying basic knowledge on a topic and adapting algorithms learned in class to some unique situation. The analytical part of the homeworks were generally in a similar spirit. Grading was a bit harsh at first but seemed to let up towards the end. If you know 1) your stats and/or 2) have taken some ML before and 3) want to learn NLP from one of the top people in the field, there's no question you should take this class. If you just want to do #3, it'll take you a little more effort, but you'll probably muddle your way through like the rest of us. If none of these sound interesting, there are better classes out there for you, friend.
An enjoyable, informative, and (really, really) laid-back class. Like the title suggests, it's about ML applications to NLP, but since just about every machine learning model anyone's come up with has been used for NLP at some point, it tends to focus on problems Collins himself has worked on or is working on now. This is obviously a Good Thing: he was obviously excited about most of the material in the class (I don't think I've ever heard the phrase "fun algorithm" used more or with such earnestness) and made it exciting to learn as well. He's a phenomenally clear lecturer---I took this class concurrently with ML, and the contrast between Collins' presentations and Jebara's insane ramblings couldn't be clearer. I'd encountered a couple of the models we talked about in this class before and struggled with them; MC made everything effortlessly comprehensible. The slides are also good enough that you can get away with skipping the assigned papers (though you really shouldn't; I stopped after about two weeks but am hoping to catch up during the summer). At times it felt like half the department was taking the class; other days there were only five people there. Obviously he's a big fuckin' deal, and just about everyone in the NLP group, faculty included, showed up at some point to watch the man himself teach. I'm still not sure how many people there were auditors rather than enrolled students. That said, both he and Vinod were very accessible during OO and by email. I'm pleased to see that he's teaching NLP next fall---he'll bring some much-needed rigor to Hirschberg's class (which is well-intentioned but a little fuzzy around the edges). I really enjoyed this semester and hope I have the opportunity to take something else with him again before I graduate.