Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 17 hours/week
Pros:
1. A good dive into theory of ML to lay the foundation for the program.
2. A good balance of theory and practice in homework assignments.
3. Plenty of time to study for the exams.
Cons:
1. The textbook is one of the worst on this topic, wrong choice for the audience.
2. Peer-grading wastes a good deal of time without any valuable feedback from 90% of peers.
3. The second half of the class is shallow and does not prepare students for the exam.
Detailed Review:
The course tries to cover a large area of classic ML, which is honestly difficult. The first part is proof-heavy but that what distinguishes this course from many ML courses offered online. I personally found the theoretical foundation useful. The second part is a bit shallow and especially the homeworks do not prepare students for what they will be facing in the exam. But overall there is a good balance of theory and implementation in HWs to feel confident about the subject. Definitely recommend it before taking other courses in the program.
The textbook is an absolute disaster. I read about 50% of the textbook during this course, most students skip it. But the book is written for mathematicians in my opinion. Does not offer much to the student.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 20 hours/week
Pros:
1. Breadth of Topics Covered
2. Projects are interesting
Cons:
1. Big time commitment, especially final project
2. Material is slowly getting more outdated
3. Quizzes can be tough
4. TA office hours were terrible for full-time students working in US
Detailed Review:
Material: This course covers a lot of material, which is great. I really like how it progressed from simple models like linear regression up to advanced networks like GANs, Wavenet, transformers, etc. However, the material is becoming more and more dated. For example the NLP section does not discuss transformers in depth, image generation doesn't discuss diffusion models, and the RL section doesn't discuss state of the art. To be fair, there are courses in RL and NLP in this program. If they revamp this course, I think it would be better for it to just focus on the computer vision concepts in more detail and let those other courses focus on the other deep learning topics.
Homeworks: There are five homeworks with one optional one to replace your lowest score. The first two are extremely easy and take only a few hours to complete. These two could have arguably been combined into one assignment and the time commitment would still be less than homework 3 and 4. Homework 3 and 4 take much more time, but are arguably the best part of the course. They involve making networks for advanced classification, segmentation, and object detection. Plan ahead to spend quite a bit of time on these two. The last one is also easy and doesn't add any value in terms of learning new material. I didn't take the optional homework, but it was an NLP assignment. If you plan to take the NLP course, you probably aren't missing much as the assignments in that class are updated to be more relevant with the latest research like transformer based language models. I think the homeworks could be improved in future iterations.For example, I think the last assignment would have been better if it was based on image generation.
Quizzes - You have to complete 30 short quizzes on Edx with two attempts at each. Most of them require a lot of multivariable calculus, probability, and algorithm analysis to properly answer. If you understand these concepts and closely watch the video, you can get a good grade on them. My advice is to plan ahead and expect to spend more time on these than you originally think.
Final project - I wasn't a huge fan of the final project. First it is a group project, so you have to deal with the added complexity of setting meeting times and dealing with the potential situation of getting paired up with group members who don't contribute. Next they give you two different options, with one being orders of magnitude harder than the other one. In one, the lectures and material do not prepare you for the task at all and it will require a ton of independent research to get a mediocre solution as best. In the other, you can do well at but arguably doesn't really help you learn any new concepts in terms of deep learning. Overall it was a huge time commitment and I didn't really feel it added any value in terms of material. If they revamp this course, I think they should change the final project. I liked the final project in NLP way better and thought it was structured in a way to enhance learning of the course material. This one felt more like a straight grind with little value add in terms of the course material.
TAs and Piazza: This course is entirely TA run. Besides the prerecorded lectures, there is no other professor engagement. The TA office hours were almost exclusively during working hours for US based students. So if you work full time, you likely will not be able to make it to most of them. During the beginning and middle of the course, the TAs were not responding much on Piazza either. Most of the support for the course came from fellow class mates to be honest.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 14 hours/week
Pros:
1. Very practical material that covers stack and register machines
2. Projects are auto graded and can be submitted at will
3. Material for exams are well defined and graded fairly
Cons:
1. New course which wasn't well scheduled, projects were often delayed/skipped
2. New projects which had incomplete/inaccurate/confusing directions at times
3. Projects do a bit too much hand holding, don't leave much room for self-direction
Detailed Review:
If you don't know assembly or Java, you'll have to spend some extra time on your own getting up to speed. Homework is optional, but it will help with exams if you are new to the material. However, homework submissions are used as an optional curve by the professor.
Projects, which account for 3/4 of the grade, are automatically graded and you can submit them multiple times. If you are willing to put in the time, you can almost guarantee a good grade in the course. (And they often will take quite a bit of time) Most of the focus was on LiveOak which is a Java-like stack machine based language. The class unfortunately didn't get to spend much time on the x86 register project due to delays.
Overall, I really enjoyed the course. Once it's had a couple semesters to iron out the wrinkles, I think it could be great.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (5 / 5): ★★★★★
Lecture Rating (2.1 / 5): ★★☆☆☆
Difficulty (2.1 / 5):
Workload: 10 hours/week
Pros:
1. You'll get to write a fair amount of code, including for a project you choose, and Kotlin is an enjoyable language to learn and use.
2. You don't really need to watch any of the lectures if you don't want to. Reading the Android documentation and referencing the sample code provided is enough to get you started on all of the assignments.
3. There aren't any exams to worry about.
4. The professor was incredibly engaged compared to any other online class I've ever taken.
Cons:
1. If you do want to watch lectures, they aren't organized well on edX.
2. XML layouts are somewhat outdated and tedious to work with.
3. Skeleton code is provided for every assignment except your own project. This is both a pro and a con, you'll get done with the homeworks faster but you also won't learn basic techniques to deal with dependencies or how to structure your projects early on.
Detailed Review:
I meticulously tracked every minute I spent on this class. Over the course of ~14 weeks (since this class' last assignment was due approximatively 1.5 weeks before the end of the semester) I spent 139 hours. So overall, just under 10 hours per week.
I think this is probably a good first course to start with in the program since the workload is manageable and you do learn some concrete Android dev skills. That being said, this might stand alone in this program as a course that is exclusively applied and introduces no theory or concepts.
Lastly, I do want to mention that the professor and course staff were very helpful and responsive on ed. This doesn't seem to be the norm for other courses so it was refreshing to see.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 15 hours/week
Pros:
1. strange and interesting material
2. most multiple choice questions are like fun logic puzzles, if you like those
3. projects are practical and fun
Cons:
1. stressful quizzes
2. easily cheatable grading scheme (answers revealed immediately after submission)
3. uneven project workload
Detailed Review:
This class was fun but stressful. The first part was a very in-depth look into the boolean satisfiability problem. I did not know about this problem or why it's a big deal. It would have been nice to go in-depth into some of the real-world applications, which were mentioned briefly. The programming assignment for this part was intense, so future students should be mentally prepared for that. There isn't much room for creativity there, since the tasks was basically to implement algorithms and subroutines that were sketched out in lecture. The difficulty comes in a large amount of implementation.
The middle part of the course was on first order logic and satisfiability modulo theories. It was decent. I felt like a whole unit about linear programming was not necessarily appropriate for the course (since we could likely learn that better from other sources). However it was nice to get a taste of several different theories. The programming assignment was fun but maybe too easy -- basically everyone got 100 on it, and it only required one small "aha" moment.
The last part about Hoare logic and program verification was my favorite. This felt the most related to day-to-day programming work since one analyzes programs written in a small but familiar language. The programming assignment was quite fun although it felt more disconnected from the lecture material (one could complete it without needing to do any of the proofs or fixed point computations mentioned in lecture -- just educated guessing).
It was clear throughout the course that this was a first rendition for the online program. The most critical improvements in my opinion would be to 1) re-word ambiguous homework and quiz questions, 2) withhold quiz and homework answers until after the deadline to prevent cheating and (impossibly) high average scores, and 3) to even out the workload in the programming assignments.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 10 hours/week
Pros:
1. Weekly HW assignments take some effort but are very doable
2. Material (especially in the first half) is interesting, uses geospatial data and real life time series data sets
3. TA is extremely active on Piazza, both professors seem like nice people
Cons:
1. Professors switch halfway through the course and the second half instruction is worse than the first
2. Second half of course lectures are unclear sometimes
3.
Detailed Review:
This course left an overall positive impression on me. Grade is made up of weekly homework assignments which can take from 2-6 hours, but are very doable/satisfying when you finally crack them. There are some straight up math problems that you'll need to solve on paper/draw on a touchscreen and submit. The first half of the course is taught by Professor Calder and covers time series and geospatial data. She uses R and provides helpful starter code and code walkthrough lectures. The material/math can seem a bit intimidating, but Professor Calder did a good job of making it intelligible.
The second half of the course is taught by Professor Sarkar, and deals mostly with matrices/PCA/clustering. Professor Sarkar uses Python, and does not provide starter code (nor does she copy the code into the lectures, but rather includes screenshots of code snippets, which you can type out yourself). Professor Sarkar seems like a very nice person and I could tell she was trying to introduce us gently into matrices/linear algebra, but I found her lectures very hard to follow, especially as the course went on. She includes a bunch of graphs but never puts any axes labels on them so most of the time I had no idea what she was referring to. By the end of the course I ended up just watching her lectures on 2.5 speed to get through them in the off chance that she said something useful for doing the homework, and always googled how to do the homework.
Preston the TA is amazing; he's the most responsive TA I've seen on Piazza. It could be because it was a small course so he could be more responsive to everyone's posts.
The homework is peer graded and I felt my peer graders were fair. One thing, make sure you include a title, axes labels, and figure description on all your plots/graphs! That was always on the answer key/grading rubrics we used.
First half professor/lecture quality - 6/7, second half - 3/7.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 18 hours/week
Pros:
1. Weeks 1-8 are excellent and hugely relevant
2. The textbook is well formatted
3. Homework really tests your understanding
Cons:
1. Most pathetic staff support I have seen in the program
2. Mysterious/harsh grading
3. Last 3 weeks felt like a splattering of random topics
Detailed Review:
I took this course during the summer due to the lack of other options. People had warned me that this would be a grind due to the shorter semester - something is due every Sunday. I'd say I managed to survive only because I had finished first 6 weeks before the semester itself. I enjoyed the first 8 weeks of the course as they are very relevant and coherently presented, but the last 3 weeks did not make too much sense to me. I am hugely disappointed by the course staff too, who straight up ignored clarification posts on Ed, randomly decided to not show up in their office hours meetings, and deduct a large % of points for minor mistakes. Also, their grading speed was way too slow which makes me wonder what were they even doing during the semester. The instructor, Nikky, was very inactive on Ed as well and asked people to send an email to him for any queries - which I find lazy.
My request to UT Austin is to please stop milking these courses for free money and actually give a damn about the student experience. I say this even though I got an A.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 10 hours/week
Pros:
1. Engaging prof
2. Cool assignments that make you learn
3.
Cons:
1. Did not like midterm and final
2. A bit tedious if you are not careful
3.
Detailed Review:
This is a worthwhile class that I would recommend. It is a decent amount of work and cannot be put of until the last minute. The projects are someone what open ended. The test cases are given and the objective is clear, but there is great freedom in how you implement the solution. I found the midterm and final to be extra stress for little gain. They are not overly hard, just extra work while already busy with the projects. The practice exams also did not help at all. Completely different when it came to exam time. I will say the professor is one of the best I've had so far. His lectures are pretty engaging.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 12 hours/week
Pros:
1. Well-designed lectures I enjoyed watching. Good lectures while maintaining the rigour of a graduate course. Plus they were all made available early in the semester.
2. Peer reviewed quizzes section was graded for completion rather than strict correctness (Fall 2023). More important tests and assignments were auto-graded.
3. Good textbook (Regression and Other Stories)
Cons:
1. Too focused on Rubin's classic perspectives on Causal Inference. Could benefit with expanding the more recent developments section (e.g. difference-in-difference models, instrumental variables, econometrics, etc)
2. Peer review section can still be a hassle to complete.
3. HARD tests. Too dependent on the professor's reading of Rubin et al. More like a literature class test than a data science test at times.
Detailed Review:
Very good class in terms of the lectures and readings (although if you're the type to avoid many readings that can be a con too). I thought the lectures in this class were the best in the statistics elective group in terms of balancing "not being boring and not too heavy" while maintaining rigour at the same time. The other statistics courses were either "better but too easy" or "worse, period".
The main challenge in this class is the major exams, which felt more like literature tests than data science tests at times. But at least the class was curved at the end.
Note: This class is currently being revamped and not available as of Spring 2025. The original instructor is also not with UT anymore.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 5 hours/week
Pros:
1. many topics covered
2. short class, light workload except first week
3. TAs/LF staff dedicated to student success
Cons:
1. nothing covered in much depth
2. programming assignments too much handholding, too basic. could use more engagement with material.
3. student grading lol
Detailed Review:
this course is like a tasting menu of many topics but with very small portions. the course covers a lot, but i felt we spend very little time on topics that can have dedicated courses of their own. it moves quickly, but not in a way where it's hard to follow. just that we don't cover much of anything in depth.
the course has two parts and i personally found klivans's lectures were better motivated than liu's. liu has a wonderful draft textbook to accompany his lectures, but sometimes we were too in the weeds of mathematical derivations in lectures. missed the forest for the trees.
overall, it's not a challenging course. there were many derivations in lectures, but it wasn't really a theory course. lectures and homework assignments were more than enough to be successful. there was also an extremely engaged group of LFs for this course who were very dedicated to student success. i think that helped a lot.