Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (1.4 / 5):
Workload: 3 hours/week
Pros:
1. The worksheets provided help you exercise what is discussed in the lecture right away
2. The projects and homework assignments are directly applicable to future outside use cases
3. The lectures are succinct and the notes are very well done
Cons:
1. Peer grading
2. Required participation points on Piazza
3.
Detailed Review:
The course itself is fantastic. A great intro to R using R-Studio. The worksheets that Prof Clivan has authored are fantastic and make it really easy to apply what was discussed in the lecture. The project assignments are very well structured and increase in difficulty throughout the semester to naturally build on acquired knowledge.
The textbook is authored by the professor. There is no code provided but he does have all of the code used to create the graphics in the textbook on his Github. With a little searching, you can find the course code and learn from it. I purchased a copy but find the online version is just as good- if not better as you can find things more quickly. The lectures follow the textbook plus provide R-code implementation code and examples. Each lecture topic has a provided worksheet (not graded) that lets you play with the code and datasets while exercising what was taught in that lecture set.
The only thing I didn't like was the mandatory participation points for Piazza. This led to a mess on the forums with lots of unnecessary posts or people making up questions they didn't really need an answer to. The peer grading is generally lenient but I'm not a fan of this method of grading- but you get what you pay for with a $1000 online course. One good thing about it is that you can kind of see how other people are implementing things and can learn from them. It's just frustrating to spend hours on a project and get zero feedback- it feels like I could have done less work and gotten the same outcome. For example on one homework- I made a clear error on a required regression line (I did a line plot instead) and there was no feedback, nobody seemed to catch it and there were no points counted off.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (0.7 / 5):
Workload: 5 hours/week
Pros:
1. I liked that reading the textbook was compulsory. I never read textbooks unless forced to and this was a really great textbook
2. The lectures were a solid complement to the material that I read in the book
3. I really liked that we got into neural nets and modern RL techniques
Cons:
1. None, I really like the course
Overall Rating (5 / 5): ★★★★★
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 8 hours/week
Pros:
1. Learned a lot even as someone who has extensive ML experience
2. Hard but fair exams
3. Great TAs
Cons:
1. Second half of the class covers material that is covered in almost every MSDS stat course
2. Profs completely absent from Ed
3. Feels awkward in terms of math needed - at some points it's like they expect you to know lin alg extensively and at some points it seems like they try to dumb it down.
Detailed Review:
A better name for this course would be Statistical Learning. I have a lot of ML experience and I feel like I learned a lot. I pity people who had never seen any ML or statistics before coming into this class. HWs 1 and 2 are the hardest by far which is kind of a rude welcome. Would recommend StatQuest and Ritvikmath on YT as supplementary material. Grade was curved by a single +/- at the end of the semester.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (4.3 / 5):
Workload: 20 hours/week
Pros:
1. Well structured course
2. Topics are valuable and interesting
Cons:
1. Final project is interesting but hard
Detailed Review:
This course is very well structured.
Assignments
All of the assignments are done with PyTorch, and you are allowed to use the master solution of previous homeworks to work on the next one which is really good if you got stuck in previous Homeworks. Start early the first 2 homeworks as homework 3 is way harder than the first two, but fortunately if you manage to get HW3 working you would probably be able to get the rest of the assignments too.
Quizzes
They are difficult but doable. The due date for them is at the end of the semester but I recommend to do them as you review the lectures.
Final Project
It can be done in groups of up to 4 people. Start early, it requires a lot of trial and error and you will have to rely mostly on your teammates than the course staff.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.9 / 5):
Workload: 12 hours/week
This is a foundational course for students seeking to learn and build a strong skillset in R for data science applications. The instructor effectively makes the language accessible, and the course focuses on practical, real-world applications, ensuring that the skills developed are immediately useful.
Pros:
1) Effective Instructor: The professor is engaging and clear, demonstrating a strong ability to teach the fundamentals of R programming within a data science context.
2) R Ecosystem: The curriculum incorporates tools like Quarto (.qmd files) and the tidyverse suite of libraries, which are standard in the field.
3) Practical Assignments: The homework assignments are well-designed to reinforce concepts from the lectures and are centered around practical data analysis tasks.
4) Strong Foundational Course: This class provides the necessary coding foundation for subsequent courses in the program, such as Regression & Predictive Modeling. This course is structured for students new to the language, and the support from the instructional team helps to navigate any potential difficulty.
This course is highly recommended. For students new to coding or specifically to R, it serves as an effective starting point. Students can expect to complete the course with a strong, practical skillset that will be beneficial throughout the remainder of the program and in their professional careers.
Overall Rating (5 / 5): ★★★★★
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 15 hours/week
Pros:
1. Projects are interesting and impart useful skills
2. No exams
3. Book chapters are good, but have lots of typos (errata: https://www.cs.utexas.edu/~lin/errata.html)
Cons:
1. The initial lectures seemed to coincide well with labs 1 and 2, but then diverged with lab 3 (only one lecture was necessary)
2. A good many concepts are introduced in lectures, but will go without any practice (i.e. learning without application, not required for the projects)
3. Grading seems a little arbitrary (may just be this round of TAs) and usually requires you to ask for corrections, so be proactive!
Detailed Review:
This class definitely doesn't hold your hand through the material. You need to have plenty of time to work through the projects. Although the average time I spent was 15 hours/week it is not distributed evenly, so expect to have intense periods during the course. There are no exams, so that is likely why the projects are so in depth. The GPU project is definitely the toughest and apparently there were optional parts of the project previously that have since become mandatory. That being said, you're going to learn a lot of practical knowledge in parallel systems programming. Going back to the GPU-based project I was surprised to find that coursework in a Masters program would even provide a chance to work on something like that. Most of the people I have encountered in the field who know how to write CUDA code have learned on the job.
I took extensive notes of the time I spent each week, so will share in case any of you are wondering how you might budget for the projects (one week I managed to put no hours in, which is why I suffered the following week):
- W1: 12.75 hours (7 hours for slides/readings; 3.25 hours for lectures; 0.75 hours for Ch. 1 exercises; 1.75 hours for starting Lab1)
- W2: 14.75 hours (3.25 hours for Ch. 6 exercises; 1 hour for lectures; 4.75 hours for readings; 0.5 hours for Ch.3 exercises; 1.75 hours for Ch. 11 exercises; 3.5 hours for Lab1)
- W3: 12 hours (1.75 for OH; 10.25 hours for Lab1)
- W4: 11.5 hours (0.75 hours for lectures; 1.5 hours for readings; 9.25 hours for Lab1)
- W5: 11.5 hours (5.25 hours for lectures; 6.25 hours for readings)
- W6: 0 hours
- W7: 50 hours (11.75 hours for Lab2: Serial/Test Framework; 11.75 hours for Lab2: Thrust; 9 hours for Lab2: CUDA; 2.75 hours for shmem; 11.5 hours for Thrust re-write; 3.25 hours for write-up)
- W8: 1.75 hours (Lectures)
- W9: 25 hours (2.25 hours for readings; 9 hours for Lab3: Serial; 3.25 for Lab3: Parallel hashes; 2.25 hours for Lab3: Parallel data workers; 3.75 for Parallel comparison workers; 4.5 hours for Lab3: Report)
- W10: 6.75 hours (1.25 hours for Lab3: Report; 1.25 hours for Lab3: Extra Credit; 2.5 hours for lectures; 1.75 hours for readings)
- W11: 7 hours (4 hours for lectures; 1 hour for OH; 2 hours for readings)
- W12: 3.75 hours (1 hour for lectures; 2.75 hours for Lab4)
- W13: 13.25 hours (Lab4)
- W14: 4.75 hours (1.5 hours for Lab4; 1.75 hours for readings; 1.5 hours for lectures)
- W15: 39.5 hours (0.75 hours for lectures; Lab5: 1.25 hours for skeleton, 18 hours for quadtree / visualization, 0.5 hours for center of mass, 3 hours for direct force calculation / verlet integration, 1.5 hours for MAC force calculation, 3 hours for MPI implementation, 1.5 hours for optimization, 10 hours for analysis / write-up)
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 6 hours/week
Pros:
1. Covers a lot of useful information
2. Project assignments are kept current based on latest developments.
Cons:
1. Multiple choice questions on the midterm were frustrating
2. Office hours were not helpful
Detailed Review:
Overall, this is a great course and the lectures were interesting with a lot of relevant information. The professor does a great job explaining topics and the relevant recent advances in the field. This has been my favorite class to-date in the program.
The overall workload isn't too bad, although the amount of time spent on each project can vary greatly:
Project 1: 8 hours
Project 2: 4 hours
Project 3: 20 hours
Project 4: 5 hours
Final project: 30 hours
The main drawback is that I found the office hours worthless, as the TAs offered little useful guidance on projects.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 8 hours/week
Pros:
1. Lot of engagement by professor and TAs on Piazza and office hours
2. Material was well presented and enjoyable to learn
3. Material was revamped by professor to keep more up to date with latest research and best language models
Cons:
1. Midterm was a bit tricky, required some decent time to study
Detailed Review:
Professor / TAs: The professor was very engaged throughout the semester in the course forums and hosted an office hours to go over extra material relevant to the fifth assignment. TAs were also very engaged and helpful in office hours. The lectures were clear to understand and I overall enjoyed watching them.
Textbook - I didn't read the textbook much, but the few times I did it appeared to be an ok reference. Certainly not needed to do well in the course though.
Assignments - All of the assignments were mostly just implementing to PyTorch to solve a language problem. All of the problems were simple enough to train the models on a laptop (except the final project). Overall the assignments did a good job building up from simple models like perceptron up to implementing your own attention based model "from scratch" using only simple PyTorch modules. Overall the assignments only took me around 10 hours max each, but I still learned a lot from them. You get unlimited attempts at the autograder, so I got a 100 on each like many other students.
EdX assignments - some of the questions were a bit hard, but you get unlimited attempts so they are freebies.
Midterm - The midterm was pretty tough in my opinion. I ended up making a good grade of 87, but that was also after going though each of the posted practice midterms and correcting everywhere I made a mistake. However without the midterm, I likely would have only walked away with a passing knowledge of the material, so I think it ended up being a good call by the professor to include it.
Final Project - This involved writing a 4-8 page paper by reviewing and expanding upon some recent work in NLP. Overall I enjoyed the assignment like others in the class. It did involve quite a bit of time though. I had to read quite a few papers, train a fairly large language model using hugging face, and analyze and attempt to improve the results of the model. You can optionally partner up as well.
Overall I enjoyed the course and can see why so many students also rate this class so highly, even if you don't foresee using NLP in the future.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (0.7 / 5):
Workload: 2 hours/week
Pros:
1. You'll learn how to draw effective charts and summarize data
2. You'll gain some proficiency in R (assuming you want to)
3. Easy A
Cons:
1. The class discussions can sometimes be garbage
2. Too many noise/nuisance posts - people trying to score participation points
3. Do you really want to learn R? As another reviewer here says it's such an anti-pattern language
Detailed Review
Claus Wilke is a well known name in Visualization and the creator/maintainer of several R libraries including cowplot etc.
Everyone needs a solid background in data visualization - this course has made me sit up and notice graphs. There is a good reason why WSJ/NYT/Economist pages have those memorable visualizations - Prof. Wilke will show you why. And if you take the class assignments seriously, you can learn how to build those visualizations.R (ggplot in particular) is not a very intuitive statistical programming language but it does produce the best publication quality graphics. Perhaps someday this course could incorporate D3/Java Script and teach web templating which is more relevant to data science and visualizations.
My biggest gripe with the course is the edstem/Piazza discussions - some of the posts are really nonsensical and just lobbed in there for participation points. Perhaps the course can rethink it's approach towards participation.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 10 hours/week
High value course that I took during the compressed summer term alongside with Deep Learning. I spent about a day at most to finish the projects, and I read every required chapter and used the Reading Responses as a place to take notes. Doing this gave me a B in the end in the class. Overall I think the course was easy, with a lot of valuable content and nice, but kind of short, projects. I usually got the programming projects right on the first submission. The theory/math homeworks were where I scored the lowest, but as long as you are brushed up on your algebra and calculus it will be a decent average. The final exam was difficult because you will face new problems you haven't seen before. You can get around this by making sure to do the exercises in each section of the book chapters. This is probably the most optimal class to pair with Deep Learning in the summer.