Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.9 / 5):
Workload: 16 hours/week
Pros:
1. Encourage use of LLMs for the HWs (explicitly not the shared assignments FCs)
2. Good, entertaining lecture
3. Engaging assignments
Cons:
1. Keep up with the due dates
2. Android studio updates
3.
Detailed Review:
Honestly, I really like this course. I'm not an SWE, so this was my first software-design course. It wasn't too demanding. The final project is what you make of it. I was fortunate enough to be able to tie the project to my job, so two birds with one stone.
Strong suggestion: get an android phone. Running your apps on your phone is so much better than emulating.
You will learn to get deeper into edge case tests. For the HWs and partner-assignments (FCs) you have access to a fixed number of "slip days" to allow for life events, but be too spendthrift with them. Assignments get harder over time. They were not allowed to be used on the final project.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.1 / 5):
Workload: 6 hours/week
Best Course. Professor is knowledgeable. TAs are supportive. Lectures are masterclass. All the professors in MSDSO should learn from Professor Wilke on how to design and deliver an online course.
Best things are Worksheets for practice
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (2.1 / 5):
Workload: 15 hours/week
Pros:
1. Fairly thorough coverage of the subject matter by a Prof that clearly knows and loves his subject
2. Pretty well structured course with exams that match the material very well
3. Most of the grade comes from projects that have 100% given test cases - if your code passes the test cases then you know your grade already - if it doesn't you can resubmit until it does so it's all on you
Cons:
1. This was the course's first run so there were some hiccups - the Prof bent over backwards with accommodations and so I don't think this was a huge issue, but it was irritating - that's what you get for being the first to take new course ;-). I doubt this will be an issue for the next class though (you're welcome)
2. Does have a dependency on Java (which I don't think it really needs) - no issue if you know Java and it's not hard to learn 'enough' Java for the Labs so not a big deal IMHO
3.
Detailed Review:
This is a well structured course that looks and the theory and implementation of modern programming languages. The main project has you building a compiler for a made up language, that will evolve throughout the course. You will compile this language initially to another 'fake' language (SaM) which is a stack based language design for teaching purposed, and then later directly to x86. Prof gives you the key ideas in the lectures and then you are supposed to figure out how to apply them in real world code - you can get full marks by just doing what he suggests, but the more of the 'fancy stuff' you implement in your own code, the more you will learn - it's up to you whether you are chasing an easy grade or packing in the learning. There is a straight theory component and that's a bit of head scratching, but the exam was very fair and not a heavy part of the final exam so it was entirely possible to get a 'A' even if you were better at coding than the theory.
The grades are straight letter grades (i.e. A, B, C - not +/-) which means if you would have got an A- you'll still end up with an A, but if you might have scraped B+, that's still a B - a blade that cuts two ways.
Overall, a strong recommendation for the course - the 'hiccups' that were present in the first release have been mostly ironed out - I suspect Prof will tweak a few things for the next run, but if you want to understand how compilers work and get a good insight on how you might use this to write better code - this is a great course and a lot of fun. There's a fair amount of work in the first few weeks (part of what I think the Prof may well tweak) but it gets much easier around half way through.
Overall Rating (5 / 5): ★★★★★
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (5 / 5): ★★★★★
Difficulty (3.6 / 5):
Workload: 12 hours/week
Pros:
1. Very well-designed programming assignments and final project
2. Good lecture video content covering a broad range of topics
3. Very active TA team in piazza
Cons:
1. The homework questions in EDX can be harsh in grading with very little attempt
2. Lack of professor presence in Piazza
3. Can be a tough learning slope for people with zero ML/DL background
Detailed Review:
The assignments were really well made, and in each week you need to code up some new concepts learned from the lecture videos. These programming assignments really help significantly in reinforcing what you have learned. I came to this course with prior knowledge in ML/DL, so it wasn't too difficult to nail the assignments, but I can imagine it to be hard for those who don't have the background. You can still do well in general, but you probably need some prior background in DL or really hard work to score full marks in some of the assignments.
Overall lecture content is pretty good - it touches enough on fundamentals and what I appreciate is also the professor's opinions in some of the topics with open questions. The general advice given in the lecture videos with regards to especially deep learning in general and computer vision are very helpful. I say that from the fact that I'm one of the practitioners in these area, and I still find insights from the lectures. I do hope that the professor is able to add more video content in subsequent semesters, perhaps to include some of the recent developments in DL too.
Overall there's also great support from the TAs in Piazza throughout the semester. Towards the semester everyone was bombarding the piazza with questions regarding to final project, and while the response could have been better, I think overall the TAs were really trying their best. Not sure why the professor wasn't present in the Piazza though.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (4.3 / 5):
Workload: 20 hours/week
I am an Engineer (20+ years) and a Python Developer (3+ years), without bachelor degree in Computer Science. It is my first course in UT Austin and I got (A-).
Great course. Much up-to-date information in the lectures. Enough slots for Office Hours in all time zones (I had suitable time for 5 days per week). This course is more focused on Computer Vision; such topics like NLP, RL are present in it but gave me only general knowledge.
What would I recommend to do/have/use:
1. Knowledge of Python (OOP, the ability of reading and debugging code).
2. Colab Pro (GPU) for all homework (except HW1) and final project. Do not forget to cancel it after Final project.
3. Start to learn PyTorch library in advance.
4. Linear Algebra (vector, matrix, multiplication, inversion) and Gradient descent.
5. Work far ahead, do not keep official schedule.
6. Try to get 100 or more (there are some extra credits) for all homework. They are not so hard, really.
7. Do quizzes in order, do not leave them on the end of the course (I did this mistake).
8. Try to find/create a group for final project during working on HW4. (Four people in the group are better than three, two, one; more people means more ideas. Many people did the project alone. Different time zones do not matter.)
9. Discord server is a place for extra communication and possibility to find a team for final project.
10. ‘Writing part’ in the final project gives 21 points. Try to have got in the team a person with experience in writing papers in scientific style.
11. Find and read a book about Deep Learning. It is not an obligation, lectures are enough, but reading gives better understanding of the subject.
Homework, my estimation (now all seems to me so simple, even a final project):
HW1 – 2 days
HW2 – 3 days (only understanding tests in the local grader helped me)
HW3 – 1.5 weeks (U–net, skip connection)
HW4 – 1 week (test cases are very tricky)
HW5 – 2 days (I very quickly found a right approach). This HW is in the tournament and can give extra sufficient credit. I got 100/100 on Canvas, but nothing in the race. Now, I would allocate several days and improve my model and controller.
HW (extra credit) – I tried, after Final project, but could not solve it in a week; in my opinion it requires full NLP course under the belt. Some people did this HW instead of HW5, but HW5 is connected to Final project.
Final Project (image-based) – 6 weeks. (After four weeks we had much knowledge, but nothing to commit. Then with two fresh ideas the main part was done in a few days and one week for the writing part. We did not have to write ‘alternative approach’, our code score > 70; according to TA, previous Spring 2023 course had mean=45.35 and median=44). The main advice: early start, four people and good writer.
Final project (state-based). According to the comments is simpler but requires RL course.
Some extra statistic: After HW1 we have 210 people, before HW5 - 201 and after Final Project -182 at the course.
I hope that my review will come in handy for future students. Good luck!
Overall Rating (5 / 5): ★★★★★
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 17 hours/week
Pros:
1. Projects. Seriously, I loved the projects
2. Responsive TAs
3. Up-to-date
Cons:
1. ALLOT of students. It's popular for a reason
2. Uneven time commitment (projects had varying degrees of difficulty)
3. Really, that's about it. I can't think of a third con.
Detailed Review:
I finished this course just as ChatGPT hit the news. I kind of what to see how the coursework changes in the following semesters. This area is so active, in only a few years, resources can be completely deprecated. And that is a good thing!
I took this as my second course. If I were to reconsider, I probably would take Machine Learning into Deep Learning (not taken yet) and finally into NLP. The DL though is very much optional, but could be helpful as NLP is dominantly concerned with Neural Networks. If you don't already have an ML background, I would consider that course a firm prerequisite.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (5 / 5): ★★★★★
Difficulty (3.6 / 5):
Workload: 15 hours/week
Pros:
1. Relevant, updated content
2. Challenging, thought provoking homework
3. Enthusiastic professor (who was also engaged with the class)
Cons:
1. Timed midterm
2.
3.
Detailed Review:
I took this course after it had been refreshed in Fall 2023. I see this falling into two chunks: NLP without transformers, and NLP with transformers. For completeness, the professor goes over a good portion of NLP before transformers came on the scene, but acknowledges which things are no longer really being used, so we don't focus on those (which I appreciate). The transformers chunk is where I feel like I learned the most, because I hadn't worked with them before this (Instead of just using a transformers library, you implement them from scratch!) After the midterm, the lectures become less intense, which was helpful in completing the last homework(s) and project. I think the project is unchanged from previous years, but I liked that it was fairly open-ended and you could take it any direction you wanted. I like that there was a lot of focus on critical thinking about the output of the models in this class and how to identify or maybe fix some of the problems you see or explain some behavior (it's not just programming).
I would suggest anyone new to Pytorch to take DL before this only because there can be a learning curve with that (DL has a very good intro to Pytorch; NLP will introduce you as well, but you are expected to zoom up to speed quickly). As with most other courses some linear algebra and probability would also be useful but not in-depth. TAs were very helpful. Even the professor was active on Ed occasionally! The workload in this class was more intense at the end of the course due to the final project. I don't think I referenced the book beyond the first half of the class very often, but it's useful to supplement the lectures.
Overall this was a great course. The class went by super fast, but it was worth it to feel freshly up-to-date at the end!
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (5 / 5):
Workload: 25 hours/week
My favourite class so far. Lots of work, but worth every minute. You will learn a lot, and it will be very practical knowledge that you can apply in your every day programming. I think every student should take this class. Huge shoutout to the professor and TAs for being very active and helpful on piazza and email. Workload can range from 20 to 30 hours.
Overall Rating (5 / 5): ★★★★★
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (1.8 / 5):
Workload: 15 hours/week
This has been one of my favorite classes in this program. The lectures are fun and I really felt like I got a lot out of them but the projects/labs are where the real meat of this class is. Given a passing familiarity with parallel programs (basic threading/multiprocesses) most of these were pretty easy. Except CUDA. Prepare to spend some serious time on that lab. Some of the strategies to to these labs are very different than the simple multithreaded version so start them early to make sure you have the time to comfortably read the documentation of whatever language/library you are using because you will need to get comfortable with it. This is typically where the difficulty lies and otherwise the projects are fairly straightforward. Having and IDE or some other tools to give feedback on code other than the sometimes cryptic compilation or runtime errors can be extremely helpful. Everything felt extremely practical and I would be confortable stepping into a codebase that used what we learned in class and feel like I have a clue about what is going on. The lack of a simple autograder for program output makes correctness checking a little difficult.
Overall Rating (5 / 5): ★★★★★
Professor Rating (5 / 5): ★★★★★
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 15 hours/week
Pros:
1. Very clear explanations of content, understandable even without a lot of prerequisite knowledge.
2. The course is practical, and you are assessed on your ability to build projects.
3. Lectures are digestible in size, and more time will be spent on projects.
Cons:
1. The projects can be very time-consuming if you do not budget your time well and anticipate project workloads far in advance.
2. Some of the content around transformers was very difficult for me to understand, results my vary.
Overall, I would highly recommend this as an excellent course. It is coding heavy and light on math. I truly feel like this is the best course I have taken in a long time.