Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (3.6 / 5):
Workload: 12 hours/week
Pros:
1.
2.
3.
Cons:
1.
2.
3.
Detailed Review:
Loved this course. Fast paced, but doable with a background in ML. Many different papers/techniques are touched on, and this course provides a solid foundation for more advanced ML research.
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.
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (5 / 5):
Workload: 10 hours/week
Pros:
1. relevant topics
2. accessible lectures
3.
Cons:
1.
2.
3.
Detailed Review:
Great class. Totally worthwhile. Teaches a bunch of advanced topics in the computation of Linear Algebra constructs, like matrix decompositions and eigenvalues. The lectures were very accessible, and the professors were very responsive. However, they are retiring after Spring 2021, so it's unclear if the class will continue. I hope it does, as the material touches on so many other classes in the program, like Optimization and Quantum Computing. The website they put together serves as a sort of textbook, and as such is extremely useful and informative.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 10 hours/week
I enjoyed all the material in this course. The information contained is designed in a way it's practical but it does not leave theory behind. In the end you are ready to start implementing the knowledge obtained into personal projects. The teacher is very considerate and the homework and projects are very interesting and exciting. I would take this course again.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.9 / 5):
Workload: 15 hours/week
Pros:
1. Gives a lot of Android knowledge and make you good at it
2. Professor is very understanding
3. TAs are helpful and generous
Cons:
1. Some assignments materials are not covered in lectures
Detailed Review:
Emmett is the coolest professor I've ever seen. What makes him different than other professor is that he is very active on Piazza. He blends in very well with his student despite the age gap. He explained the lecture and assignment very clearly. The TAs are helpful and generous. You will learn a lot in this class, especially if you're not an Android developer.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 20 hours/week
Love the lectures and love how practical the course is, although I wish the course could focus a little more on the theory and also more on advanced models. Homeworks take a great amount of time to implement and take a lot more time to tune. Final project is super frustrating. Only a small portion of the final project is deep learning related, the other part is just to make the controller work, which is a very frustrating and time consuming. TA is amazing. I think one of the TAs for this class is probably the best TA I've had for any classes.
Overall Rating (5 / 5): ★★★★★
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 25 hours/week
Pros:
1. Interesting material
2. Cutting edge
3. Responsive TAs
Cons:
1. programming projects were a nightmare
2. Quizzes were very stressful
3.
Detailed Review:
The content of this class was really cool. The lectures were good, but often made huge leaps, especially in the later half of the class. The quizzes were stressful, since you get 1 try on each question, and they were often puzzling and somewhat ambiguous. There were so many questions about the meaning of the quiz questions that the TA’s gave up answering questions after a while. In the end, the cutoff for an A was only 88% and there was a curve, so it was even less than that. This class put me through the wringer, but I got a good grade in the end and learned a lot. The first programming project was a mess, and they had to grant credit for just doing your best on it. I assume they will have fixed that in future iterations of the class. Expect to be tortured, but expect to learn a lot.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (2.9 / 5):
Workload: 43 hours/week
I would simply watch the lectures (3 hrs per week) and not do anything else. Then, I would spend/binge around 40 hours over the course of 2-3 days doing the projects. Once you decipher the assignment (sometimes they were worded poorly and hard to understand) and figure out what lectures the project correspond to, the projects would become really easy, just REALLY long to code up because there was so much you had to do. The Rust2PC project (project 4) sucked for me personally. Project 5 was probably the most time consuming, yet the most interesting of them all.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 15 hours/week
If you have good background in OS you will learn so much from this class. Even for those without OS background, it is not difficult to ramp-up quickly. Totally worth it!
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (5 / 5):
Workload: 20 hours/week
Pros:
1. Amazing professor and lectures
2. Very good lecture summary notes
3. Great recitation and homework problems
Cons:
1. Homeworks are extremely hard
2. Office hours are limited compared to the content
3. Hard exams with no curve
Detailed Review:
This course is an amazing course on the topic of basic Quantum mechanics and computing. Professor Aaronson is simply an amazing Professor who explains the concepts very well. The concepts themselves are difficult to grasp for first-timers specially after the midterm, but the professor still does a great job. The TAs are also very knowledgable as they are PhD students in the Quantum field. Homeworks and recitation notes enforce learning and the "textbook" helps to explain key points.
The issue that some may face is how math heavy this course is. I personally had math background but still needed to refresh as the concepts require math knowledge. Most importantly you should to be comfortable with Linear Algebra, probability, complex numbers, and some computer complexity concepts.
The homeworks take a lot of time as they are very difficult. You need hours of office hours and restudying to understand and solve the problems. There are some recitation problems to help you, but other than that you're on your own. Every week, there's a new homework and it becomes a marathon. Also due to the number of students, the office hours are always packed with people jumping over your questions. This is expected for a difficult online course, and this course would definitely be better in person.
The final note is that the two exams (midterm and final) are difficult. They are a bit easier than the homeworks, but the time is limited. You need some creativity and a deep knowledge to be able to get a good grade. Also, there is no curve, meaning that if you get a grade, that is your final grade. That's where this class becomes stressful and a bit tough compared to other courses in this program.
With all that being said, I really enjoyed this learning experience, and regardless of the grade I got, I feel like I learned a lot more than some other classes which I got an A in. Definitely one of the best courses in this program if not the best one. You should definitely take it if you are interested!