Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.2 / 5):
Workload: 6 hours/week
Pros:
1. Assignments force you to implement theory from scratch into code, especially useful for transformers assignment
2. Exam fair
3. Final project (mine was on data artifacts) teaches you a lot about HuggingFace pretrained model training, fine-tuning, Trainers, good code practices and writing a research paper, just devote ample time, and is graded appropriately
4. Excellent survey of topics (too many to list all) but love the inclusion of NLP use cases like summarization, machine translation, factuality, ethics and vision, chatbots, and so much more...
5. Dr. Durrett is highly knowledgeable and highly regarded, you will not do wrong taking this class
6. No better time to take this class with the rise of focus on ChatGPT, Llama, and LLMs
Cons:
1. Transformers assignment is difficult, so devote ample time (A3); A1 (logistic regression and perceptron) and A2 (embeddings) are not too difficult, but the transformers assignment took me about 2-3 weeks. A4 on factuality is again very easy, thus a left skewed distribution in difficulty
2. Exam too focused on transformer theory
3. Sometimes the content gets highly involved, but such is the nature of a grad elective class
4. Like another comment said, the highly organized structure will make you sad for future classes organization wise
Additional Note: I took this class my first semester of the program. A0 helped me review what I needed coming in (LA, prob, calculus, and basic NLP knowledge) and A1 helped me hone my knowledge of classes and OOP in python. The learning curve for review was steep, but this proves you don't need to do data structures before NLP. This is assuming you've been exposed to OOP before in your life (I went to UT for undergrad and did the CS elements - CS 313E with Mitra earlier which immensely helped).
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (0.7 / 5):
Workload: -1 hours/week
This course is super easy!! You just need to do well on the exams, which is very doable.
You pretty much can study on an as-needed basis. Exams are open book, so you can
basically find the answers on the internet and on the notes. The exam questions are
very straightforward too. This is an easy A, please don't miss it. It may seem difficult at
first, don't worry about it. Pretty much everybody who took this course on FALL 2020
must have gotten an A even though they found it difficult at first.
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.1 / 5):
Workload: 4 hours/week
Pros:
1. This is a good first class to take.
2. Requires some calculus/algebra skills, but if you're a bit rusty like I was (e.g. haven't solved a double integral in ~7 years) it is a good class to brush up and become fluent with the math.
3. Professors were very helpful and active
4. Material is interesting, both the theory and application.
Cons:
1. Few minor mistakes/typos in the material - but this didn't really cause any problems.
Detailed Review:
My back ground as undergrad is computer engineering and biology. I work professionally as software engineer.
This was the only class I took this semester, and the first class I took in the program. I was working full time, so I wanted to test the waters with this class.
In undergrad I took calc based prob/stats but the material was very dry - it was mostly just proofs and theorems (which I mostly forgot by now), and I never really felt super good about applying it in real problems. However, after this semester I feel very good and confident about the material and applying it.
I found that I could usually get the homework and lectures for the week done in 1 day on the weekend, it would usually take about 7 hours or so (sometimes more sometimes less). We were able to drop the lowest 2 homeworks and quizzes so getting an A is very attainable.
I didn't actually use R or python very often, I mostly just used a spreadsheet+statkey, which it worked well for all the exams/quizzes/homeworks. You certainly can use R/python if you want but you don't need to.
At the beginning of the class some of the math was a little challenging for me since I was rusty, but after some practice, by the end of the class I felt very good and confident about doing the math, and that it is not too hard. I'm really glad I was able to brush up on math this semester so that in the up coming classes I will be able to jump right in.
Overall - loved the class!
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (5 / 5):
Workload: 30 hours/week
One of the best courses I've ever taken, in any subject, at any school. Learned a ton about performance considerations in parallel computation and had to actually solve serious problems in the projects. The workload is intense. I spent 25-30 hours every single week for the entire semester on this course. However, every project is a seriously interesting implementation problem and taught me a lot. The lectures are excellent, and the TA and professor were very active on Piazza answering questions and resolving issues. Some of the project instructions were a bit rough/vague, but the high level of engagement from the TA and professor more than made up for that. No exams, just projects.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (0.7 / 5):
Workload: 5 hours/week
Pros:
1. Good soft intro to using R for data wrangling, viz, and a little regression modeling and PCA
2. Lectures are interesting
3. Content is well organized and easy to follow
4. TAs, Dr. Wilke and fellow students are all highly engaged
Cons:
1. Only uses R, ggplot. A survey of other viz tools might be a good use of a class week.
2. Did not cover dashboarding best practices.
Detailed Review:
I enjoyed this class and found it immediately helpful in my job. Sometimes in industry you cannot pick the tools you use for viz, so a short survey of tools one may encounter might have been useful (i.e. Tableau, Looker, Plotly, Matplotlib, PowerBI, etc.). The course is also focused mainly on individual plots, which fits well to viz for research and analysis. There is little covering dashboarding practices.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (1.4 / 5):
Workload: 7 hours/week
Pros:
1. The instructor, Claus Wilke, is an expert in data visualization and his lectures are concise and engaging.
2. The class is very well organized and the grading criteria is explained clearly.
3. The course covers a lot of useful material while still having a manageable workload.
Cons: None
This is one of the easier classes in the program but it is also one of the most informative and polished classes as well. The professor is truly an expert in data visualization and it was a pleasure learning from his wealth of experience. His lectures are very engaging as he has excellent communication skills and a good sense of humor.
The R programming language is used heavily throughout the class but the emphasis is on how to use the ggplot package. All of the R knowledge you need to be successful in the course is provided in the lectures. The professor is the author of the free, web-based textbook used in the course but because the lectures were of such high quality, I never needed to consult the textbook and rarely needed to consult outside references such as Stack Overflow. All of the lecture slides are available to view on the course website and the code used to generate the slides (R Markdown) is also provided in a GitHub repository.
All of the homework assignments and projects are peer-graded but I had no issues with the grading. The grading criteria is explained clearly and is somewhat lenient so you should have no problem getting an A in the class if you follow the instructions. If you need help, you can post your question on Piazza and the TAs or the instructor will respond quickly. I was impressed by how active Professor Wilke was on Piazza.
Overall, this is a great class. I learned a lot and the workload was very manageable. To provide context for my review, I received an A in the class.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (4.3 / 5):
Workload: 25 hours/week
Pros:
1. Great class. You will learn a lot and get exposure to a ton of languages.
2. No test or quizzes just a couple of projects.
3. Lectures are clear and the projects are fun.
Cons:
1. You need to spend a lot of time on the projects. They can easily take 20-40 hours.
Overall: A great course
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 20 hours/week
Pros:
1. Your programming skills will absolutely improve.
2. You'll never again be tempted to debug via print statements.
3. You'll have a solid grasp of fundamental data structures coming out of the course.
Cons:
1. ---
2. ---
3. ---
Detailed Review:
I really liked this course, even though I've scarcely ever worked harder to pull off a "B" than I did here. Professor Lin is great. The lectures are great, the quizzes are fiendishly difficult, but fair, and the projects are challenging, relevant, and geared at turning you into a better programmer than you were coming into the course. For me, at least, this goal was more than achieved.
I know the course can be really challenging, especially in the second half. But fear not - there's a generous curve, and everyone who really puts in the effort in the end does well. Lin is a great professor and a really decent guy...just work hard and you'll learn a lot in the course and (with the curve) come out with a passing grade.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.9 / 5):
Workload: 13 hours/week
Pros:
1. Extremely good video lectures
2. Theory heavy, but the theory is the baseline for almost all advanced computation
3. Still has applied programming
Cons:
1. Front-loaded difficulty curve makes it difficult to pair up with another course at the start
2. It is still Matlab (which we get a university license for, but still... index starts at 1)
3. Honestly, not many cons, and only the first one is meaningful
Detailed Review:
This course has the best lectures of any of the courses I've taken so far. The professors cadence and environment just worked for me. Maybe I'm old-school like that. Also, if you are uncertain if you are ready, the undergrad prep is available for free online
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 15 hours/week
Liked this course very much. Assignments are laid out well. I like the feature of auto-grading. Sceleton codes are very helpful. Downside would be there are some knowledge appears in the assignments were not mentioned in the lectures and TA were not very helpful instructing. I ended up having to google a lot.