Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.1 / 5):
Workload: 15 hours/week
Pros:
1. Great Prof with engaging lectures
2. Content is very relevant and bang up to date
3. Very fair exams - Open book, take home - if you are paying attention at all you should not fear them
Cons:
1. Group based projects drive half of the grade
2. Some material only delivered for the onsite class - not clear why
3. Not enough time spend covering the code framework you have to use for the projects
Detailed Review:
Prof examines the world of Virtualization, starting with some good history on how we got here and covering off the latest problem space and a glimpse of the future. Very good course, well delivered. There are some guest lectures and a second, individual project that are only for the in class version and as we share the same content it is sometime confusing which applies to us (and a little disappointing that we don't get it all), but on the whole still very worthwhile. The workload is medium at the start, lots of setup work, but drops to literally nothing by the end (good if you need to study hard for a very theory based exam in a different subject).
The exams cover the subject matter and are open book so are really nothing to fear. The project is hard in so much as you are not writing your own Virtualization engine (that would be waaaay too much work for a semester) but gluing code into someone else's that has had key bit ripped out. The one thing the course could do with is a lecture aimed and briefing you on how the example is actually structured - you have to spend a good while analyzing some code that isn't as logically put together as you might hope to understand what it's trying to do - then writing the missing code is almost trivial.
To answer the question of should I do Advanced OS first (which everyone asks), yes, it's a good idea - they fit together nicely, no you don't need to, yes you can easily get an A in this if you haven't. Unless you are very familiar with C, you will have to spool up fast to manage the projects (we are not talking about being a C expert here, but you want to be comfortable) and the AdvanceOS course had a much gentler ramp up for the C component IMHO. You also get a very good grounding in many of the concepts that are relevant to Virtualization (after all, you are writing an OS for OSes in effect). Prof will cover what you need to know if this course, it's just that much easier if this is revision rather than the first time you've seen it. If you've taken a good undergrad OS course recently though, you will be just fine.
Definitely recommended.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (3.6 / 5):
Workload: 15 hours/week
Pros:
1. The course material was amazing--the professor's lectures to go over background, theory, applications, and practical considerations and cover a broad range of topics. For those who wanted to dive into the research further, references to papers and additional materials were plentiful.
2. The professor and TAs are incredible human beings. The responses on Piazza were extremely detailed and provided great guidance on implementing and debugging the assignments. It felt like the professor and TAs were genuinely passionate about the material and excited to help students learn and engage with it.
3. The material is approachable, even for people without DL/NLP experience.
Cons:
1. This might just be for this semester since they were still figuring out some of the logistics, but 2 of the assignments couldn't be graded via the automated grader (since the grading process includes running your training code to produce a trained model). There were early intakes for these assignments so that you could test out your code and its performance, but if you missed those, it could be a gamble as to whether your code fails due to environment differences on the final grader.
2. The final project is partially peer-graded (although TAs do review them as well), so grading could be inconsistent.
3. Solutions for assignments were not posted, so even if you are able to do well on assignments, you don't have anything to compare your implementation to in order to figure out if you actually implemented things correctly.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 7 hours/week
Pros:
1. Professors active on discussion forums
2. Quizzes and tests are very similar to problems in HW/lectures
3. Material is interesting
Cons:
1. A fair number of typos in the lecture slides occasionally makes things difficult to understand
2. Some homework problems quite challenging - needed to go to discussion forums for guidance
3. Textbook listed as required, only helpful for 4 or 5 homework problems
Detailed Review:
Class split about 50/50 between statistics and probability. Probability much harder IMO, though still manageable. Stats were a few weeks on intro stats concepts and a few weeks on approaching hypothesis tests and confidence intervals by simulation, which was the best part of the class for me.
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 12 hours/week
Pros:
1. Fantastic area of study
2. Extremely applicable
3. Very responsive TA's. High engagement in office hours meant there was a lot to be learned there.
Cons:
1. Assignments could have done with some quality control. Answers were often corrected after student challenges.
2. This course could incorporate an analysis project but doesn't.
3.
Detailed Review:
First off, I loved this class. In my career, I've done a lot of statistics and prediction based on association (as I recognize now), and looking back now I can see I missed some opportunities for projects that would have had seriously interesting outcomes.
For the benefit of future students, I was in a few different groups and saw that some people struggled with a couple of things in this course. First, most of the math was very simple, but you do need to know how to do regression. I saw a small few people struggle with that, and getting frustrated because they spent more time trying to learn how to do a regression than they did learning the actual material. Second, I saw a small few people with basic Python skills refuse to try R until late in the course, attempting instead to learn Python by doing the assignments with it. I would have preferred to use Python myself, and it's arguably more valuable in the workplace, but it's not a good idea to try and learn it in a course where you're trying to learn the things that are explained with R code. Trying to persevere in Python (unless you're already very comfortable with it), you'll be on the back foot all semester, and in the end the scripting in the class is fairly basic so I don't think it really matters. Finally, I think a small few people didn't spend enough time on the readings. They can be a bit much but they are foundational and once you read them a lot of things in the course start to become obvious.
Not everything in data science revolves around creating more cutting-edge machine learning algorithms - to a large extent anyone can plug numbers into models. To do well in any technical career you need to be more than a technician, and this course provides some excellent strategies and approaches to help you move beyond that.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.1 / 5):
Workload: 5 hours/week
Pros:
1. Super interesting material
2. Entertaining lectures
3. Information communicated versus effort is off the charts.
Cons:
1.
2.
3.
Detailed Review:
I don't know how he did it, but he's managed to communicate an awful lot of information in such a way that it doesn't feel like I'm working. There isn't a word wasted in lectures, even his throwaway remarks are all helpful tips, like what he's found useful when evaluating regressions. We have lots of projects with interesting datasets, we're touching on all sorts of analysis like basic regression, PCA etc. He's covered report writing, how to use R, how to pick good visualizations, how to make color palettes and more.
This is a class on communication delivered by master of the art.
Overall Rating (5 / 5): ★★★★★
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (5 / 5): ★★★★★
Difficulty (3.6 / 5):
Workload: 20 hours/week
Here's a revised and grammatically corrected version of your review:
**Pros:**
1. Intense focus on PyTorch allows you to implement deep learning models from scratch without needing examples.
2. Challenges in optimizing model performance help you understand what a typical Fully Connected Network (FCN) looks like by the course's end.
3. The lecture slides are excellent and provide a solid understanding of Deep Learning in general.
**Cons:**
1. Quizzes seem trivial but aid in retaining deep learning knowledge.
2. The course exclusively focuses on Deep Learning for Computer Vision; incorporating Natural Language Processing (NLP) would be beneficial.
3. Homeworks 1 and 2 seem unnecessary; starting directly with Homework 3 would be more effective, providing more opportunities to implement various types of deep learning models.
4. The final project is unrelated to Deep Learning, assuming your model performed well after Homework 4.
**Detailed Review:**
Overall, this course is quite practical (aside from the quizzes) and teaches you how to implement your deep learning model in PyTorch from scratch. The final project can be completed in groups, but don't expect higher grades simply by increasing group size. I completed Homeworks 1 and 2 before the course began. Homework 3 was particularly challenging as I struggled to understand why my model was performing poorly. Homework 4 was even more challenging as it focused on tuning rather than model development. Homework 5 and Final project are irrelevant to deep learning implementation as you are using your previously implemented model from HW3/4.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (5 / 5):
Workload: 30 hours/week
Amazing course. One of the best courses I took at Austin. It was a crazy insane amount of work but so worth it, I learned so much about high performance computing that I see very directly applicable to my job. The professors are excellent teachers and would 100% recommend this course despite how much workload it was.
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!