Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (5 / 5):
Workload: 25 hours/week
Detailed Review:
Curve (courtesy of Slack https://utmscso.slack.com/archives/C02CTL8552L/p1652989830735119?thread_ts=1652888354.721399&cid=C02CTL8552L):
C 54.5 - 59.5
C+ 59.5 - 64.5
B- 64.5 - 71.5
B 71.5 - 78.5
B+ 78.5 - 86.5
A- 86.5 - 89.5
A 89.5 - 100
The class curve of giving a B down to 64.5% makes it clear that the class is too hard, and highly curved to avoid flunking too many people out of MCSO.
The homework (20% of grade) and quizzes (50% of grade) were often impossible to answer from the class material. This disconnect between the lectures and the homework/quizzes is the reason for the low ratings.
Another review of this class compared the mental cruelty of the homework to Squid Games. To elaborate, the homework gave you a "second chance" to resubmit another answer. After a while, I realized that I was making my grade worse on most resubmissions, so I mostly stopped submitting a second answer on homework (except for T/F questions of course).
Separately, multiple students were caught cheating on the programming exercises. So TA's do check.
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (5 / 5):
Workload: 8 hours/week
(This was pulled from the old reviews sheet and did not have any text)
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (2.5 / 5): ★★★☆☆
Difficulty (0.7 / 5):
Workload: 7 hours/week
Detailed Review: Not quite sure what to say here. This seems like a pretty clear cut case of a course creator walking away from a course and the department trying (not very hard) - and failing - to replace him with folks who, frankly, really aren't qualified for the roles that they've been chosen for.
They put another faculty member down as the instructor of record, but that was a joke. Course was run by a grad student from, I think, the geology department. I guess they've done a little DL in the past (emphasis on "little"), so they were totally qualified to run a graduate course on DL (sarcasm, in case you cannot tell).
Horrible support around the project, partly because there really wasn't any leadership from said grad student / head TA, partly because most of the TAs seem never to have read any of the papers most relevant to the project, and so couldn't really answer questions about them (or even discuss them fluently / intelligently).
Rather than admitting they were out of their depth, they implemented some pretty draconian rules around office hours (e.g., can't ask certain questions re the project, have to post in edStem, etc.) to stop some of the more engaged students from asking questions they weren't prepared or able to answer, and thus embarrassing themselves. We're all supposed to have been dim enough to not know that this is what was happening, but I reckon the teaching team fooled only themselves with this particular ruse.
Overall, pretty horrible / disappointing experience. Super low standards for how the course was taught, who would teach it, and some low level bullying from the course staff and the administration (also - weirdly - LinkedIn creeping / stalking from some of the course team / admin...guess our group must have really hit home with some of our criticisms).
If I weren't a course away from finishing the program, I'd quit after this one. After this course, I'm deeply looking forward to being able to mark this program as "completed" on my resume and then to never think about the massive waste of time the course and the program overall have been.
One silver lining, here: The course really doesn't require much effort. I took it along with two other courses while working full time, and everything worked out fine. Aside from a couple of HW assignments and the final project, you can build off the instructor solution from the previous HW...generally, not too much needs to be changed. So get through HW1 - which is super straightforward - and HW3 - which is much less so - with decent grades, and the rest will fall into place. Quizzes are likewise not bad if you don't overthink them (you don't need to be mathematically rigorous to complete these...just do "what comes naturally" on the quizzes, and you'll be fine).
Coding portion of the final project is a complete waste of time. There's really not a whole lot to be gained by struggling to understand the poorly documented starter code they provide (and the set up is also a real pain). That's all super orthogonal to what you came here for (understanding DL), and none of that effort is ever going to be repaid outside the course. So take a whack at it if you like, but focus on the report. It's worth considerably more in terms of your final grade, and it's possible to get a perfect / near-perfect score on it regardless of performance on the coding portion of the final project (our group did). You're also going to get much more out of reading closely a bunch of papers on DL and DRL, understanding them, and writing about them than you will out of slogging through the course creator's vanity project. The course is designed and led by selfish people who don't care much (or at all) what or whether you actually learn. So be selfish yourself and game it so that you learn things that are actually going to be useful to you while still passing the course and without worrying about jumping through all of their stupid, pointless hoops. That's good advice for the whole program, actually.
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (4.3 / 5):
Workload: 10 hours/week
Cons (no chance of learning from the garbage instructors and garbage course material with no other place to turn?)
1. Limited engagement from TA and staff on discussion boards
2. Lots of typos, mistakes, and errors (written and verbal) throughout lectures, homework, quizzes, and other course material so you don't even know what's right
3. Unclear and incomplete explanations of many classroom concepts that are eventually tested
Continuing Cons:
1. Small hundredth or thousandth place rounding issues cause you to lose points
2. Lots of proofs... as if we all want to really pursue PhD-level statistics... we just want to do better in industry
3. Crazy high passing requirement
Detailed Review:
It's a shame this is a forced foundational course or there would be 0 enrollment. I think the cons covered almost everything that is wrong with this course, so there isn't much to add here other than a plea to fix this course (switch out the professors for better ones, hire TAs that do more than respond with "email the course email" because that is just so helpful obviously..., and fix the curriculum which is so wildly inappropriate) so that the UT MSDS degree is not a sham.
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (2.1 / 5):
Workload: 3.4 hours/week
Pros:
1. TA’s were helpful where they could be
2. Lectures are (generally) independent of one another and no final exam
Cons:
1. This class felt like it was taught to the wrong audience
2. Non-interactive lessons
3. No textbook / lack of great materials
Detailed Review
Pros:
1. The TA’s feel like the glue holding this course together. They helped to navigate the bad grade curving of Peerceptiv and were very responsive to questions. 10/10 for them
2. There are 11 modules, all of which aren’t really dependent on one another, and there is no final exam. Thus, you don’t have to remember much from unit to unit in order to perform well. This made it nice while trying to navigate this black hole of a course over time.
Cons:
1. Many times in his lectures, Professor Walker would say things to the effect of “I know you all have a good idea of [X topic] so I won’t go into it too much here” or “[Method Y] is something I’m sure you know” when, in fact, most of us don’t know what [X topic] or [Method Y] are at all. It felt like Professor Walker was teaching to the wrong audience, as if he was expecting all of us to have a specific set of precursor knowledge. That led to a lot of confusion and disconnect with the lectures.
2. This whole course was Professor Walker talking through PowerPoint slides. Nothing more. He didn’t even have a mouse cursor so we could follow what point of the slide he was talking about. This made lectures hard to follow and boring. Sometimes he would have some example “experiments” he coded out so that we could see how various statistical tests worked, but there was no expectation of us to “code along” or to think critically. Just hours on hours of listening to him speak. I ended up skipping most of the lectures toward the end of the course.
3. There is no textbook for this course and the lecture slides are very lecture-specific, meaning you can’t just read the lecture slides by yourself and get the whole picture. Many of the slides have edits to them that are only mentioned in the lecture (assuming the data is centered around the x axis, assuming you only have one feature, etc) such that the slides aren’t useful outside of this class. On top of that, there is R code provided alongside the lectures, but the R code is some of the worst code I’ve ever seen. It isn’t documented well and is littered with inefficient code and bad variable naming. It's hard to learn when there are no good materials to pull from...
Ultimately, I felt this whole course was interesting but won’t generalize well outside of this limited environment of a class. I can definitely see why this is the lowest rated class in the program and hope this class can be revamped in the near future!
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (0 / 5): ☆☆☆☆☆
Lecture Rating (0 / 5): ☆☆☆☆☆
Difficulty (3.9 / 5):
Workload: 10 hours/week
This is a theory based course. The theory you learn in this class will carry over to other theory classes like
Machine Learning. In hindsight the actual material that is taught is not too difficult, but because of the poor
communication, the poor lecture videos, and frankly a TA that was not helpful and absent in Piazza, you were on your own
to learn the material from the textbook. You basically paid $1000 to teach yourself the concepts via whatever
you could find on the internet. For the most part the homeworks did not follow the lectures, and that was frustrating.
The exams were similar. They said they are fixing up this course, and I hope that they do, because the content here will
definitely help you in other theory courses, and they really aren't that difficult to understand. Machine Learning has easier
theory than in this course. If you do decide to take this course after they rework it, I would still wait another semester to
see if students have a better sentiment.
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (1.4 / 5): ★☆☆☆☆
Difficulty (5 / 5):
Workload: 30 hours/week
Pros:
1. The lectures are overall good, with clear explanations of theory, drawings on chalkboards, and discussion between Leo & the professor
2.
3.
Cons:
1. The 6 assignments make up 70% of the grade and they ramp up in difficulty very fast
2. You cannot work in groups at all. Any discussion of the assignments or quizzes, even after they're done, is considered cheating.
3. The lectures are purely theory - no coding, so if you don't have prior coding experience, you'll have a hard time connecting the two and teaching yourself code.
Detailed Review:
I should've known better than to take this class right from the first week when the teacher wanted everyone to install linux, but the instructions he provided were so woefully inadequate (and caused many errors during set up) that it took myself and two other people (who had extensive to moderate experience with linux) about 8 hours to work through all the errors and finally get the installation to work properly.
The grade distribution is 30% quizzes, 70% assignments. The teacher assumed all the students have a high level of coding experience already, so there is almost zero coding discussion in lectures and he has insanely high expectations in terms of how you learn on your own:
- no working in groups
- no discussing assignments or quizzes with anyone at all, even after they're done and submitted
- googling for ideas on how to code something can also be considered cheating per some of the piazza discussions I saw from TAs and the teacher.
So basically, if you don't already have a solid coding foundation, you are forced to teach yourself how to code in this class... BUT you are also scrutinized for how you learn and some of your google research can be considered cheating.
The assignments themselves are really tough if you don't have a coding background. Basically, the teacher provides the skeleton of the assignment and you have to fill in one or more classes to complete the code to make it functional. You are graded by an autograder and they have secret test cases that they grade you on. For the most part, the teachers and TAs have not been forthcoming about what these test cases are, but they dock you major points for not getting them. I missed a couple on my second assignment and it dropped my score to a 52% even though the bulk of my code was working.
Also frustrating to note is that no solutions to assighments will ever be provided - instead you just get cryptic notes saying what tests your code failed. So you're left in a situation where you did something wrong, but you don't know exactly what you did wrong or how to fix it. By the halfway point of the semester, Piazza had over 1000 posts written in it and it was incredibly difficult to wade through all those posts to find information relevant to your work. Even worse, the assignment instructions are written very poorly and often times you have to search through piazza to find an important change / clarification to the assignment was announced halfway through the week (for example, the teachers didn't include in the instructions for project 3 that it would need to have multiplayer functionality and the majority of their test cases would use multiplayer. So if you just didn't see the piazza post announcing multiplayer functionality and you submitted a perfectly working code only for single player, you'd basically not get many points for the assignment since most of their test cases were for multiplayer). Furthermore, it takes them FOREVER to grade assignments. The first assignment took 11 days by my count. The second assignment was closer to two weeks.
People have been so frustrated by this class that they openly criticized the teaching in piazza posts and the best answer we have gotten out of TAs and the teacher is that they weren't aware of the programming level of the average student AND "don't worry if you didn't do well on one of the assignments, there will be a curve". Which really doesn't answer the concerns students had at all. Furthermore, there is a major disconnect between what the teachers expect and the reality of this class - the syllabus states they expect students to spend 5-10 hours per week on this class, but when the reality turned out very different, a TA clarified in piazza that assignments could take "dozens" of hours. For the students struggling in the class, they ask the teacher and TAs for more concrete information on grading and how to improve, and the TAs / teacher always fall back on "there will be a curve". But what does a curve matter when this class is pretty well divided in terms of student coding skill? On the last assignment, 40% of the students scored a perfect score or higher. The portion of the class that already has a very solid background in coding surely will demolish the curve for everyone else, and this is a concern voiced by multiple students that the teacher and TAs seem to refuse to acknowledge.
Overall, I despise this class. I expect this degree to be full of difficult classes and I expect I have to work hard. I have a math background, so I always expected that I would need to up my coding game to make sure I can handle these courses. But the way this class is set up feels like the teacher wants to treat students like criminals. Right from the start, they don't want to teach any coding and they are extremely restrictive with how students interact so students cannot help each other learn coding, and they consider much of online googling to self-teach as cheating. I realize the teacher is trying to prevent cheating by being very strict, but in my view, he's being so strict that he's also limiting the learning potential of students.
I am of the opinion that, as long as you learn what you need to learn, at the end of the day it doesn't matter how you got there or how long it took you to get there. But this class's restrictions make it seem like the teachers strictly only care about the code, about deadlines, and about the fact that you cannot learn in groups or use outside resources to teach yourself.
If you have a strong coding background already, you'll probably find this class to be a reasonable difficulty level and maybe even a "fun challenge". If you do not have a strong coding background, I strongly discourage you from taking this class until you do. This is, hands down, the most miserable experience I have ever had in an academic setting in my life and I regret signing up for the class. Straight up, I would prefer to take the theory-only version of the class over this version.
Hopefully the teacher makes some adjustments to make this course more doable for those of us that have primarily non-CS backgrounds, but so far the only adjustments the TAs and teacher have hinted they may do is:
- provide video instructions of the assignments to hopefully make all the expectations more clear
- get a half-semester course in coding available for students to improve their coding skills
I feel the need to say this again, since there has been a lot of elitism from CS students in the class looking down on the non-CS students. Saying stuff like "I thought the assignment was easy" or "you should've known a graduate level course would be hard, why didn't you prepare?" isn't constructive or helpful. There seems to be a big divide in the class between the CS elitists and everyone else, and it makes the entire vibe of the class feel very hostile and upsetting.
If you're a person with a strong CS background already, I would guess you could take 10-12 hours on the assignments per week. If you're not, prepare to bang your head against the wall and have sleepless nights, spending 30+ hours on an assignment just to have your score come back as a 50% or lower, to not get any meaningful feedback, and to just be told "there will be a curve".
I cannot emphasize enough how much I hate this class. I hope they make improvements to it in the future, but with how non-responsive most of the TAs and teacher have been to criticism from students, I don't have a lot of hope that major changes will happen in the future.
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (0.7 / 5):
Workload: 8 hours/week
Pros:
1. Light workload
2. Can be taken in the summer
3. Can say you took a course on regression models
4. Other students are really good / sharp.
5. The course is effectively only 9 weeks long, since you can get a numeric grade of 90 by completing the first 9 assignments with a grade of 100, and letting the assignments for weeks 10 - 12 go (90 is the cutoff for an 'A'). A numeric grade of 78 or above is the threshold for a letter grade of 'B', which is even easier to accomplish by completing all assignments through week 9.
Cons:
1. Get an easy A, but learn nothing useful
2. Assignments generally due on Friday evenings (makes zero sense for working professionals)
3. Course staff not very helpful with questionable professional scruples
4. The course is effectively only 9 weeks long, since you can get a numeric grade of 90 by completing the first 9 assignments with a grade of 100, and letting the assignments for weeks 10 - 12 go (90 is the cutoff for an 'A'). A numeric grade of 78 or above is the threshold for a letter grade of 'B', which is even easier to accomplish by completing all assignments through week 9.
I think the biggest issue for me with this course is that I'm not exactly sure what it's intended to accomplish.
It doesn't dive deeply enough into the theory to provide a really solid foundation for understanding this material on an abstract, theoretical level (case in point - the week of material on Bayesian statistics might be the worst presentation of this material I've so far come across - shallow, superficial coverage which isn't going to see you learn anything useful), and the applications are either lacking depth and context or - in some cases - just nonexistent.
So I'm not sure that one should even feel confident applying these methods in real-world scenarios procedurally / mechanically to solve actual problems.
Overall, it feels like someone said "Oh, this course of study should have a regression class", and then hastily threw one together without giving much thought to what would be of actual value to folks hoping to work as data scientists; it's not even entirely clear that the course creators really know what would be of value to DS people, frankly. The code samples the course provides are embarrassing, and you definitely wouldn't want a prospective employer to catch you coding R the way these people do. A for loop? In R? Really?
I think that what I'm noticing is that there's a significant gap between what academics think DS is, and what industry thinks it is. And the issue there is, it's not the academics that are doing the hiring for these roles. It's industry.
**********
PRO TIPS:
**********
Don't watch the lectures (they're worthless). You'd just be wasting your time.
Skim the slides, and then go straight to the HW for the week (start right away).
Go back through the slides as you work through the HW for the week. The question order in the HW generally follows the order of topics in the slides (i.e., later HW questions generally correspond to later portions of the slide deck).
Ignore any parts of the slide deck that aren't directly relevant to the HW (what are you hoping to get out of someone's hastily composed slide deck when the course affords no chance to apply any of that content in the HW? You can read / skim through it if you like, but that's about as much as you're going to get out of it).
Just treat the HW on Bayesian methods like any other homework. No, you are not going to learn Bayesian statistics from this course (you're not even going to half learn it, in fact). But you also don't need to do that in order to get through the corresponding homework assignments. Don't panic and start asking for the title of a million different books on Bayesian methods; and really, why ask these people? Do they *seem* like folks that have any interest in - or capacity for - clear and effective communication? Their recommendations are likely going to be as useless as the lectures they put together. Do the homework, move on, research material on Bayesian methods yourself until you find something that you can actually access, and go back and learn the topic properly on your own time. That's your best bet.
Aim to get a perfect score on the first 9 assignments. If you do, then - with the way the course is graded - you're done. >= 90% is an 'A', so you can hop off at that point. The topics in the final three weeks are important, but the homework assignments are not (None of them are, really. They're in general very poorly aligned to the content of the slides, and are a better tool for assessing the knowledge you walked in the door with than anything you were supposed to learn in the course itself). So read up on that stuff using a resource of your own choosing, but quit doing work for the course at that point. It's a waste of your time.
Code everything in R (or Python) yourself, from scratch. You'll learn more doing it that way, and the provided code is pretty much uniformly bad / well nigh indecipherable.
_________________________________________________________________________________________________________________________________________________________________
Ok - 9 weeks into the course now. None of my subsequent experiences in the course did much of anything to alter the opinions expressed above (reinforced them, if anything).
I can add to the above that - after finally looking at the office hour recording for the first time in week 9 - you should definitely attend the office hour only if you're gunning for the full 'diploma mill' experience.
In the OH recording that I skimmed through, I was shocked to see that the TA for the course basically just gave students in attendance the answers to the homework questions.
And it's not as though this was being done at all surreptitiously. The OH recording was made available to all students via a link left in the course Piazza all semester long. So though I didn't go back through the other OH recordings for weeks prior to week 9, it's likely that many students were essentially being spoon fed the answers to the homework questions all throughout the semester.
Frankly, I expected better from an 'elite' public flagship like UT Austin, but oh well. You get what you pay for, I guess.
Poorly taught. This class is beneath the instructors, and grading is beneath the TAs
Spring 2023CS 388G · Algorithms
Overall Rating (0.7 / 5): ★☆☆☆☆
Professor Rating (0.7 / 5): ★☆☆☆☆
Lecture Rating (0.7 / 5): ★☆☆☆☆
Difficulty (5 / 5):
Workload: 30 hours/week
Pros:
1.
2.
3.
Cons:
1.
2.
3.
Detailed Review: