Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
I agree with what everyone else is saying. To add additional insight, you start the class with ~8 theory heavy quizzes about Lin Alg and gradients. Then, you get two pretty easy Python projects in HW1 and HW2. The workload picks up SIGNIFICANTLY when you hit HW3 and HW4. HW5 was extra credit for us. I recommend you watch the practical implementation lecture videos before starting the HW, becuase they usually have hints or code snippets you can use for the assignments. The project was awesome as well.
Overall Rating (5 / 5): ★★★★★
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 15 hours/week
Pros:
1. Exposure to a variety of languages, key concepts in parallelism and synchronization, programming models
2. Fun projects
3. Fairly low stress since there are only the 5 projects
Cons:
1. Needlessly ambiguous stream of consciousness assignments
2. Some gaps between lectures and what you actually need to know to do the assignments
Detailed Review:
Pretty great class overall. I was surprised at how not hard it was - pretty much all the languages/tools were new to me but it’s relatively straightforward to figure out.
I feel like I understand so many systems better than I used to, and I could probably implement them if I needed to. Databases, Spark/Hive, CUDA, Map/Reduce, etc.
Go is kind of nice, Rust seems useful, and I totally don’t hate C anymore.
Some labs are time consuming, but that and watching lectures is all you have to do. Be smart about debugging and design etc. and you’ll be fine
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (0.7 / 5):
Workload: -1 hours/week
Among the very best classes I have ever taken. The way the notes, lectures, and homework problems are integrated together really helps in learning the topics. The course has a great narritive structure revisiting and building upon old topics with new material that really helps reinforce the topics. Their ordering of not doing eigenvalues and eigenvectors until the very end was different that what I had previously experienced and what I typically see, but I think it leads to a better understanding of the content. Their method and notation for breaking down the matrices is unique so it may be difficult to find outside materials that directly relate, but I found that the material presented was more than suffecient to learn the topics. The last chapter was a little more haphazard, but COVID-19 stopped them from producing the videos as campus shut down so expect this to be improved in the future. I found the class to be quite easy, but I enjoy linear algebra and have a lot of experience with it. If you need a refresher all their books are available at http://www.ulaff.net/ Workload can range from 6 to 10 hours
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.9 / 5):
Workload: 8 hours/week
Pros:
1. Rigorous and novel topics backed by recent research papers in the field excellently curated by the professor.
2. Very similar simple class layout as the new required DL class (Summer 2024 or later DL) of 4 coding homeworks, plus 1 short quiz of 1-3 MCQ per lecture.
3. Professor is very active with the class (often on Ed Discussion + two live Ask Me Anything Zoom session for Spring 2025) - probably the most in the CDSO program.
4. Straightforward and good lectures for the most part (many of which run 15-20 minutes only, with a few long exceptions).
5. Three week time frame per module and per assignment is more than enough (or just right for full-time working professionals with heavy workload).
Cons:
1. RAM / GPU-intensive assignments especially HW3-HW4. Probably doable with very high RAM and good NVIDIA GPU (cuda on Windows) but if you're on Mac, Apple Silicon and mps, most likely Colab Pro (or lightning.ai) is better.
2. Late release of course assignments for Spring 2025 (as it was the first time the course was offered), but this should not be a problem moving forward.
3. More difficult coding tasks than DL (obviously, as the intended sequel of DL)
Detailed Review:
New course, and one of the best in the CDSO Program, covering modern developments in deep learning, as backed by the research papers the professor of the class nicely curated., and refer to in the course website here: https://ut.philkr.net/advances_in_deeplearning/. These research papers also give the course a feeling of being truly a graduate course, and one can get the most out of the course if one takes time to browse through these research papers.
As a side note, in the revised basic deep learning course in this program, the goal was essentially to learn and master Pytorch, and training deep linear models, convolutions, and transformers. That last topic on transformers gives that course also a modern touch, although generally basic DL now in the program may look like undergrad level for many.
Going back to ADL, the course begins with a review of basic deep learning and GPU Architecture (3 lecture videos). Afterwards, the first main module begins and is on memory efficiency, covering topics like half-precision training, LoRa adapters, quantization, etc. The second part is on types of generative models. The third and fourth parts are the heart of the course and covers LLMs and Computer Vision (with emphasis on Vision LLMs).
The course itself has a structure similar to the new basic DL (4 coding assignments, short quizzes), but topics are generally at a higher level (but still, the professor does a good job of simplifying). The assignments' focus will be on fine-tuning models, including generative models, an LLM, and a vision LLM. Expect that training them will be GPU intensive especially for the Vision LLM.
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Pros:
1. Covered both the stats and the ML algorithms
2. Gave me a good foundation for more complex topics
3. Focused on the theory behind ML
Cons:
1. Homework 1 was brutal
2. I wish it had covered more ML topics like SVM's
3. There needs to be a second course on this subject
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 8 hours/week
The course build up naturally with 5 programming projects (each roughtly taking me 3 to 8 hours) that accumulate to the final project, which takes considerable amount of work. There is no exam and the edX quizs are quite manageable. The curriculum is are well structured and the lecture videos are very helpful for both understanding the content and the practical/applied aspects. I have had some experience with PyTorch and neural networks (mostly with GAN) coming into this class, so a lot of the introductories were review to me. However, I still learned a lot of techniques, tricks, and best practicies that I found helpful applying the deep learning in actual projects. A great course overall.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 15 hours/week
This is legitimately the best-case scenario for me, as someone 1) returning to formal education for the first time in a few years, and 2) who struggled with higher-level linear algebra in undergrad (proofs always stop me in my tracks). The professors genuinely care about learning, and the weekly lessons reflect that. The homeworks interweave with the week's topic very well, and everyone promotes discussion on a public forum in edx. If I ever got stuck, I was not wary of asking for help. They don't necessarily dig as deep as they could in terms of content until the last two or three weeks, so if you are looking for that, this probably isn't the place. This is essentially just a thorough investigation into the most important/vital concepts of Linear Algebra. For those who haven't touched LA in a few years, I would definitely recommend going through their undergrad course that is available on edx ahead of time. That way, you won't have to familiarize yourself with the basics like I did in the beginning. Workload can range from 10 to 20 hours
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (3.6 / 5):
Workload: 20 hours/week
Pros:
1. Great introduction to deep learning and computer vision
2. Well structured and clear expectations
3. The course is project based, with only 10% of the course grade based on quizzes
Cons:
1. The final project is incredibly difficult and time consuming
2. The lectures do not sufficiently prepare you for the quizzes
3. Some of the course material is starting to get outdated
Overall, this was a great class. I went into the class with some basic background in machine learning but had never trained a neural network. I finished the class with a strong understanding of the basics of deep learning and the confidence and knowledge to apply deep learning to computer vision problems outside of the class.
The lectures are engaging and highly informative. The homework assignments help reinforce the material covered in the lectures and provide a lot of valuable practical knowledge. All of the homework assignments are related to computer vision, expect for one optional, make-up homework assignment which is regarding natural language processing. There are also 30 short quizzes which are related to the lectures but are often not covered directly in the lectures. Most of the quizzes are not overly difficult and there are 2 attempts for each quiz. All of the course content and assignments are available at the start of the semester so you can manage your time and complete the assignments earlier if you wish to do so. In fact, all of the course material is publicly available at http://www.philkr.net/dl_class/material.
The worst part of this class by far is the final project. The final project consists of a coding portion, which is worth 9% of the overall course grade, and a report, which is worth 21% of the overall course grade. The coding portion is incredibly difficult and time consuming and most students do poorly, which is why the report is worth so much more of the grade. The final project taught me very little in comparison to the homework assignments and seemed like a waste of time and energy. I would recommend finishing the homework assignments ahead of schedule so you can spend more than the allotted 3 weeks completing the final project. It is helpful to complete the final project in a group rather than completing it individually.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.9 / 5):
Workload: 4 hours/week
Pros:
1. This course is suitable for every background
2. The instructor and TA are very kind
3. This course is giving hope to student
Cons:
1. There were many ungrateful and whiny classmates when I took this class. They were mean and judgmental towards TA and instructor. UT better start to administer personality test when accepting student. Smart student doesn't come with good attitude.
Detailed Review:
This course helps student to pass the academic probation, gives more rest for full time worker, raises student GPA, saves student expenses, and makes student graduate faster.
Overall Rating (5 / 5): ★★★★★
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 20 hours/week
Pros:
1. Great TA support
2. Fun, interesting projects
3. You get lots of experience with different programming languages
Cons:
1. The projects are a lot of work
2.
3.
Detailed Review:
This was my first class at UT Austin and it was a lot of work. I would not recommend taking it with any other courses; however, I highly recommend that everyone take this course! It provides a necessary insight into how low-level details in the system architecture can affect performance, as well as interesting lectures on language-level support. On top of that, you gain experience in new programming languages.
Projects:
Each project took me around 50 hours and they were due about every 3 weeks. The first couple of projects utilize C++. Then, later in the course, you get to work with Go and Rust. The first couple of projects have some test cases provided for you, but the last couple do not. However, the TAs encourage students to share test cases and results. The rubrics are straightforward and if you do not understand anything, the TAs are more than happy to clear things up. Each project requires a written analysis which forces you to thoroughly understand your code and how small details can affect performance. Make sure to add graphs to your report!
TA Support:
The TAs were great! They would respond to questions within a day and if they did not know the answer, then they would reach out to the professors. Grading was sometimes slow, but the TAs did the best they could. They are far superior to TAs in other classes. If you don't believe me, go read the reviews for Advanced Linear Algebra.
Textbook:
The textbook was not that useful. If you choose to use it, you can find it online. Don't waste your money.
Lectures:
The lectures are more contextual than anything; however, in several of the lectures, the professors provide sample code that is helpful for the projects. They provide intro lectures to the programming languages, which is helpful if you are not familiar with Go or Rust. I found most of the lectures interesting, but you don't need to watch all of them to complete the projects.