100 Most Recent Reviews
zgMHxawDF1NZxVYd8Iu4aw==2024-12-31T07:02:33Zspring 2024
Knowledge-Based AIFull review here! https://the11d.wordpress.com/2024/12/31/my-thoughts-on-kbai-omscs-review-6/
TLDR (Thanks GPT!)
CS 7637 (Knowledge-Based Artificial Intelligence) in OMSCS provides a deep dive into classical AI from a cognitive science perspective, emphasizing symbolic reasoning over statistical methods. The course features a rigorous workload, including weekly assignments, open-ended mini-projects, proctored exams, and a semester-long project to build an AI agent for solving Raven’s Progressive Matrices (RPM). Students need strong Python and writing skills, with challenges like Mini-Project 2 requiring significant logical problem-solving and creativity. While some content feels outdated and involves busywork, the course’s engaging lectures, unique problem-solving opportunities, and focus on foundational AI concepts make it highly rewarding for those interested in classical AI approaches. The reviewer rated it 3.8/5 for quality and 3.1/5 for difficulty, recommending it for students eager to explore cognitive science and symbolic AI.
Rating: 4 / 5Difficulty: 3 / 5Workload: 9 hours / week
z/vxkQ2fB0dpqkCtO8H7pw==2024-12-31T00:26:03Zfall 2024
Knowledge-Based AIThis is one of the worst course I would say. They have lots of documentation and peer reviews you need to do. Almost 55 marks in useless peer reviews and documentation. Rest 45 marks is the one you would gain from the actual course. This is just lame course where you would not get any help and have to rely on yourself alone. I would rate this as 0
Rating: 1 / 5Difficulty: 1 / 5Workload: 20 hours / week
zgMHxawDF1NZxVYd8Iu4aw==2024-12-30T15:38:35Zspring 2024
Software Development ProcessThe full review is here:
https://the11d.wordpress.com/2024/12/30/my-thoughts-on-sdp-omscs-review-5/
TLDR: (thanks GPT!)
During Spring 2024, I completed the CS 6300 Software Development Process course, a core requirement for the Interactive Intelligence specialization in the OMSCS program. As a seasoned software engineer, I approached the course to gain an academic perspective on software development. The course was project-based, covering topics such as Git, unit testing, Android development, and UML design. While the workload averaged 4.3 hours per week, time demands fluctuated, with some assignments requiring significantly more effort, especially the first individual project deliverable and the white-box testing assignment. The group project emphasized Android development with team collaboration, offering a practical experience of software engineering at scale. I found the course insightful but relatively easy due to my industry experience, rating it 3.1/5 overall and 2.1/5 in difficulty. While it provided valuable fundamentals, I felt it could benefit from modern practices like Scrum, CI/CD, and containerization. For students with limited software engineering background, familiarity with Java, OOP, and external resources will be critical to success.
Rating: 3 / 5Difficulty: 2 / 5Workload: 4 hours / week
cRXz1sFin0M1pGkQUS9Ykg==2024-12-29T17:51:55Zfall 2024
Network Science: Methods and ApplicationsI thought this course was solid. Seeing a lot of mixed reviews, I think your experience really depends on your background and what you're hoping to get out of this course. I would avoid if the following apply to you:
-
You strongly prefer video lectures - this course's lectures are heavily text based
-
You lack the math/probability background - the lectures are very math based and although it's not essential to follow the derivations of the formulas from lecture, having at least some background is useful for understanding and applying the formulas in quizzes/assignments
-
You're interested in modeling - this is not a network modeling course but instead is more an introduction to key concepts and properties in networks. Modeling is covered lightly in the last few weeks
Overall, I thought the material was interesting and the course wasn't too demanding. The text based lectures were pretty good at explaining the material concisely and although there were technically required readings, I was able to get by without doing them other than having to reference them for quiz questions here and there.
Time commitment in this course can also heavily vary depending on what you hope to get out of it. Weekly quizzes (~6-7 MC questions) are worth 35% of your grade and can certainly be tough, especially the last few weeks of the course. I didn't think this was a bad thing because it forces you to really understand the material and is probably preferable to exams worth a large portion of your grade, but you certainly have to think heavily through some of the questions. As mentioned before, I was mostly able to get by with the quizzes by just referring to the lecture material, so the time commitment wasn't much, but I also believed the knowledge I gained was super surface level. If you want to get more out of this class, they reference plenty of reading material and food for thought questions, but your time commitment will significantly increase.
The other 65% of your grade comes from 5 python based assignments which mainly consist of applying the material on real data. The questions aren't particularly difficult although you may need to clarify with TAs to fully understand what they're looking for. The most difficult ones were when they make you code algorithms/formulas from scratch, which I think happens 2 or 3 times. My biggest frustration with these was that they had very specific instructions regarding the plots, and my background in matplotlib was weak, so I spent a disproportionate amount of time perfecting my plots over anything else. Background with lists, sets, and dictionaries in python will also be very helpful. The TAs were mostly helpful in clarifying questions for the assignments, but as other reviews have mentioned, it could take a couple days to get a response so starting early is key for that. Fortunately, I found that these were graded very leniently, and the time commitment is reasonable if you spread it out responsibly over the two weeks you're given to do them
In summary, I think the course has interesting material that's well explained as far as text based lectures go, and it gives you some foundation in the novel field of network science. Depending on your point of view, it's both a good and bad thing that you could get an A in this course without devoting too much time, but you certainly get out what you put in. I also felt the lectures were kind of disjointed, which made it easy to forget materials from previous weeks. This course may or may not be for you, but I think the negative reviews are overreactions as it's solidly run - you just need to know how it operates and what it covers before taking it
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
-
tAd6zOtRsghrK+AP/Scvcw==2024-12-27T05:22:10Zfall 2024
Introduction to Graduate AlgorithmsI had a liberal arts undergrad and finished this with a comfortable A (93%) on my first attempt. It's very doable with a bit of prep and regular, dedicated practice. The course comes off as harder than it actually is because it's (typically) the last course before graduation, and it's more mathy (though not rigorously so) on average than other courses.
Notable issues:
-
False positives in cheat detection. It's hard to evaluate how bad this actually is since we don't know how many people were accused total, but I'll just say it feels somewhat bad based on publicly available complaints. I wasn't flagged so I can't speak to the specifics of what they went through, but more than a handful of students were falsely accused and had to defend themselves when it went to OSI.
-
Grading on homework and exams is a bit slow. I don't know if this is really anyone's fault considering how few graders there are compared to students, but it's pretty stressful when you can't sanity check your understanding of the material until weeks after you submit your homework, or when it's unclear where you stand after a big exam.
Rating: 4 / 5Difficulty: 3 / 5Workload: 14 hours / week
-
B8xk7hq8qXY88mIgA9X/og==2024-12-27T00:40:19Zfall 2024
Introduction to Information SecurityI'm not someone who typically writes reviews for anything, but leaving a review for this class is important. Unfortunately, the end-of-year surveys for the class aren't structured so that students can give detailed feedback outside of general ratings, so a lot more could be said about it via a platform like this one.
My sentiments about the class's difficulty are similar to those already expressed, so I'll try to add a few things I haven't read from other prior reviews.
Projects:
The class is all about coding and capturing flag projects. There are lectures, but they don't help with completing the assignments. Unless the requirements change, you can focus solely on the projects and consider the lectures optional.
It would be helpful if the lectures correlated with the projects more, but you're left with getting information from the project description, office hours, Ed discussion platform (very controlled - more below), or general research.
Unless you have a coding background, the projects may be challenging. For perspective, I'll share that I have a computer science background, but I've been a working professional for some time in non-technical roles, so I haven't coded in over a decade. I took the CS prep seminar class to understand what to expect with computing/python. I still didn't feel prepared.
Based on some of the commentary, it's my guess that most students who found the work less challenging or "easy" were either technical, in the CS program, or had some related work experience. It's a required class for both the OMSCS and OMSCyber programs (with three tracks), yet everyone is expected to have the same level of understanding, and there isn't a grading curve.
Once a project is released, you receive the instructions, background information, set-up instructions, and prerequisites, i.e., readings, videos, etc. If you have no knowledge, you must learn about the topic, read/ view the information, and then try to complete the project within 1-2 weeks. It's tough.
For some projects, there was an underestimation of how much time students would need to complete them. For example, for the Database Security project, multiple people asked for more time to work on it since we only had 1 week; eventually, more time was allowed, but it cut into time for the next project. It was shared that the time estimation for projects came from previous semesters, but again, it's skewed when some students can jump right in and finish projects within a few days and others need to read documents first to understand the project.
It does get better once you get a handle on what you need to do. Also, reading the posts in Ed can be helpful. The challenge is that TAs heavily monitor the posts, so anything too helpful may be deleted.
Staff/ TAs:
For our class, we rarely saw or engaged with the professor outside of central communications or office hours. The class appears to be run by the head TA, but having more checks and balances with the overall authority of that role may be beneficial.
Some TAs' responses to questions on the Ed forum were sometimes seemingly condescending and harsh. Even if they get the same questions each semester, it's important to remember that some students are new to the school, not just the class. Students pay to be taught, not to be addressed in a manner that's not helpful or respectful. It creates an atmosphere where some may be intimated to engage, or people feel they need to apologize for asking questions.
On another note, some TAs were very helpful and went above and beyond to help students.
Overall:
It should not be considered an "intro" class but it's a required class for OMS programs, so you should plan accordingly. If you're completely new to the program or technical concepts, I don't recommend taking it as your first or second class.
There's discouragement against talking/ engaging outside of the forum. Also, the solutions aren't covered after each project is complete. Each week, we were ushered to start a new project, so there wasn't much time to absorb all that we had to learn about the subject matter.
I agree with the recommendations listed in the August 12th review below. There should be different versions of the class per program and either fewer or some group projects allowed.
It would be great if the program leaders and administrators took a deeper look at the following:
- student drop rate of the class along with which OMS programs they belong to
- student dropout rate after taking it as their first class
- statistics of how many people repeat the class
- statistics on how many people stay in the class after the withdrawal period per OMS program
- Grades of students per OMS program (there was also confusion about whether or not some students would be OK in the program if they only got a C in the class)
It may help give more insight into how the class possibly impacts students' experiences and enrollment outside of the general surveys.
My two cents. I hope this helps!
*excuse any typos
Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week
sjjStLXYWzrnvOb/j7kxvQ==2024-12-25T11:47:30Zfall 2024
Special Topics: Geopolitics of CybersecurityDo not take this course if you
- Have a full time job, or
- Have another course to deal with, or
- Want to have any free time left in the day, or
- Hate vague, confusing assignments
This was by far the worst course I've taken so far - and I was waking up at 4am daily to keep up with the amount of course work. For example, in any given 2 week span, expect
- 300-400 pages to read and engage on Perusall
- Giant word salad "discussions" to write up - with 15 subquestions each
- A "group" assignment which also involves giant write ups and tons of research
- "Engagement" - a very loosely defined metric that means watch videos, post on Ed, respond to other discussions, etc
What makes it worse is that the expectations are very vague.
I've gotten the same score when i read and commented on every single page out of the 300 pages - as I did when I just added 3-4 comments and skimmed through the content. Unfortunately, this is trial and error and really depends on the TA's you get for grading
Discussion posts are giant write ups that also require you to respond to 2 or more other students' posts - but there's an arbitrary rule of "dont respond to more than 1 post in 48 hours" - or you lose points. Again the expectations are super vague. I've seen people respond to these discussion questions (10-15 questions) with 2 sentences each, or entire 6000 word essays.
The final assignment worth 30% of the grade is also super confusing. Again a write up expecting 5000 words without any clear expectations - and that allows you to get whatever grade based on the TA's mood of the day.
Oh - and don't expect any realistic engagement on Ed discussions from the TA's. Several "is this what you expect" questions about assignment specifics went unanswered.
TLDR; Its an interesting course, made awful by horribly constructed assignments, poorly defined expectations and extreme workload. Easy to pass, difficult to get an A.
PS - If you're in a group assignment, also expect people to drop out. We had several people drop out of the course due to its workload and vague grading.
Rating: 1 / 5Difficulty: 2 / 5Workload: 40 hours / week
CacRAMd01Blp//30O1Y1+w==2024-12-24T02:19:52Zfall 2024
Machine LearningFor Fall 2025, there was 2 open-note quizzes, 4 projects, a problem set graded on completion, and closed-note final. I would highly recommend getting an early start to the assignments as much as possible. The difficulty of the projects comes from trying to figure out the project specifications. The projects are very open ended but there is no rubric shared with the students, so it's tough to figure out what is being asked.
I would pick two datasets that have all continuous features but have different characteristics (ex. dimensionality). This will help carry over the datasets across the different assignments that require it. As other reviewers have already mentioned, the grade that you get feels randomized. I gave similar effort to all my projects and the scores I got were 61, 94, 75, and 90. The extra credit is not worth the points you may receive for the effort needed. Given this, don't torture yourself over answering every single question from the project requirements and just submit after you've given some reasonable effort. It's not worth it since there's no rubric shared, there's no regrade, and the feedback may not even align with your report - again, it's basically a random grade. The saving grace is the very generous curve at the end of the class, so just accept it for what it is. I was burned out by the final exam so I didn't study for it at all and got a 79%. The curve brought me to an A.
Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week
9ogxycE8ap7RfQkuFQQU4g==2024-12-23T15:53:59Zfall 2024
Introduction to Graduate AlgorithmsThis was the most difficult class I have taken in the program; however, it was the most rewarding experience I have had with OMSCS.
All the course content is available online -- study early beforehand, read the books, and frequently try to hunt information for the more difficult concepts. Practice the problems from the text often and run your solutions through your classmates to get a second opinion. Above all else, attend office hours or watch the recordings, as that's where model solutions and helpful tips are provided. I'd say I spent 2 hours a day on average because the concepts did take quite a bit of effort and drilling for me to get comfortable with. I do not have a solid background in data structures and algorithms, so it took effort on my part. I passed on my first attempt with a solid B.
This class was difficult for two types of people: those who did not put in effort to read/watch the materials and those who struggle with a language barrier. If you rely on natural giftedness in logic to explain a proof, you'll wind up asking the silliest questions that I guarantee are already answered elsewhere that you'll stick out at office hours. Similarly, and sadly, if you are not a native English speaker you may struggle with some key words and phrases that are essential for some points, and may suffer when trying to write out a proof. However, the TAs are good about regrade requests and as long as you can justify your writing, you will be listened to.
I would say that even though this course was very difficult and niche in that it was (obviously) mostly about algorithms, the class teaches a way of thinking that is different from all the other "watch some lectures and write some code in a team of X students" courses. There is code writing, but it is certainly not the focus of this class. I am able to apply the thought processes I learned from algorithm analysis to my daily life, personal and professional, in a way that is extremely worthwhile to me.
Years from now when I've forgotten how to code in Python and lose the technical expertise built up in this program, this course will be the one with the most lasting impact and that I actually remember.
Rating: 5 / 5Difficulty: 4 / 5Workload: 14 hours / week
9kUvOYBSEiWluhvpH3Wuog==2024-12-23T14:23:10Zfall 2024
Introduction to Analytics ModelingTaking ISYE 6501 as my first course in Georgia Tech’s OMSA program was an excellent decision. It provided a broad yet thorough introduction to analytics modeling, balancing theoretical knowledge with practical application. Dr. Sokol’s engaging teaching style, the challenging but rewarding homework, and the valuable support resources like TA office hours and the Stats Bootcamp made the learning experience both enjoyable and effective. If you’re considering the OMSA program or simply want to strengthen your analytics foundation, I highly recommend ISYE 6501. It’s a course that delivers real value and sets the stage for success in the field of analytics.
I've written a more detailed review and course summary here: https://blog.marketingdatascience.ai/introduction-to-analytics-modeling-my-review-of-georgia-tech-isye-6501-4d35f5b0482b
Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week
cqkszj3/U5ArMQCkrnHLzQ==2024-12-22T09:45:27Zfall 2024
Advanced Operating SystemsOverall, the course teaches a lot. The focus tends to be on expanding from introductory OS topics like virtual memory, scheduling, and parallel processing into using those topics in a distributed computing environment. The projects can take quite a bit of time, but they are valuable learning. There will not be much handling in learning how to use the APIs for the tools that are used. Be prepared to read through the documentation and learn them for yourself.
All in all, I enjoyed the course and finished with a low A.
Rating: 4 / 5Difficulty: 4 / 5Workload: 18 hours / week
FYksClyOy8KRfAC2rhYgPQ==2024-12-22T08:30:40Zfall 2024
Artificial Intelligence Techniques for RoboticsSo I come from a CS undergrad, and I loved the project-based approach to this course, with assignments in Python. With that said, this was my first course in anything AI-related, and so I would advise any prospective students with a similar background to be prepared to meet some aspects of the required quantitative skillset for RAIT.
It generally oscillated between a light understanding of trigonometry, concepts in differential calculus, and linear algebra. You will be expected to understand how to initialize P and R matrices, state vectors, and apply a variety of equations from the Kinematic Bicycle Model for some projects. I found the first two projects (Kalman & Particle Filters) to be the most straightforward, and Warehouse Search to be the most challenging.
The exams are closed-book and the median range was between a C-B iirc for this term, though you get two attempts (with mostly different questions used for each). Overall I thought Professor Summet and the TA Team were great, and the course was really well-structured!
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
9OnNVU16JiP7Z209SFe05g==2024-12-22T08:06:44Zfall 2024
Modeling, Simulation and Military GamingThis course is perfect for a light semester. You'll have to pick up a programming language but it's really easy for anyone who can code.
The group project was fun even with 2 of the group members did literally nothing.
Before you start to work on the project, I recommend understanding the difference between "battle" and "war". Pick a "battle" to model, don't pick a "war"! A number of groups seem to miss this or they realized it too late.
Rating: 5 / 5Difficulty: 2 / 5Workload: 4 hours / week
9OnNVU16JiP7Z209SFe05g==2024-12-22T07:50:03Zfall 2024
Special Topics: Financial ModelingPair this course with another more challenging one. For the group assignments, I recommend just having one group member inputting everything, and the others just do the conceptual quiz and verify the excel sheets. There are enough assignments for you to take turns.
There are even some weeks that you can do nothing and focus on other courses. After all being said, avoid this course if you don't want an easy A.
Rating: 4 / 5Difficulty: 1 / 5Workload: 2 hours / week
0+5P7pUtCrVvD/nQeWlCnw==2024-12-21T18:45:23Zfall 2024
Artificial Intelligence Techniques for RoboticsHighly recommend this course! Projects are very exciting to work through and very satisfying when you eventually get everything working. You learn a lot of new concepts in a manner that focuses more on intuition than the detailed math behind them but as an intro course, I liked that approach. I wish there were more robotics course like this one offered in OMSCS
Rating: 5 / 5Difficulty: 2 / 5Workload: 15 hours / week
9aMr5RssvfmRi1ADvg5VtQ==2024-12-20T21:21:47Zfall 2024
Deterministic OptimizationThe content isn't difficult, but the homework assignments are more challenging than necessary. The exams are quite tricky. I managed to get an A, but only 20% of the class achieved this grade. Be prepared to invest considerable effort into the homework. However, your exam grades are what really matter. Preparation for the exams is mostly through practice exams and quizzes, rather than the homework, which mainly helps with understanding the material.
Rating: 2 / 5Difficulty: 4 / 5Workload: 25 hours / week
9aMr5RssvfmRi1ADvg5VtQ==2024-12-20T21:05:50Zfall 2024
Introduction to Theory and Practice of Bayesian StatisticsGreat class! The TAs make it extremely enjoyable by bringing in experts from the field for presentations.
Although the professor from the lectures seems to be an expert in the field, the slides are poorly made and could greatly benefit from an update. Again, the TAs save the day with their own notes and materials. Despite the challenges with the lectures and slides, I learned a lot, and it was completely worth it. No pressure whatsoever—an enjoyable course overall.
Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week
+6daAPKfecHcJhiA7Axm4Q==2024-12-20T18:29:18Zfall 2024
High-Performance Computer ArchitectureI had a tougher time than expected in the course. I was able to pair it with an easier course and get A's in both.
The lectures are extremely well put together. At the beginning I was a bit lost, but to prep for the midterm I rewatched them and everything clicked for me the second time around.
Speaking of the midterm, exams they are critical to get an A in the course. Do any sample exams. Review lecture quizzes before the exam. If something does not make sense in the lecture quizzes, really dig into it. Understand every step of the problem. If you do this and take great notes, you should do quite well, but you must take the exams seriously.
For projects, partner up and make sure one or both of you has a good command of C++. The projects were interesting to me, but I found myself trial and erroring through some portions. Be sure to be thorough on the open response to maximize credit, and be sure to compare your results to ALL result spreadsheets for the respective project.
The only reason the course is not a 5/5 for me is the long wait times for project grades, which causes a lot of stress near the end, though it was understandable. I wish I could give the course a 4.5/5.
Oh, and Nolan is the GOAT. Grateful to Nolan, the TA team, and the Professor for their work in creating and providing this course.
Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week
np7uj9nBlztU9Hnh8hlDjg==2024-12-20T12:10:33Zfall 2024
Introduction to Graduate AlgorithmsI was able to get an A without any regrade request. I also didn't attend any office hours. So I think this course isn't very difficult if you have strong background in data structures and algorithms.
- You need to spend some (probably a lot) time scouring ed post (and its comments) to understand the nuance of the rules.
- There will be inconsistencies in grading. Personally I could get a lot of points back if I ask for regrade every time, I just didn't care for it. If you want all your points, regrade is a fact of life in this class.
That's ok for me and not why I gave 1/5, here's the reason I gave 1/5 (long story warning):
- on HW4, they gave a common problem, with some solutions available online. There are a few approaches to this problem, but all reasonable approaches for this problem can be implemented in about 20 lines. The correct (expected) solution is based on the textbook, but not all students know about this.
- About 100 students including myself were flagged for plagiarism by Joves Luo, one of the head TA.
- By the end of the term, about 16 students (at least / confirmed) were acquitted (that I know of).
- During students' investigation and defense preparation, it became apparent that evidences submitted by Joves were faulty, reasons below:
- First of all, you can't really accuse a student for cheating, just because there's 20-50% similarity on a 20 lines coding assignment that uses the same template, no matter how you believe you're a genius in checking homework for plagiarism. Just 10 same lines would result in 50% similarity. How many of those lines are constructs that are commonly used and / or share similar structure? (eg. for loops, merge sort recursion, binary search loop)? With this limitation, how can a reasonable human be so sure? Even if they say they manually checked it, no argument was given regarding what makes them so sure, the similarity score is the only evidence we were given. What sort of quality or metrics are they looking at?
- Given the apparently very low threshold set by Joves to decide that a student cheats, it's raises the question, "what about students who submitted a perfect solution (textbook solution)?". How come those students are not marked for plagiarism even though they all implement the same approach? And if some of them did get accused for plagiarism, is it fair to get marked for plagiarism for implementing textbook solution? Coming from Joves himself here https://omscs-study.slack.com/archives/CE0UH7MMK/p1727878983157329?thread_ts=1727877530.657439&cid=CE0UH7MMK (screenshot here https://imgur.com/a/NCAyWlP), Joves intentionally excludes perfect solution, such that only "outliers solutions" are detected as "cheaters", which is of course a faulty process (If you don't believe 20% - 50% similarity means cheating in a perfect solution, why would you believe it means cheating in other solutions?)
- To look deeper into this issue, a student had asked for MOSS statistics in Slack https://omscs-study.slack.com/archives/CE0UH7MMK/p1728960426333399, but it was declined by TAs. Not good for transparency.
- As I wasn't satisfied, I tried asking chatGPT to implement my solution without changing the meaning. The result is, after a few (~5), it ends up with something very similar with one another, and some implementations are unusable because it uses features that are not allowed in the course. Note that there were more than a thousand students. (If we don't like ChatGPT example here, TAs can try come up with 100 possible implementations of my solution that isn't detected for plagiarism)
- In almost every homework, there are students marked for plagiarism (according to TAs). However, only in this homework that many students reported in Ed discussion itself that they're falsely charged. This fact was of course largely ignored by TAs.
- Despite all these facts and the number of students acquitted, Joves never acknowledged that his evidences were faulty and persisted that he believes those students cheated. At the time I submitted this, no proper explanation is yet given behind the rationale of his confidence.
- This fiasco was a huge mental stress for us. A lot of time was spent for our defense preparation, more than I spent on assignment. That plus the fact that instructors team never acknowledged their mistake is really annoying. 20% of all students charged turned out to be innocent is a lot. There are students who just accepted FCR because they don't want to handle the stress. There are students who got guilty verdict even though they're actually innocent.
- During this whole time, Gerandy Brito was never involved. Some of us reported they sent him an email but was ignored.
I'd like Joves Luo (and TAs in general) to own his mistakes, makes public acknowledgement that his evidences were faulty and make proper apology to all students impacted by this. Note that, students had asked numerous times in Slack about those faulty evidences but TAs refused to say anything about it.
Rating: 1 / 5Difficulty: 3 / 5Workload: 12 hours / week
+FwjWD6ixBYDlo45Ltvc+A==2024-12-20T03:13:11Zfall 2024
High-Performance Computer ArchitectureSUMMARY
- Lectures good. Make up your own notes to reference for the exams.
- Projects are mostly good and at worst annoying. Make extensive use of the FAQ on Ed.
- Exams are fair and test your understanding. If you want to do well on the exams, understand the material well.
- The book is difficult and superfluous. It is also your highest-yield item after you've done the lectures and projects.
- Nolan very good.
LECTURES
Lectures good. Based on a reference to the then-current CPU generations, they were recorded between Haswell (2013) and Skylake (2015), and sometimes show their age (maybe 5% of the time was on spinning rust with SSDs as an afterthought), but for the most part, the constraints that silicon presents hasn't changed so much in 10 years that the underlying ideas are stale.
The quizzes in between the lectures are pretty good. They test your understanding and push you to apply that understanding. Sometimes the solution requires some galaxy-brain thinking or big simplifying assumptions, but spending 5-10 minutes banging your head against an intractable/poorly-characterized problem is instructive.
You can download all the lecture videos, put them into a playlist on your favorite video player, and then just do the quizzes online to save yourself a lot of annoying page loading.
Before the exams, I'd suggest going through the quiz questions as a review and an indicator of where you need to focus your test prep.
I found I spent around 1.5x the video time to consume a module: this included watching the lecture at increased speed, rewinding, pausing to take notes, and working out problems on scratch paper. This did not include making Anki cards from the notes (I find I make better Anki cards if I give the material a sleep cycle to marinate) or reviewing the Anki cards. This also doesn't include time LaTeXing up notes for me to bring into the exams, which is something I regret not doing.
Lectures get a 4.5/5.
PROJECTS
Every complaint you've heard about projects are true. You'll be hacking on an extremely jank codebase. The rules in the project doc are more like guidelines; I have trouble seeing how you do well on the projects without relying extensively on the ED discussion; is it really that infeasible to take the FAQ and incorporate it into the doc?
And yet: I kind of liked the projects. If you don't enjoy tweaking parameters of a CPU you're simulating and seeing how it affects the performance of a benchmark program, what are you even doing in a CS Master's program? The projects are where the concepts from the lectures became concrete.
Don't stop at reading the FAQ on Ed. If you run into a problem or ambiguity, depending on how much you've procrastinated, either someone has had the same issue or you can make an Ed post with enough time to get everything nicely resolved. Staying on top of Ed is, unfortunately, a big part in ensuring high scores on the projects. But put another way, if you stay on top of the Ed posts, you are very likely to get perfect or near-perfect scores on the projects.
You run the projects in virtual machines. You're supposed to revert the changes you made to the configuration files in between projects. Having put several hours of fruitless debugging from a failure to properly revert changes, I suggest loading up a new VM. It's faster and less error-prone than trying to revert a bunch of changes manually.
Projects get a 3.5/5.
EXAMS
Exams were fair. If you did poorly on the exams I took, I have trouble believing you had a strong grasp on the material. (This goes for me, too: there was at least one module I knew I had a tenuous grasp on going into the final and, lo and behold, I struggled in that section.)
Every discussion of the exams talks about time pressure and I don't know what these people are talking about. In both the midterm and final, I double checked every answer, including redoing the computational problems from scratch, and finished both in ~75 minutes (out of 120 and 180).
Exams are open book and open notes. As usual, this will be of little help if you go into the 2–3-hour exam not understanding 15–30 hours' of material. I assume the point of being open notes is so you're not overly penalized for forgetting some detail in a course that is not curved; consider bringing in notes that reflect that.
Exams get a 5/5.
THE BOOK
Not enough people talk about the book.
It is absolutely true that all the material you need to get an A is contained in the lectures. However, perhaps you would like to be a little overprepared for the high-stakes low-margin-of-error exam. Perhaps you, a Master's student at a top-10 university, would like to go beyond the bare minimum. If so, the book is for you.
The suggested textbook is by Patterson and Hennessy. If you take a gander at their Wikipedia pages, you will see they won a Turing award for their work on RISC. They assume a rudimentary background in computer architecture (such as you would find in "Computer Organization and Design" by the same authors) and write for an audience they assume is as smart and as interested in the subject as they are. It is not easy reading. It is also one of the best things I did in this course.
And you know how some of the lecture material is getting a bit long in the tooth? The next edition is coming out in just time for the summer 2025 term.
In my opinion: the lectures still come first: that's the material you'll actually be tested on. Next come the projects, which you can and should get ~full points on given enough attention to the Ed posts. But once you've done the lectures and maxed out your projects and want to increase your expected score in the class, the book is where it's at.
The book gets 5/5.
NOLAN
Nolan was the head TA my semester. Everything I've written (particularly the bits about the projects) assumes you will also have Nolan making the necessary Ed posts. When I lost points on the projects, the feedback I got was very good and helped me get perfect scores on the last two projects. Every good thing you've read about him in other reviews is true, as is the complete absence of bad things. Even the negative reviews only have good things to say about Nolan!
Nolan gets a 5/5, which is frankly insultingly low.
Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week
Pt624gWSwvF/+r6xT9guOQ==2024-12-20T00:52:38Zfall 2024
Introduction to Graduate AlgorithmsWould not recommend.
Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week
zGuMkfD+0PJ9UKg0xt9o+g==2024-12-20T00:33:31Zfall 2024
Introduction to Cyber-Physical Systems SecurityI took this course because I saw the low average difficulty assigned. Boy was that a mistake! I eventually found out a majority of students who take this course drop it.
If you don't have a solid understanding of ladder logic, do not start here. You will ne expected to have a decent understanding before you start.
I took Intro to InfoSec prior and the difference in student participation is striking! Very little communication in Ed. Probably because everyone either knew this stuff already or was as lost as I was.
I dropped this class after a couple weeks when it was obvious I was not going to get it after two projects.
I hope more people who drop this course give their surveys so this isn't the shock for others that it was for me.
Rating: 2 / 5Difficulty: 5 / 5Workload: 50 hours / week
zGuMkfD+0PJ9UKg0xt9o+g==2024-12-20T00:26:35Zfall 2024
Data Analytics and SecurityYou have about two weeks per section. There are lectures with slideshows included. You can have the slidehow open while answering the quiz questions, which are answered directly in the slides. There are several required discussion posts. Apparently some people used AI to write them, which is ludicrous. Just answer the questions and you'll be basically fine. There is some Python and R. You choose whether you want to write the programs from scratch or start with the program pre-written. You get the same number of points either way so unless you just want to do work, the pre-written code is the way to go.
A weird thing, module 9 is due the same week as module 3. Watch that schedule!
The big bad thing here is the paper. You are meant to do the first paper individually then pick a team for the second paper, both on the same subject - Enron or SecureNow. As with every other group project anywhere, your team makes all the difference. Because of the weight of the paper on your final grade, you definitely want to get yor team together early. I got mine during the first week of class so we were miles ahead. It still took us until a few weeks before the due date to buckle everything up.
The TAs seemed wildly disparate in their scoring. Some of my more detailed discussion answers we scored lower than my mailed-in ones. Unfortunately, we seemed to get harsher TAs on our papers so the 3 point curve the professor gave ended up being handy. Which is wild for the quality of work our group had.
I highly recommend pairing this with another course so you keep busy for the semester.
Rating: 3 / 5Difficulty: 2 / 5Workload: 5 hours / week
BEtBQ/iRNpxMZv5oKpDtsA==2024-12-19T21:47:58Zfall 2024
Mobile and Ubiquitous ComputingThis course at Georgia Tech was an absolute disaster and by far the worst experience of my academic career. The TAs and professor were completely incompetent, incapable of running a class, and utterly disorganized. There was no direction, no clarity on deadlines, and no functional syllabus. It took half the course to even produce a syllabus, and when they finally did, it was a complete joke—useless and poorly put together.
The projects were meaningless and had zero relevance to anything. To make matters worse, grades were delayed by months. In our group, people who had dropped the course submitted work, and then months later, my grade was penalized because the assignments were “no longer accessible” to the TAs. No kidding! You took so long to grade the work that it’s no longer available. The complete lack of professionalism and accountability in this course is astonishing. It’s a perfect example of how not to run a class.
Rating: 1 / 5Difficulty: 2 / 5Workload: 5 hours / week
UaHeXMquJG+Lyev7cf2wBQ==2024-12-19T17:57:34Zfall 2024
Introduction to Cognitive ScienceI have been out of school for a few years, and I work full time as a software engineer, so I needed a class that wasn't super work heavy to get myself back into the groove of school. This class is that. Super easy class, and as long as you put the necessary effort in, you are primed to get an A.
Quizzes: There are 12 quizzes, based on the readings. They are open-book, and two attempts are given. The lowest quiz grade gets dropped.
Individual Exercises: There are 6 of these, and they are essentially easy if you follow the prompts. Based off of the readings.
Term Project: It is a self-directed project based on a topic of your choosing, and you are required to submit a pitch, final report, and final video presentation (varies depending on the track that you choose). Essentially you're free to either go in your own direction with this, but you're also able to just answer the prompts for each phase to ensure a good grade.
Overall, very easy class, definitely recommend taking it if you can.
Rating: 5 / 5Difficulty: 2 / 5Workload: 12 hours / week
ERjPwSJlGODWyliP2V4DWg==2024-12-19T15:28:15Zfall 2024
SimulationAdding a data point on grade curves for this course. My final grade in Canvas was 83.83% and my final grade was an A:
Exam 1: 85 / 100 Mean: 78.22 Median: 79 High: 100 Upper Quartile: 88 Low: 36 Lower Quartile: 70
Exam 2: 67.5 / 100 Mean: 75.5 Median: 77.5 High: 100 Upper Quartile: 85 Low: 25 Lower Quartile: 67.5
Final Exam: 79 / 100 Mean: 77.16 Median: 79 High: 100 Upper Quartile: 88 Low: 37 Lower Quartile: 67
Project score: 90 / 90 Mean: 83.45 Median: 89 High: 95 Upper Quartile: 90 Lower Quartile: 85
I found this course to be the most challenging in the program. Granted, I was on the B-track and am no good at statistics. Dave Goldsman is a gem, though, and made this course the most engaging that it could be.
Rating: 3 / 5Difficulty: 5 / 5Workload: 10 hours / week
Iry1J3YMb99kAfRKQq4FPg==2024-12-18T22:33:57Zfall 2024
Game Artificial IntelligenceDon't believe the people on here that are saying this is an easy course. The assignments are necessarily that hard, but they take a lot of time to get through and figure out. If you are like a lot of us and trying to balance actual work, family, and school, it is a huge time sink.
I was pretty disappointed with this course overall because I really liked VGD and Jeff's passion, but this class was very theoretical, math-y, and felt more like an undergrad weed out class than a graduate course. I would've liked to have few and less time-consuming projects that we could be more creative in instead of implementing things Unity or UE already just provides a library for like path planning.
The quizzes are all or nothing and don’t accurately test what you learned in the lectures. I think this class can take some tips from Joyner’s HCI class where the lectures are short and sweet and you get quizzed immediately after the lecture video. This helps solidify the knowledge in the moment instead of watching hours of videos only to hope that you paid attention during that one minute that explained the formula you know have to apply to a 5 point question or get a zero. There is a slight curve, but it doesn't make up for the absurd loss of 50% on every quiz.
Rating: 2 / 5Difficulty: 5 / 5Workload: 20 hours / week
ikk4Gir8xpRDF1N3/k45QQ==2024-12-18T22:13:41Zfall 2024
Machine Learning for TradingI just finished this course (Fall 2024), and overall, I liked it, but only in the context of just starting the program. It's a very good introduction instead of taking a very heavy course from the start like ML or AI, and everything is organized.
Like it or not, there will be people that try to find faults with everything and sometimes they do have a point. However, for a course that had at least 1600 students at the start, the staff did a phenomenal job dealing with everything. They were very active on Ed and answered questions in a day, at the most. Of course, there's this annoying thing where they just answer with links to other posts. To be completely fair, I did get frustrated myself with the entire forum being filled with repeated questions, most of them by people who didn't properly read the assignment briefs, so I get why they did that. Still, by the end of the course, it was pretty annoying navigating the platform.
Now, the lectures. They were recorded a long time ago by Dr. Balch, who explains things very well. I think he left the institute a while back, and Dr. Joyner took over the course. The lectures are pretty straightforward and clear, if a bit simple when it comes to ML concepts. The class spends a lot of time talking about trading concepts, maybe even more than ML. Honestly, I knew next to nothing about the stock market, so I gained a lot from the course, but someone with a passing understanding of trading would get bored very quickly. I already knew the basics of Pandas and NumPy. It's technically a large chunk of the course material, but we went through it very quickly, so it wasn't that much of an advantage. My only comment would be that the lecture videos use an old version of Python, NumPy and Pandas with a lot of functions being deprecated, so a refresher wouldn't be too bad.
What I found to be the most challenging were the readings. It was a great deal more difficult than what was covered in the lectures and was actually a lot more ML-heavy. Honestly, I gained more from the readings than from the lecture videos, really. Dr Balch's book was very helpful since it covered a lot of the Investing part of the course, and it was a very easy read. But there was this AI for Investing book that was an extremely dry read.
Anyway, the grades were mainly divided into 8 projects and two exams. Personally, I think that the projects are more important, so let's start with them. Before getting into the specifics, I wanted to address the assignment briefs. One of the best things about this course is that every assignment is ready and posted from the start so it's relatively easy to get ahead. The assignment briefs are pretty chaotic, obviously having been adjusted over the years while trying not to alter its core too much. There are dozens of small details spread around each brief and it's pretty easy to miss a few of them. The staff suggested printing it out (or using a tablet) and highlighting what's important. I did that before starting any assignment and it saved me a ton of time. Don't really get intimidated by the size of the briefs. They're very detailed and I'd rather it be thorough than vague. A piece of advice, when it comes to report writing, don't try to be fancy. Just use the exact same structure asked in the assignment brief and clearly answer the questions asked. Now onto the specifics of each project.
Project 1: It's a very easy project, just simulating an experiment. It's mostly an introduction to the course. You have to do a report, do some code, use Pandas and NumPy, and generate some plots. It's a nice way to get started in my opinion. The whole thing took me about 10 hours in total, and 8 of them were the report writing.
Project 2: Same here. It's a very interesting concept. You have to use SciPy to optimize a portfolio. Dr. Balch goes through how you're going to do that in a few of his videos. It's a pretty straightforward thing. There wasn't a report, just generating a plot and some grading tests for the code. The whole thing took me 4 hours tops.
Project 3: Now here, I expected the worst. This project was rumoured to be some nightmare or something. It wasn't anything like that. It was, by far, the most interesting project, at least to me, in this course. You have to implement decision trees from scratch (among a few other things). However, the pseudocode of the algorithm that you need to use is provided in one of the videos. It wasn't easy, but it wasn't really hard. After that, you had to write a report, which was pretty annoying but not the end of the world. The project took me around 15 hours from start to finish.
Project 4: Now, that was a piece of cake. You have to generate two datasets one where decision trees work best and another where linear regression is best. They test your code and are graded on how well it works. (You'll need to use your Project 3 code, so take that into account). It took me around an hour to finish.
Project 5: Also an easy one. You have to make a market simulator. Dr. Balch goes through it step by step almost in one of the videos. Also no report. This took me around 3 hours to finish.
Project 6: Now, that was a tough one. Coding-wise, it's not hard. You have to implement five technical indicators, which are essentially metrics about a stock. You have to choose them, research them, and write a report on how they help make predictions. There was another component to it, but it wasn't that important. I made the mistake of coding the indicators right away before doing the research, which really made writing the report pretty hard. My recommendation is to pick some of the indicators from the assignment brief. Don't try to be fancy and choose them wisely. You're sort of stuck with the indicators you chose for Project 8, and the ones they recommend have proven to have worked for them. A few of them have been implemented in one of the videos, so I suggest you check that. Overall, this took me around 20 hours.
Project 7: This was an easy one, and no report as well. It was my first time doing anything with Reinforcement Learning and it was fascinating to do. You have to implement a Q Learner, which isn't that hard. Dr. Balch also goes through it in the lecture videos. You also have to implement Dyna. It's not that hard, but even then, it's only worth 5 points, so it's not that big of a deal if you don't have the time. This took me around 4 hours to finish.
Project 8: Now, this was the big one. You essentially use the indicators from Project 6, your market simulator from Project 5, either your Q Learner from Project 7 or your Random Forest Learner from Project 3, to make trades on a certain stock. You have to make a Manual Strategy, and a Strategy Learner, and compare their performance. The code didn't take me that long, but fine-tuning the hyperparameters did. You have to write a report. Honestly, I'd prioritize the Strategy Learner since it holds a large chunk of the grade. If you're pressed for time, just use the Random Forest and it should work out easily enough, but I do recommend trying out the Q Learner approach. It's a bit frustrating, but I think it's worth it.
Exams: Now, there were 2 of them, a midterm and a final. They were all multi-select questions. I would put a heavy emphasis on the readings. There are topics there that aren't covered in the lecture videos, and they could easily be in the exam. To be honest, I didn't like the exams. They were open book and open internet, but to counter LLMs, the questions were straight-up confusing at times, and obviously made to be tricky. Personally, I didn't use an LLM to answer the questions, so I went back to searching the notes or the readings, and it was relatively fine. However, there were questions where I just didn't know what was asked of me. I'd honestly rather have a closed-book exam with clear questions than this.
Grades: A lot of the criticism you'll see about the course is about how long it takes to get the grades back. Personally, I think that the staff did a good job. I did my fair share of grading reports and it's very tiresome. I can't imagine doing it to over a thousand students and returning it faster than they did.
We got the grades in two phases. The first one was right before the drop date, and we got the grades for projects 1,2,3,4,5 and Exam 1. We got the rest near the end of the course. People were angry about the tardiness since a lot of the code we used in Project 8 came from earlier projects where we didn't know if it was correct. I can sympathize with that but I think that the staff was generally direct with what they wanted and that the automated tests were enough to know if the code was correct or not. Then again, it was just my opinion.
Overall, this course was valuable as an introduction to OMSCS, and for someone who has either never done any sort of ML, or has a very lacking understanding of the stock market. I did learn a lot, but it was relatively light. If you do the readings properly, you're bound to gain a lot from the course and the staff are more than willing to help. However, I wouldn't really recommend it for someone who has any experience with ML. I feel like it would be better to take a more beneficial course. I also wouldn't recommend this course for the Summer given how concentrated the material would be.
Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week
Wvmy9ei54aRRyu30nAa/lw==2024-12-18T21:34:14Zfall 2024
Machine LearningBackground: CS in undergrad, 10+ years as a dev, 4th class (after HCI, AI, and ML4T).
I got an A in the class. I learned a lot, and my analysis skills improved despite the pedagogical structure of the course. Like others have mentioned, this class is a hazing ritual. Only take this class if you have to. If you just want to learn ML or get the background for other ML classes, go watch Andrew Ng's lectures on YouTube and read the O'Reilly book "Hands-On Machine Learning with Scikit Learn" by Aurelien Geron. If you want the theory, read Teapowered's ML notes (Google it) or the Python version of "An Introduction to Statistical Learning". And of course do some ML tutorials!
The TAs are great. The current instructor, TJ LaGrow, is fantastic, approachable, and wants students to succeed. He's doing the best he can to improve the ergonomics of the course bit by bit, but is stuck in the ruins of a badly designed course. The problem with this class is its creator, instructor Isbell. Isbell explicitly designed the pedagogy of the course to make students struggle and keep them on edge so they wouldn’t try to game grading and instead actually learn. Hidden assignment grading rubrics, large open-ended assignments, and average scores in the 60s all keeps students digging deeper and actively engaging with the material. It also keeps students guessing at what to do and whether they've ever done enough to succeed in the context of the class, never knowing where they stand the entire semester, and mentally anguished. To me, that's bad pedagogy. Compare this class' structure against what modern research in educational pedagogy suggests (seriously--read the literature!), or how other writing classes are structured in the program, e.g. Joyner classes. I believe the same educational objectives and outcomes could be achieved in a less ambiguous, stressful structure with no loss to learning or curiosity on the part of the students.
Based on the past few semesters that Prof. LaGrow has taught, it seems the top ~60-ish% of the students who don't drop and stay in the class until the end get an A, around the bottom 5-10% of the class gets a C or worse, and everyone else in the middle gets a B. While the percentage to letter grade curve depends on the students each semester and will be different in the future and the exact calculation isn't known, in my semester, students with a final grade of ~72-ish%+ got a letter grade of A. ~55-ish% was the cutoff for a B.
If I could do it all again:
- Don't watch any of the lectures or read the Mitchell book. I know you're thinking "but I'll miss something if I don--". No, you won't. Trust. Watch Andrew Ng's Stanford lectures and any random YouTube videos you come across to fill in the gaps. Read Teapowered's ML notes for theory and Hands-On Machine Learning to get some more practical examples of implementations. You could watch the lectures and do the Mitchell readings, but then you'll just be spending an extra 20+ hours that you could have spent getting your assignment done and then still need to watch the Ng lectures and read Hands-On ML afterwards anyway to actually understand the concepts. Read Teapowered's ML notes again thoroughly before the exam (give yourself a couple days to digest them), they're a good synthesis of the lecture material without the rambling digressions and derision.
- Start watching lectures/reading before the semester starts. There's no time to do lectures or readings during the semester as you'll be stressing over your assignments and want more time to do your assignments.
- Abuse Chat GPT/Claude for writing your code. It's permitted and somewhat encouraged (at least in Fall '24). Don't copy and rename some variables, you will not get an OSI violation, no one will run your code, no one cares that the generic matplotlib function to generate a validation curve looks the same as someone else. Generate good, interesting, charts in as little time as possible so you can write about them. Focus on writing your report.
- Optimize your models a little to show that some values are better than others, but you don't need to waste time getting perfectly optimized models. AFAIK (hidden rubric!) you are not graded on whether you have optimal values, just that you did some attempt at tuning, even if it's just based on manual visual inspection of your charts.
- Start writing your analysis early even if you're not finished coding and generating charts. AFAIK (hidden rubric!) the exploration and iteration is part of what you should show your analysis, and a solid, well-justified textual analysis > more charts or perfect charts.
Rating: 3 / 5Difficulty: 5 / 5Workload: 19 hours / week
WDHsIUQ29TBYw+4ni7JDlw==2024-12-18T18:06:48Zfall 2024
Human-Computer InteractionI'll start this with a disclaimer that this was my first class for the OMSCS program, so I have a limited viewpoint here. It was also the only class that I took this semester.
Overall I did not enjoy this class. My main issues with this class were:
-
Participation Credit Structure: You are expected to read over 3 classmate's assignments a week. Assignments to review can be up to 20 pages. Its simply not worth the effort to actually do this review process when you look at the impact on the grade. Its simply a waste of time, and leads to a lot of "good job" reviews from people who (understandably) did not read the full assignment they are reviewing.
-
Busy Work: Instead of having assignments that actually help the students learn the material, they just have you write long papers. It was not effective for me to learn the material and just felt like busy work.
-
Team Project Structure and Grading: The team project is hard to do with a group of adults that work full time. In the end we just kind of threw something together and we were graded a 100% on the assignment. Honestly it was not 100% work, they must have just been like grading for completion. So in my opinion, that makes me feel like this whole program is kinda bullshit.
-
Tests: They're multiple choice and you can use chatGPT. For the second test I was over the class already and basically just copied and pasted the questions into chatGPT and got a 86%. So again, its not a class structure that is conducive to learning.
I got an A in this class but feel like I didn't learn much or get much value out of it. In my opinion, if you get an A in a class but don't get much out of it - that's an absolute red flag on the DESIGN OF THE CLASS. Right?
In the end, I feel like I learned more from just listening to the audiobook of "The Design of Everyday Things by Don Norman" than what I learned from going through the class.
Rating: 2 / 5Difficulty: 3 / 5Workload: 12 hours / week
-
Awc1XfJF3qhsC38fzAruPw==2024-12-18T17:49:39Zfall 2024
Modeling, Simulation and Military GamingThis class was pretty fun. You are assigned weekly discussion board posts and readings which are really easy for the first portion of the semester then they fall off completely. The whole class is basically a group project with minimal work if you are working great as a team.
The downfall of the course is you spend like 1/3 or so of the course doing discussion board posts and readings and not really doing anything productive for the project. Ended up spending the last 2-4 weeks grinding through the NetLogo code with the group. They don't really expect much and they also give you source code for previous semester group projects.
If you are looking for an easy A and a chill semester, def pick this class. My goal was to coast and this class was great for that. Also there are no exams or quizzes which is a huge plus.
Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week
v6eHZZMTu38FaTapOM0BkA==2024-12-18T15:46:07Zfall 2024
Introduction to Graduate AlgorithmsThe fear is real. It's not an easy course but the learning is rewarding. You need to lock in for the whole semester like your life depends on it. TA's do their best to help but few of their sarcastic comments get on your nerves when you are already in deep pain. I can't blame them completely since most of the students keep asking the same questions without a simple search on Ed.
I with drew this course 2 times prior and this time I did stick through. I will keep it simple with just my recommendations since other reviews covers the needed information such as syllabus, course structure etc,.
[1] At times you will feel like you want to quit. Reject that thought and push it through. [2] With the latest course structure, you can do moderate on one exam but still pass with B. [3] Read through all/most of the Ed comments for each of the homework (even if you are done with your HW). By reading other students thoughts and questions, you get a deeper understanding of the problem. Since exam questions are modeled after HW questions, it gets easier. [4] Prepare flash cards on the material and practice regularly. This helped me to retain information longer. [5] Do all the recommended practice problems. It will drain you out but doing it twice or thrice helps your brain to recognize the patterns. The material, problems and the reasoning gets easier only when you do them or practice them for more than 3 times. [6] Attend all the office hours and re-watch how Rocko is reasoning while solving the HW problems in real time. [7] For Jove's OH, I only watched the recordings instead of attending live. I always pause the video after he post's the question and try to solve it prior to watching the solution. [8] While prepping for the exam, practice writing the solutions in paper or text editor with time limits. This helps a lot in real exam. [9] Read all the comments on the exam peer feedback requests in Ed. This gives you the blue print of what TA's are actually looking for while grading. [10] One of the student started an Ed thread to post all the answers which got perfect (full) score. This helped to model my solutions against such perfect answers. [11] Join more than one study group initially since few of them turns out to be dud. [12] Finish watching the suggested next week's videos on the prior weekend itself. This is important since you need the whole week to do practice problems, Homework problem, OH, prior week's HW review and read through Ed. (Re-watch during the week with 1.5x or 2x).
Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week
mhCfn5wF3DOFzGlaGSYD+A==2024-12-18T12:24:19Zfall 2024
Introduction to Computer VisionOne of the toughest courses here. I took CV after taking AI,ML,DL and struggled significantly more with this one. The assignments are very tough however the project was easy to do and liniently evaluated. The pace is impossible to keep up with and completing all the readings is not possible as they overlap with the assignments. Theres a lot to learn and iam happy i have a good foundation but would have liked to focus more on what used in the Industry. I was able to get an A but I needed re-hab after it ended :D!
Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week
rOd53tYI6+nvpQH14CNfWw==2024-12-18T10:28:40Zfall 2024
Mobile and Ubiquitous ComputingWorst course ever. Every other complaints here are all true. If I could give it zero rating I would. The professor announced at the very last day that the final grade on Canvas is incorrect and they need to use external sheet to calculate the correct final grade. It was only until the grade is reflected on the report that we know how we actually performed.
Rating: 1 / 5Difficulty: 1 / 5Workload: 3 hours / week
lmu6hiUmzO5CsDhekRfmTg==2024-12-18T07:25:48Zfall 2024
Game Artificial IntelligenceTopics are engaging, difficulty is okay, the quality of lecture slides are very good. The only downside is the workload, the assignments can be really time consuming
Rating: 4 / 5Difficulty: 3 / 5Workload: 28 hours / week
mVhkLy8arsyoej9HdA+tCA==2024-12-18T04:55:44Zfall 2024
Artificial IntelligenceGetting a good grade in this course is primarily a function of time investment. There are no significant barriers to achieving an A, apart from effective time management and scheduling. The course faculty has implemented several structures that support this dynamic:
-
Assignment Grading on Gradescope: The grading rubrics and test cases are explicitly laid out, providing a transparent framework for students to understand how to meet the requirements. This clarity reduces ambiguity in performance expectations.
-
Best 5 Out of 6 Assignments Policy: Students have the flexibility to drop their lowest-scoring assignment. While the first two assignments are notably challenging and difficult to score 100/100, the remaining assignments are far more attainable.
-
Final Exam: On a difficulty scale, the final exam was relatively easy. However, it was lengthy, spanning over 50 pages and covering content from the entire course. This made it time-consuming, but the difficulty level itself was not high. Many students echoed this sentiment in an Ed discussion post.
Areas for Improvement
-
Professor Engagement: The lead professor was notably absent throughout the course. This level of detachment is unusual, especially when compared to other courses in the OMSCS program or even undergraduate CS courses. The course is essentially run by TAs, with lectures that seem to have been recorded long ago. Greater visibility and engagement from the lead professor would likely enhance the overall learning experience.
-
Course Content and Lecture Refresh: The lectures feel outdated, with some content possibly originating from over a decade ago. Given the rapid evolution of AI and machine learning, a content refresh every 2-3 years would significantly improve relevance and engagement. Considering the large student enrollment and the revenue this course generates, updating the content should be feasible and worthwhile.
-
Assignment Relevance: At times, the assignments feel like "gruntwork" — exercises that involve extensive effort without corresponding learning value. While not all assignments suffer from this issue, refining these tasks to ensure they lead to meaningful learning outcomes would improve the overall experience.
Overall Summary: This course is a decent introductory AI course, with room for improvement. Its current state merits a rating of 3.5 to 4 out of 5. If the course content were refreshed and the lead professor played a more active role, the rating could easily rise to 4.5 or even 5, as the subject matter is inherently interesting and impactful.
Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week
-
1OH+fPR2qV+jaLfsUVKZdQ==2024-12-18T04:48:54Zfall 2024
Big Data Analytics for HealthcareThis course has changed a lot from what I can gather from past warnings and reviews. It's not hard, and not especially time consuming.
Generally, the most challenging part of the assignments was data wrangling, but this seemed to be of secondary importance as far as the lectures went. Assignments were reasonable; sometimes I got a few points taken off for things I wasn't quite sure were actually wrong, but I did solidly get an A overall.
The group project, as many mentioned, is also graded leniently, and more on process than results, which does seem sensible.
The final is absolute garbage, and is a mix of trivia questions from the lectures and trivia questions which may have used to be in the lectures.
I think this course would do well as a lighter/one semester alternative to ML/DL with some healthcare focus. I think that MPH/Epi students could use something like this, actually.
There are some missed opportunities; I'd love to explore the semantic attributes of medical coding/ontologies, but that's not what this course is really about. Additionally, it'd be nice if the course went more practical into MLE kind of stuff. However, the course does neither of these things now, so if you've taken ML/DL already, I'm not sure what you'd get out of this, especially if you're not in health.
Rating: 3 / 5Difficulty: 3 / 5Workload: 10 hours / week
398xk5QCWNC0zSd4KBP73PKbtzjw9Aw6BLCdRbcqlSM=2024-12-18T03:09:48Zfall 2024
Special Topics: Financial ModelingTedious videos. Everything is done on Excel. No creativity or intelligence required. You are expected to mindlessly copy paste each cell formula for every assignment which takes a long time and any tiny mistake will cost you points. Easy A still. But no learning happens in this class. Honestly, this class really should be removed from OMSCS program.
Rating: 1 / 5Difficulty: 2 / 5Workload: 1 hours / week
9OnNVU16JiP7Z209SFe05g==2024-12-18T02:11:14Zfall 2024
Software Development ProcessThe lectures are great. The TAs are responsive. The group project can be done by 2 to 3 people if you are unfortunate. In general, it's a great course.
I have an unorthodox opinion about Assignment 6. Most people complain about it and statistically it's indeed the weirdest in terms of grade distribution. However, I felt it was one of the interesting ones. Some of the answers are literally in the course videos. So watch the videos! I also highly recommend applying "set theory" here to understand the relationships between tests.
I actually only hated Deliverable 1 from the Individual Project. It was boring and it took me forever. Maybe I just don't like repetitive tasks.
Rating: 5 / 5Difficulty: 3 / 5Workload: 11 hours / week
d27Y/joY1HRdqNilhWvq1w==2024-12-18T00:23:57Zfall 2024
Natural Language ProcessingOverall a solid course, and I am very happy i took it.
The lectures were great, especially Dr. Riedl's; he makes the lectures very entertaining and is great at explaining concepts. The meta lectures were pretty good. Overall the instruction was top-notch.
The assignments were fairly straightforward, with my only real criticism being that the markdown code in the notebooks sometimes steered me the wrong way; for example sometimes it would tell you incorrect dimensions of tensors. Overall the assignments were a good high-level overview of the topics covered. If anything though, they were a bit too easy. The final mini project was definitely the most interesting and was just the right level of difficulty in my opinion. Make sure you run this on a CUDA machine.
The exams were a good format - written essays and paragraphs. I liked this format as it forced me to really think through what was being asked and research my answer rather than focusing on memorization of lectures.
Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week
6v6NWG6Kl/hPv2eJJuS8gA==2024-12-17T19:40:00Zfall 2024
Graduate Introduction to Operating SystemsGIOS was a great class with medium difficulty and a pretty high workload. I'm glad I had a bit of background in C/C++ beforehand, but the projects definitely leveled up my low level programming skills. The lectures were super high quality and I feel like I came out of the class understanding a lot more about how computers work. Definitely take this if you haven't done an undergrad level operating systems class, or want an intro to multithreaded programming.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
RaRXAppLQs8Kf0jWsEO20Q==2024-12-17T19:17:33Zfall 2024
Reinforcement Learning and Decision MakingThis was my first class and I had a lot of fun during the semester. I took this as first class because I wanted to learn RL for a long time and this was my golden opportunity.
Pros:
- The class will set you up for RL research, by the end of it you will be confident to do come up with some ideas yourself.
- It teaches a lot of RL algorithms from the basics to latest algorithms. (by teaching, I do not mean, there is a lecture covering it, rather, you'll have to learn it to solve the projects, otherwise, you'll fail the project). Be ready to learn cool algorithms like value iteration, Q-learning, SARSA, deep-q-learning, DDPG, TD3, REINFORCE, Vanilla Policy Gradient, PPO, Multi-Agent PPO.
- Lenient grading. Even if you make some mistakes on your paper, there is not a huge penalty. Even if you don't solve the problem asked in the project, you can explain what all you tried and you should not face huge issues. Analysis is the most important part in the paper. Also explain the problem first in the introduction section.
- Active discord and communities. Since this is my first class I do not have anything to compare, but I found the class discord to be pretty active. TAs are also active on ed discussions. They mod discord too.
- Project 1, Project 2 and Project 3 will give you a lot of learning. You will tonnes to talk about if you are interviewing for a RL/ML based roles.
- You receive detailed feedback on your papers, which if you implement will set you up for easy A.
- Grades are revealed in 3 weeks after submission.
- Regrade is fairly quick, 1 week.
- The instructor and TAs are quite knowledgeable and very nice people in general. Joe and Markian top tier TAs.
- OH are helpful, they also have private 1/1 OH, which really helped me in the initial projects. They also provide recording for public OH.
Cons:
- Totally disaster ed lectures, but they are needed for final exams. My strategy was to clear my concepts from David Silver Lectures (gold-standard) and learn game theory stuff from ed lectures. TBH, game theory ed-lectures are decent. There are two professors in the lectures who are top of the top in the field, but the lectures are setup in a way that they communicate with one another to teach stuff, which doesn't work. Not to mention, a lot of jokes in the lectures, which is just distracting and borderline irritating. Imagine preparing for finals and listening to jokes while trying to focus.
- Towards the deadline for submissions, many students ask question on ed, and then TAs get overwhelmed and hence some questions take longer than others to get answered. My strategy if my question was not answered was to create another private post for TAs, as a reminder, then the answers came.
- Project 4, I did not learn much from this project, it was quite basic. There was also a issue with AWS credits. This is the first semester they were running this project, so problems were expected. But the fact that this did not add anything new to the learning from what was an amazing class until project 3 was sad. I was expecting something more challenging in Project 4. It disappointed a lot of the students.
- Final exam: Its the most weird exam I have ever taken and it is given a weightage of 30%. It multiple choice and multiple answer (credit for partially correct answer is given). Its important to do at least average to get an A.
Recommendation: if you are okay by learning by yourself. Its a fun class.
Suggestion: Use OH and discord community to the fullest. Overall I got high 90s in all my projects, and above average in finals, and got an easy A.
Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week
7RaqJC9rFysw90G4Dr+FDg==2024-12-17T19:06:50Zfall 2024
Deterministic OptimizationI was new to IE and this course provided a comprehensive introduction to a variety of concepts and techniques used in optimization. The experience depends a lot on the professor, I suppose. Sometimes, the study is mostly self driven - be mentally prepared.
Rating: 3 / 5Difficulty: 4 / 5Workload: 12 hours / week
vn6EeoAIJ3qVb/G909qosQ==2024-12-17T15:53:19Zfall 2024
Special Topics: Global EntrepreneurshipAre you a CS students who wants to build a startup? This class is for you.
Want to work for startup but not sure if they will survive or not? This class is for you.
Have a cool idea and really want to start coding to bring it to life? This class is for you.
The material that I have learned in this class was novel to me and I loved it. You will leave the class with some business perspective which is what I was lacking; some of the things that I have seen in my career now makes sense to me, thanks to this class. It is a great class to take and can be paired with another class as well. While the workload is lighter, you will still leave learning something great.
I have seen reviews about TAs being absent or course material being poor , well you can take this class w/o being worried of all of that. Your assignment feedback kinda comes in late but it is also not the harshest one. The intention of the class certainly doesn't appear to be failing or tricking you into getting lower grade (if grade is how you quantify things).
Rating: 5 / 5Difficulty: 5 / 5Workload: 3 hours / week
IgZF+mzgltrHiRofRINEfbTEQ78n5z7WJkPj0r3lRFw=2024-12-17T13:47:00Zfall 2024
Natural Language ProcessingI am almost at the end of the OMSCS journey and I must say this is one of the best courses I have taken. The lectures are top notch, especially the ones that help you understand the fundamentals of probability at the beginning of the course. I agree with other reviewers, the meta lectures were not very good.
The TAs are very responsible and they provide good timely feedback. The assignments are easy. The final exam can be a bit tricky if you haven't watched the lectures properly.
LLMs are an excellent topic, and this course will help you understand its inner workings.
HW5 can be tricky and time-consuming. I would strongly recommend using a GPU.
Rating: 5 / 5Difficulty: 4 / 5Workload: 12 hours / week
IgZF+mzgltrHiRofRINEfbTEQ78n5z7WJkPj0r3lRFw=2024-12-17T13:37:17Zfall 2024
Introduction to Health InformaticsFor anyone interested in learning about FHIR servers and how they can be accessed to improve patient health, this is a wonderful course. The course is front-loaded with assignments, following by a group assignment that spans the remaining 1.5 months. I had an amazing group and we build a wonderful app using LLM and Computer Vision.
The only guidance I would do to anyone interested in taking the course is, the initial assignments are in different programming languages. They are not terribly difficult, once you understand what FHIR resource you need to access.
Overall, a good course.
Rating: 4 / 5Difficulty: 3 / 5Workload: 8 hours / week
H8UW4Q96wlD9inQqa+Oe+w==2024-12-17T05:17:36Zfall 2024
Machine LearningThis was my third course in the program (KBAI, AI, ML) and was the most challenging so far. Four 8-page reports make up 60% of the grade with the rubrics of each being hidden; requirements are spread between assignment descriptions, discussion posts, and office hours. The rest was a 30% exam and 10% misc intro quizzes.
I can honestly say it took the first 3 assignments for me to get used to what they were looking for and how to do them properly. When reading the papers back it seems easy, but the process of understanding what's important without explicitly being told is tough and very time-consuming. This also resulted in a lot of learning; the pressure to cover all my bases drove me to dive deep into each subject. I learned a significant amount, and would recommend this course with the following caveats:
-
Take AI first at a minimum if you haven't done ML before. Knowing the content before ML helped me significantly. This shouldn't be your first course especially if you're rusty; ease yourself into the program. Many students (30-40%) appeared to struggle at the beginning and dropped the course, some even the program.
-
Accept that the teaching staff is busy, and you may have limited feedback between your reports. Lots of people were very bothered by slow or late feedback, but the amount of work to mark in the class is insane. You will do some assignments without feedback from others, follow the instructions and you'll do fine without it.
-
Be ready to deep dive into the topics. You can even squeeze by with a B from a low % since the grade is curved, but you're doing yourself a disservice. This is a great learning opportunity.
-
KBAI also helped me before this; the writing components were significantly easier and helped me build confidence. Coming straight into the tough grading here would have discouraged me a lot if I hadn't done KBAI first.
Best of luck!
Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week
-
Y0p+1lfk2jRxT+Y8MpA7lA==2024-12-17T04:34:23Zfall 2024
Introduction to Theory and Practice of Bayesian StatisticsI am a quant (model developer) working with an investment bank and this course was by far the most useful for me (8th course in OMSCS). If you work in (or plan to work in) finance then I would strongly recommend this course as Bayesian approach is fastly becoming mainstream for predictive modelling since scarcity of data is a real problem and Bayesian approach excels in such scenarios. I loved the course. The TA support provided in this course is the absolute gold standard. Aaron and this course have become synonymous to the extent that hardly anyone even cared to attend the office hour of the prof (LOL). Attending TA office hours (or watching the recording) is a must to properly digest the math heavy concepts provided in the lectures. The recorded lectures are the weakest part of this course as the prof simply reads from the slides. The lectures through the first half of the course are still manageable but they become insufferable towards the second half. However, Aaron's GitHub website and his office hours more than makes up for this deficiency. I also liked the course structure wherein during the first half the emphasis is on understanding the math and solving problems using hand. Post mid sem, you get to use the pymc library to implement the MCMC algorithms to build your models. The pace was decent and you should be able to do well by putting in 12-15 hours of sincere effort every week. I see some criticism about the high weight (35%) given to the final exam which can make or break your grade. The criticism is further compounded by the release of final exam grade just 2 days before the final grade submission date. I suggest TA's look into this and make the project as the last deliverable and final exam as the penultimate one. Overall an excellent course for people interested in modelling related work.
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
fMbiAr05mNZBrJItjLDZBA==2024-12-17T01:37:53Zfall 2024
Graduate Introduction to Operating SystemsUndergrad in CS(didn't take an OS class), couple of years in the industry. Found the class challenging, especially project 1 and the exams, especially the final. I ended up with 79.25 which was curved to a B. I believe the cut off was somewhere in the low 60s for a B and low 80s for an A. So the class is definitely doable, even if you have no experience with C which was the case for me. I would rate the projects in this order from easiest to hardest. project3, project4, project1.
Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week
dh2eC6axKZ+xkV2okjJE/w==2024-12-17T01:28:23Zfall 2024
Introduction to Theory and Practice of Bayesian StatisticsI genuinely suggest people avoid classes(such as this one!) that have no curves and are very heavy on the final exam(35%) in an online program! It is extremely upsetting if things go wrong during the final exam period. I have well over 90% overall in grades other than the final. I have been working hard for the whole semester. However, due to a sudden exacerbation of my personal health, performing well in the final was extremely challenging. This hurts the grade very significantly(you can call it the alphabet before F). For an exam period of 48hr, the grade is screwed. It is impossible to get any chance to make it up.
Although I am vaguely aware of some school policies like reaching out for incompletes or Dean of Students, it is confusing given the nature of this program, which is totally online.
People have complained about other classes in this program. I actually feel they are more predictable with curves and even distributions of grades among the assignments. You may get bad grades during the semester, but you have opportunities to make them up.
If you don't want surprises, I would suggest you think twice before taking this class! I have almost all As for the program and am graduating next semester. This class was 100% not a pleasant surprise.
Content-wise, the videos are extremely outdated, and the TAs did put in efforts to make it work. I really wish the format of the final exam can be updated for this course.
Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week
kCewUHAwOk4/Bff0djmMJg==2024-12-16T22:20:31Zfall 2024
Reinforcement Learning and Decision MakingThe course consists of 4 projects and 1 final. I like the projects, and think they are well related to reality. However, I didn't like the lectures, because I think it is for those who have some or very good foundations of ML. Since it is my first ML course, it is difficult for me to understand some concepts mentioned in the lecture. Not recommended for those who have no ML knowledge.
Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week
PoQ3UPp0U2AnwzOB/7IwRw==2024-12-16T20:58:04Zfall 2024
Artificial IntelligenceI ended with a high A.
Recommended Background: Python, CS Data Structures and Algorithms, good software development practices, Bayesian Statistics, and undergraduate Probability (combinations / permutations, etc.). Linear Algebra also helps in certain sections but you can learn what you need during the course as it doesn't require too much (transposes, inverse matrices, matrix operations, etc.). Calculus can help in a few sections as well but is probably the least necessary as far as math background.
This course is extremely demanding and extremely rewarding. I can certainly understand the frustration of working professionals with how many hours this course demands, but it also teaches so much.
The course includes extremely well-thought out assignments with comprehensive test suites. The first project had 10s of thousands of test cases. The projects are difficult and I would budget 4-5 days for the hardest among them. The difficulty of assignments really depends on your background. In my opinion the difficulty order from greatest to least was this: A1 > A5 > A2 > A3 > A6 > A4. However, I didn't have much of a linear algebra background for A5 which made it more time consuming. Many people found that one easier. A1 tends to be thought of as the most difficult and time consuming by many. My advice for that one is to start early, read Ed Discussion frequently, and adhere to good software engineering practices. Maintain a version control for your assignment and develop unit tests for every subcomponent of your assignment you can. Subtle bugs will be detected and you will lose points on assignment 1 due to them.
As far as required background: Assignments 1, 2, and 4 really just require strong CS data structures and algorithms fundamentals. Assignments 3 and 6 require knowledge of Bayesian Statistics. Assignment 5 required a bit of linear algebra.
This is my favorite course in the program thus far (5 completed). I think it taught a lot and was demanding, but didn't make me worry about my grade too much. The professors and TAs were extremely responsive, encouraging, and helpful. Use Ed Discussion! The textbook can take awhile to digest sometimes in certain chapters, but it is certainly worth the reading time. READ THE TEXTBOOK. I found the Challenge Questions offered this semester which create practice problems around the readings to be particularly helpful for understanding the readings and doing well on exams and assignments.
Exams are take home, but extremely demanding. I would budget up to 40 hours for the Midterm and up to 60 hours for the final. Keep in mind they are both only available for 1 week. The class average on the midterm was like a 79 and the class average on the final was like an 89. However, there was broad agreement on the level of work that the exams took.
This course runs everyone through their paces with its workload and is graded precisely. However, I don't think a curve will be necessary and if it was if you score higher than the median you get an 'A', if you score higher than 1 standard deviation below the median you get a 'B' and so on. Therefore, the course is extremely demanding and you will have to work your ass off, but as long as you never give up you'll probably be fine. I will say it seemed like 1/6 of the course students dropped as I noticed a steep drop in the population size of assignment submissions throughout the semester (class assignment statistics are released throughout the course). So don't take the course lightly or underestimated it either.
Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week
PoQ3UPp0U2AnwzOB/7IwRw==2024-12-16T20:26:16Zfall 2024
Game Artificial IntelligenceThis course has extremely well-designed assignments. This is an artificial intelligence course centered around video games. Some of the comments seem frustrated that this course is not the Video Game Design and Programming Course - I would not fault this course for that. If you want to learn methodologies for developing better artificial intelligence agents for video games as well as computational geometry, path planning, and procedural content generation - then this is the course for you!
Tips: 1.) There will be no teaching of C#, but honestly coming from a Java and C++ background, I had no trouble with C# and Unity. 2.) A lot of assignments are about creativity rather than trying to implement a certain algorithm optimally. Step back and take a big picture view of the assignment. What pieces of information would be valuable to your AI agents, how do you track them, and what do you do with them. Often, you can develop very simple, but powerful solutions if you do this. 3.) This course reflects the real world when it comes to submitting assignments. Your grade for an assignment is the average of your two allowed submissions. Therefore, you must understand the assignment and develop test cases for your code BEFORE submitting. You cannot farm a gradescope autograder to test and develop your assignment like you may have done in other courses.
I ended with a solid A and thoroughly enjoyed the course. There is a massive amount of lecture material, but it's quite valuable and the professor is extremely passionate!
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
Yspe99HLyRyt60Q9JHk78A==2024-12-16T20:01:30Zfall 2024
Statistical Modeling and Regression AnalysisI had a very disappointing experience with this course. While I love regression, I’ve come to dislike this course. The homework didn’t align well with the exams, and there wasn’t any opportunity to improve grades through projects or bonus points. It often felt like the goal was to lower grades and diminish confidence. I’ve never had such a negative experience in my entire academic journey.
Rating: 1 / 5Difficulty: 3 / 5Workload: 12 hours / week
sO8OJlQ/P8sVDM5eftGHRA==2024-12-16T19:35:19Zfall 2024
Advanced Topics in Malware AnalysisTL;DR - This is a great, lab-only course that I think does a good job at giving you a broad understanding of foundational reverse engineering topics. In terms of difficulty I found it less difficult than GIOS, but more so than HCI or CN, so lower/mid-level difficulty. This assumes some understanding of C, C++, and assembly like what you would get from GIOS and some understanding of assembly like general purpose registers and stack operations. Without this it might be a little more difficult and time intensive.
I thought this was a good course overall and would rate it 4.5 out of 5. The biggest issue I encountered was not receiving Gradescope feedback, which made it fairly difficult to determine whether or not I was on the right track. That said, I still managed to end with an A despite receiving lower grades on Labs 3 and 4 (I struggled with those). I made up for it by scoring a 110 on Lab 2, which I completed on my own, and doing well on labs 5 and 6.
Lab 2 is time-consuming and it took me about 40 hours in total. However, I learned a great deal from that exercise, and completing it without a teammate is definitely feasible. I can understand how people who finish the labs quickly might find the course pace a bit slow, but if you get stuck on a lab for any reason you may end up needing the extra time.
In terms of relative difficulty compared to other courses I’ve taken, I’d rank it as follows:
HCI == CN < AMA < GIOS
I think I averaged about 10–12 hours of work per week (with a maximum of ~24 hours one week), and I finished everything about three weeks early. There are no exams in this course—just labs—which was a very nice change of pace.
My background is in cybersecurity (not malware or RE), and I had a little bit of assembly understanding before going into this as well as having recently taken GIOS. Those coming in with 0 assembly knowledge will find this more challenging, but I don't think it would be impossible.
Rating: 5 / 5Difficulty: 3 / 5Workload: 11 hours / week
eXu7Re+bACxKayYEVjgQSg==2024-12-16T19:04:57Zfall 2024
Deterministic OptimizationDeterministic Optimization is a class about solving equations. Mostly linear minimization/maximization problems, but generalizations are mentioned. It feels much more like a traditional college math class.
An introductory course in linear algebra typically centers around the equation Ax = b where A, x, and b are matrices. Eigenvalues, Row elimination, and matrix properties like inversion can all be viewed through this lens. This course can be thought of an extension of that to the form min b*x subject to Ax > 0, x > 0. This dramatically opens up the problem space and now includes problems like the travelling salesmen, set partitioning, set packing, etc. Properties of x become important for the solutions that we can guarantee. Ideas like the dual, polyhedrons, and changing the basis of our problem are taught.
My background is in physics, so I did not find the need to learn new methods or categories of concepts (you need linear algebra and really basic multivariable calculus).
As corny as it sounds, you get out of this class what you put in. The methods discussed are the backbone of low paying industries such as: financial market making, supply and logistics, optimization of networks.
The course structure is a homework every week (two lowest grades are dropped) and then a midterm and a final. The class has no curve.
Homeworks are easy and map directly onto the week's lectures. Most can be solved by hand on paper or written up on Latex. You can also go the extra mile and solve all of them via programs. A few of the problems must be solved via python-based solvers.
Exams are also easy and consist of basic versions of homework problems and concepts. You get a 'cheat sheet' to write whatever you want on it.
Overall, the I think this would be a great class to take in person or in a setting where you could maybe focus on big project. In its current form I was able to spend ~ 3 hours a week cranking out the homework's and then maybe an additional 5 hours to study for the tests. It's a good class if you're interested in the math.
Rating: 5 / 5Difficulty: 2 / 5Workload: 3 hours / week
eXu7Re+bACxKayYEVjgQSg==2024-12-16T18:09:49Zfall 2024
Graduate Introduction to Operating SystemsComing from a non-computer science background and having this as my first class, this class was very good at setting a foundation for what academic cs classes should be like. As it's easier to write the negatives out, I'm sure the rest of this review won't align with me giving this class a 5/5 so make no mistake: this is excellent class has excellent TAs. The content is invaluable to anyone with an academic background that hasn't done any academic cs.
As with a lot of cs, the material itself is straightforward, but the devil is in the details. If you've never actually opened sockets, sent data out via buffers, etc. (like me) this class will be difficult on an implementation level. I would imagine if you already had a lot of Linux C experience that this class is fairly straightforward and not entirely different than an operating systems course that someone would find at an undergraduate level.
Projects: They are conceptually straightforward with a good amount of boilerplate to get you started. The one con I will mention is that the projects are essentially all or nothing - my implementation of project 3 part 2 worked locally for every test case and check that I could throw at it, but it didn't pass the hosted tests when I would turn it in. Because of this I essentially got 0 points for that part even though I had a 95% working piece of software. I suppose this is an unavoidable part of a massive online program. Even with this however I still got an A, so that class is very forgiving in that sense.
Tests - I think the concepts that are taught would be better suited to a large multiple-choice exam. Not a few multiple choices and then a few middle school math word problems. It's easier in this current form but doesn't feel quite right.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
gxhMzfrGWg0/CKVewbIbAw==2024-12-16T17:27:39Zfall 2024
Machine LearningThis class was really challenging. I ended up with an A in the class with an 81%. This was my 7th class in the program. I would say the way to be successful is to start the projects as early as possible. Ideally, the best time to start each project is as soon as it is released so you can get as much time as possible. The most time consuming parts of the class won't be just writing code to apply the algorithms you learn in the class, but actually generating all the correct plots and data you will need to use in the report. As many other reviewers are iterating, the reports are the most important part of the project submissions so make sure you are putting in lots of time into making quality reports. The plots should be big enough so that any text is legible without zooming.
I did not study at all for this course. I the lectures each week and tried to frontload the lectures as much as possible so I could have more time to spend on the projects when they were released. I only did a couple of the readings and gave up because of personal time constraints with having to watch the lectures and do the projects as well as other life things. The readings are definitely not needed for doing the projects, but are useful for the exam. Overall, this definitely was the hardest class I've taken in the program but it still wasn't that bad. If you spend around 2-3 hours a day on this class, you will be fine. Just make sure you are frontloading as much work as you can.
Rating: 3 / 5Difficulty: 5 / 5Workload: 18 hours / week
1ZjRaa00DGjrPd19+vFapQ==2024-12-16T17:06:43Zfall 2024
Machine LearningThis was a great class! And a fuck ton of work! That said, it's totally doable if you take it seriously. Bottom line: I got an A (83%, which is above the 72% minimum).
Here’s my strategy:
Lectures: Watch the lectures when you’re supposed to and read the online notes afterward to really digest the material. It shouldn’t take more than 3-5 hours a week—and that's with my severe ADD! Every lecture section, I would get a little stoned, have a cup of coffee, and dive into the content alongside online notes from past students for their extra insight. Afterward, I’d do something completely unrelated to school to give my brain a break. This also lets your process the knowledge subconsciously in your day to day activity. I would find myself thinking about clustering algorithms when I was listening to music, thinking how genres related to one another. I love conversational learning, so the lecture style worked for me.
Assignments: Plan, plan, plan! Check the assignment-specific FAQ on Ed and any comments from instructors/TAs. Read the assignment doc, write down the key details you think you’ll need, and dump it all into an LLM to create a rubric that works for you. If there’s a course Discord, join it! Students often share their criteria for assignments, which usually come from the same planning process I mentioned. Each assignment requires meticulous planning, problem-solving, and iterations to improve. This can take upwards of 100+ hours. Here’s a breakdown of my time and scores for each assignment:
A1: 56% (120 hours) A2: 86% (100 hours // 20 hours of which were long runtime related) A3: 82% (80 hours) A4: 92% (75 hours)
I started using this planning method after A1 when I realized that just “doing what the assignment doc said” wasn’t enough. Make sure to explicitly state your hypothesis in the intro, results, and discussion—bold them to make them pop! The more hypotheses you have, the better. Following the lecture details should help you brainstorm unique hypotheses if you give it some thought. Write with parallel structure instead of zigzagging around. The "10 Simple Rules for Structuring a Paper" document provided at the beginning of the course is super helpful. Planning will save you a lot of time, as you can see with my grade and time trends.
Unfortunately, there’s a bit of luck involved too. Some TAs are out for blood. But if you follow my advice and put in the time, you should be mostly good.
Office Hours: Go to office hours. You’ll catch details about assignments that you might miss otherwise. The problems reviewed in office hours are closely related to the final, so work through them.
Final: DO NOT CRAM!!! YOU WILL FAIL IT! Seriously, take my advice about the lectures. Watch them, then go fuck around for a bit—take a walk, play some video games, just give your brain time to digest the info. In these times, you’ll have those moments where different ideas (maybe across different regimes) connect, and this will help you immensely on the final (I got a B) and your assignments. As you prepare for the final, review the problem set and tackle any topics you’re uncomfortable with. With the lecture method I described, you will save so much time and effort—cramming is not learning!
Overall, this class was super interesting. Some weeks I only had to commit 5-10 hours, and some (the ones around assignment deadlines) required ~45 hours. I really loved the content and have been leveraging it in my own work and hobbies. The pedagogy encourages you to engage with the material in your own unique way, aligning perfectly with the study method I described in the lecture section. This class is not impossible, but will require considerable effort. If you plan accordingly, you can still have fun in your own life. In the middle of A3, I took a 2 week vacation following some of my favorite bands (King Gizzard & The Lizard Wizard, Blood Incantation) around the U.S while they were touring here. The strategies I described in this review enabled these groupie-like trips without massive stress looming over me. If I can do it, you can too.
Godspeed!
Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week
rpAHA6YUtihUHkejGN+aZg==2024-12-16T16:09:34Zfall 2024
Machine LearningComparison to Prior Experience: I previously took an Introduction to Machine Learning course at MIT EECS, so my perspective is influenced by pre-existing knowledge on some of the topics covered in this class. While this background shapes my comments, my ratings reflect that prior exposure.
Difficulty of Homework: Since I've encountered about half of the topics before, understanding the concepts was relatively straightforward. However, even for students encountering these topics for the first time, the homework is designed to be manageable. The ability to use libraries for the training process significantly reduces the implementation complexity.
That said, the real challenge lies in getting a high grade on the reports. My first assignment scored only 46 (XoX) with no detailed feedback on why. However, my subsequent scores improved to 68, 72, and 87. Based on my experience, here are tips to maximize your report scores:
Comparison and Analysis: Write as much analysis as possible within the page limit, comparing results comprehensively. Robust Experiments: Run processes multiple times with different random seeds and present the averaged results, while also showing variations in figures. Follow Instructions: Carefully read the supplementary instructions provided by the TAs. Ensure you include all required key points and figures. This can help secure at least a 70. Difficulty of Exams: Personally, I found the exam quite challenging. Even after reviewing all the course videos, I struggled during the test. Although I managed a 71% on the final exam, it required significant effort. To prepare effectively, I recommend using tools to generate practice exams based on course transcripts. For example, check out "CS7641 ML Study Materials" by knakamura13 on GitHub—it can be a helpful resource.
Course Learnability: Compared to MIT's course structure, this class is less math-intensive. While the course materials include mathematical explanations, neither the homework nor the exams require manual calculations. This makes the class easier but less rigorous.
In contrast, MIT’s approach focuses on ensuring you deeply understand concepts and formulas through manual problem-solving, which provides long-term benefits. Additionally, some concepts in this class feel outdated; for instance, newer models like transformers are not covered. If you aim to get the most out of this class, I suggest going beyond the provided materials and challenging yourself to explore more advanced topics.
Pros & Cons: Pros: The course isn’t overly difficult, making it accessible. Cons: Achieving a high score, especially on reports, isn’t guaranteed, and the material may feel somewhat outdated for advanced learners.
Final suggestion: Do the extra credit. I got 71.6 finally which result as B. While the cut-off between A and B is 71.9. lol
Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week
QMYk+fLuXJfLN9zPLlDB4g==2024-12-16T15:37:28Zfall 2024
Machine Learning for TradingThis was a fantastic first class to ease back into academics. With a background in Computer Science from undergrad and experience as a software engineer, particularly with Python, I found this course to be relatively easy. However, that doesn’t diminish the value of the content—it provided a wealth of excellent information.
On average, I spent about 5-8 hours per week on assignments. The time commitment increased significantly for Project 3 and Project 8, which each required about 20-25 hours. Was able to take about 3.5 weeks off from the class completely at the end because I got ahead.
The only aspect I didn’t enjoy was the exams. They felt a bit random and didn’t align well with my learning style, as they didn’t reinforce the material as effectively as I would have liked.
Rating: 4 / 5Difficulty: 2 / 5Workload: 9 hours / week
sTsralZklUgAsWN86aZZzA==2024-12-16T15:18:09Zfall 2024
Artificial IntelligenceIn a nutshell, not an easy class.
For me Assignments 1 and 6 proved to be the hardest ones. All the others were ok, some required little effort. The good thing is that your worst gets dropped.
Unfortunately I was travelling during the week of the Midterm so I did badly there even though it was easy. Not that you can easily score 100%, but you can get a good grade. I put my head down for the final exam and I hope my borderline A-B turns to an A. I am happy either way.
There's also (almost) weekly problems for you to solve. Do give emphasis on them! Also try to get access to the lectures online and start on them early on. The lectures are a lot and have a lot of calculations which require you to go back and forth.
The excellent thing with this class is that you only need to write code or do math!
Be prepared for this class and start early!
Rating: 3 / 5Difficulty: 4 / 5Workload: 18 hours / week
sTsralZklUgAsWN86aZZzA==2024-12-16T15:11:31Zfall 2024
Knowledge-Based AIAvoid this class if you can!
This isn't a tough class but it has a ridiculous amount of work. Weekly papers to write and coding. Some coding assignments are very easy, you can finish them in a few hours. Mini-Project 2 took me weeks of coding and I couldn't get a high score.
You can front load this course since pretty much everything is released in the first few weeks. I got a lot of stuff done initially and then got stuck with Mini-Project 2 and had to keep up with the weekly load.
I didn't do too well on the Final Project unfortunately and I had to focus on getting a good grade on the Final Exam. I only wanted a B in this class but I could have easily gotten an A if I wanted to.
Again, avoid this class if you can. You will be fine if you do take it, just start early and stay on top of things.
Rating: 2 / 5Difficulty: 3 / 5Workload: 12 hours / week
Hol7X1Lmi8UrDTFc69XtDA==2024-12-16T15:02:46Zfall 2024
Natural Language ProcessingI loved this class. I would rate this class among one of the best if not the best class in this program. The lectures by Professor Riedl are top notch, however, the lectures by Meta researchers were a hit and miss. The overall workload is very manageable and can easily be paired with another class as long as the student has a background in ML/DL and Python. The assignments were a lot of fun and rewarding. They all require using PyTorch but it can easily be learned on the fly. The class provides a lot of hand holding and starter code so it makes things much easier for the student to pick up from.
This is a good class to take prior to taking Deep Learning (CS7643). If you are taking it after DL, then the class would mostly be a breeze for you.
Pro tip: Subscribe to the Google collab pro for the second half of the semester for this class. It will save you a lot of time especially in the final project.
Rating: 5 / 5Difficulty: 3 / 5Workload: 30 hours / week
ZHzzbZMgfkSChH1c+K2Fdw==2024-12-16T14:51:52Zspring 2024
Data Analytics in BusinessIt feels like this course was originally designed as an elective for the business school, but for some reason, it never made it through as planned. To justify the effort and resources already spent, it seems like the material was repackaged and made into a mandatory requirement for analytics students.
Unfortunately, the result is a course that doesn’t feel well-aligned with the needs of an analytics curriculum. While it touches on some business concepts, they lack depth and practical application. Meanwhile, the analytics material is overly basic and redundant compared to what’s covered in other courses.
This class could benefit from a clearer purpose. Either it should focus more heavily on business-related content to serve as a proper introduction to that domain, or it should be moved to an elective track where students with specific business interests can choose to take it.
This class feels underwhelming and lacks a clear purpose as a required course. The material is overly simplistic and doesn’t add much value for students pursuing analytics or data science. Here's a breakdown:
Cons:
Oversimplified Content: The business concepts covered are too basic to provide meaningful insights or real-world applicability. Redundant Analytics Material: The analytics topics are a watered-down version of material that is addressed more comprehensively in other courses, making this class feel unnecessary for most students. Lack of Focus: As a required course, this class doesn’t justify its place in the curriculum. It would be better suited as an elective for the business track, allowing students to take additional statistics or computer science electives that align with their goals. Pro:
Grade Ease: The class is an easy A, which is one of its few redeeming qualities. Suggestions for Improvement: To make this course worthwhile, it should either double down on business concepts to provide more depth and practical applications or be moved to an elective track for students pursuing a business focus. Without these changes, it feels like a missed opportunity for a more impactful learning experience.
Rating: 1 / 5Difficulty: 1 / 5Workload: 3 hours / week
ZHzzbZMgfkSChH1c+K2Fdw==2024-12-16T14:31:34Zfall 2024
Statistical Modeling and Regression AnalysisThis course offers a solid foundation in higher-level statistics, and your experience will largely depend on what you value most in a program. Here are some pros and cons to help others decide if it’s the right fit for them.
Pros:
Relevant Material: The course content is highly relevant and provides a strong statistical foundation that I genuinely feel has enhanced my understanding of the subject. TA Support: The TA office hours are very helpful, and the TAs are generous with resources, including solutions to prior exams and homeworks. If you take the time to attend these sessions and engage with the material, you'll find them valuable. R Programming: The R programming components of the exams are manageable if you genuinely learn the material. This section rewards effort and application of class topics. For students who complain about these sections, I’d suggest avoiding shortcuts like relying solely on ChatGPT or copying TA-provided code. Instead, study the homework and practice using R as intended—it’s quite straightforward if you do. Cons:
Exam Design: The multiple-choice sections of the exams can be frustrating. While the questions are technically precise, the wording often feels unnecessarily tricky. You might lose points over nuanced phrasing rather than a lack of understanding (e.g., “this isn’t ALWAYS true, just MOST often true”). This can feel disheartening if you're aiming for a perfect GPA. Videos: The instructional videos can be difficult to follow on your first encounter with the material. However, they become much more useful if you read ahead and gain some familiarity with the topics beforehand. Overall Thoughts: This course is both rewarding and challenging. It’s a great option if you value mastery of statistics and are willing to put in the effort. While the multiple-choice exams could use improvement, the material is excellent, and the programming components are fair and practical. For me, the biggest downside is that the exam design likely cost me my perfect GPA, as I’ll probably end up with a high B or low A despite studying extensively. That said, the knowledge I gained from this course makes it worth the struggle.
Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week
FuW7Lf2BVGTKYArYj7f7ew==2024-12-16T12:02:47Zfall 2024
Database Systems Concepts and DesignBackground: This was my first OMSCS class. My undergraduate degree is not in computer science and I had not taken a database class before. The syllabus and course description give an accurate view of what the class covers. If you have had an undergraduate database class this might not be a good fit for you.
Overall, I thought this was a good class. The material was interesting. The lectures were informative and useful. The TAs were very active in Piazza, often answering within minutes of a question being posted and the class was well run and organized. Weekly offices hours were held at time that was convenient for me, 7pm eastern time, but were not required and were recorded if you were not able to attend the live meeting. Because most people choose not to attend the live office hour session it was almost like having the instructor and TA available for you personally. The exams were fair and a good representation of what was covered in class. However, I did feel that the actual exams were more difficult than the practice exams that were made available.
There is a team project with all the pluses and minus that entails. I was lucky and had a good team were everybody contributed and got their work done on time. Because people can drop the class after teams are assigned, it was possible for teams to shrink or be reassigned. The project specification is clear from the beginning on what is required and expected.
I had a great experience as my first OMSCS class and feel like I learned a lot.
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
gg0Bnbi72hQnbHr/aG/jgg==2024-12-16T09:26:13Zfall 2024
Machine LearningOne of the most rigorous courses no doubt, requires you to think about the algorithms and what it means to apply them to different kinds of problems.
Things that are great: 1) As the staff of the course explain, most courses don't explore the practical side of ML. How each algorithm performs differently on different problems, when to use different algorithms for same problem, what and what not to expect, what to look out for when applying ML in real life, how to measure success and so on. The analysis you'll do as part of this course will make you a better ML practitioner. 2) Some people have criticized the lectures saying that they are slow-paced and boring. I couldn't disagree more. I felt like the lectures (being in the form of conversation between two people) were extremely useful in explaining the concepts. The questions in the lecture videos were insightful and led to better understanding of concepts. Great work by Professors Isbell and Littman.
Things that can be improved: Sometimes it can feel that your grades (in assignments) are dependent on which TA got assigned to your assignment and that hidden rubrics are holding you back. While that seemed true to some extent (in my experience), it wasn't as bad as it was made out to be.
Advice to folks taking this course: Do not focus on the aspects in the paragraph right above. Keep your head down and keep up the good work incorporating feedbacks and you'll end up a better practitioner by the end of the course. Oh and start early on the assignments, they will take the majority of your time.
Rating: 4 / 5Difficulty: 4 / 5Workload: 12 hours / week
fel+7etHgUG2CtmBDyQAqA==2024-12-16T05:33:09Zfall 2024
Mobile and Ubiquitous ComputingThis was probably the worst class I have ever taken in any level of my education. It was an absolute clown show throughout. The syllabus wasn't out for several weeks after the class had started and due dates were never really finalized and changed on a whim. Answers from the TAs regarding course assignments were both slow and inconsistent. The group project was a mess, as always, with the groups being made and revised no fewer than 3 times. The starter code for our project wasn't given to us until weeks after the project started. This caused us to have to rush and spit something out in the little time we were given. Despite our project being garbage we still received a 100. All of the assignments were graded with such leniency (90+ mean on all assignments) that it makes me wonder why they even bothered giving grades.
At least it was an easy A I guess.
Rating: 1 / 5Difficulty: 1 / 5Workload: 3 hours / week
lOd+3Amtw6Wizk7SZYRDgg==2024-12-16T02:58:41Zfall 2024
Introduction to Theory and Practice of Bayesian StatisticsNote: I started this course with some background in Bayesian statistics and prior experience with PyMC, so I had a general idea of what to expect.
As other reviewers have mentioned, the main drawback of this course is the video lectures. The instructor doesn’t explain the concepts particularly well, and the lectures often felt vague and not very helpful. I found myself skimming through the videos, focusing instead on the notes and relying heavily on Aaron’s GitHub repository for solving the example problems. In addition, Bayesian statistics is a standard topic in many university courses, and there are plenty of online resources available to supplement your learning. My advice: download the course material, check the topics covered, and seek additional resources where needed. This approach worked well for me.
The material itself is excellent. The course does a great job of balancing theory and practice. It covers everything from a review of probability and Bayesian conjugacy to MCMC algorithms. On the practical side, it focuses on building and analyzing GLMs using PyMC.
The TAs were incredible—Aaron’s GitHub repository and the Ed discussions were invaluable resources. The TAs were approachable, responsive, and made the learning experience much smoother.
The assignments were both manageable and engaging, and the untimed one-week midterm and final exams felt fair.
Overall, this course is packed with valuable information and tools. I highly recommend it to anyone looking to build a solid understanding of Bayesian concepts and applications.
Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week
g3uiLlzpwx8vmMYi1lZv9w==2024-12-16T02:21:00Zfall 2024
Machine LearningThis is a great course for getting practical experience with different ML algorithms and datasets, and it really does give you a solid intuition for the pros and cons of each and (more importantly) how to present and discuss those pros and cons. I feel like I've learned much more than the average course, in a way that I'll retain the important parts.
Unfortunately, even with the assignment Q&As, it really does just feel like TA luck of the draw decides where your grade will be within a ~15-point band. I'm not sure how people get perfect scores on these reports. In all four cases, I was at the page limit by the time I included all the analysis demanded in the Q&As, which didn't leave any room to go substantially above and beyond those requirements.
The lack of a rubric is only a problem because of how late grades are returned. For assignments 1 and 2, they only managed to put up feedback a day before the report due date. Our assignment 3 grade didn't make it up before the due date of the fourth report. While this did result in a day or two of extensions in some cases, you couldn't rely on them happening -- and a day or two isn't long enough to rerun experiments anyways, so I felt like I was flying blind on every submission.
The final exam was difficult and pretty focused on minutiae. I won't whine about that, but some of the questions did feel arbitrary. "Is the weather in Miami conditionally independent from the weather in Tokyo?" I don't know, and I think there's probably a prize in meteorology if you do. I understand why they took out the midterm, but I would've rather they removed one of the assignments, so that you could learn from the first exam's format how to study for the second one.
Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week
gyVI4Hix+uUZdAonvCu2pw==2024-12-16T01:36:51Zfall 2024
Human-Computer InteractionGrade: 85%
I took this as my first course in OMSCS since it seemed to be low difficulty and somewhat interesting from previous reviews. I agree with other posters saying it was extremely front-loaded, towards the last few weeks of the course after handing in the individual project, I barely spent any time on the course. What tanked my grade quite a bit was spending 3 weeks in Peru in October which caused me to tank the first three quizes since I couldn't really study much while travelling around.
I thought the written assignments were pretty straightforwards, just write your assignment while refering to the rubric and you'll do fine, it was like the for the individual assignment too. I got 100% on it and I just followed what was required on the rubric, it really isn't about what you write about but if you followed instructions properly. Honestly I don't understand why the tests were open book while the quizzes weren't, either they both should be open book or they both shouldn't be.
I thought the group project was pretty straightforwards as well, there was some confusion on what was required since it's different from the individual project but overall not too bad. I find that if you find your group early, rather then having the group members be assigned to you increases your chances of having a good group.
Overall, not a bad course but make sure to spend more time earlier in the semester.
Rating: 3 / 5Difficulty: 2 / 5Workload: 8 hours / week
ElMmHifmC3XSIeE+yfKd4A==2024-12-15T20:01:07Zfall 2024
Graduate Introduction to Operating SystemsBackground: Non-CS bachelors, working as a software developer for 3 years. Ended up getting an A.
This course was extremely useful as someone without the standard CS academic background. It helped me understand and become conversant in many different aspects of CS, and is great first foundational course that I'm sure will help in all the courses to come. It's not easy, but I didn't find it quite as challenging as I anticipated based on reviews.
An earlier review says that they felt they "leveled up" by taking the course, and I echo that sentiment - I feel like I have a much better idea of what I'm talking about when it comes to lower level software concepts now.
Let's break it down:
Lectures: A bit outdated, but they touch on fundamental CS concepts that are still 100% in use today, so it's not that bad. The professor does a good job and the concepts are clear and intuitive. You get about ~2 hours of lecture material per week, and usually a paper to skim - try to keep up on these even in the depths of projects.
Exams: I got a high 80s on the midterm, and a mid 90s on the final. I studied pretty hard for these, at least 2-5 hours a day for a week until I took the test, maybe more. They aren't easy, but they are fair - use omscs-notes and other resources to summarize the lectures instead of going through them again, read their practice solutions, and think about what core concepts they really want you to know. Focus on the math problems from the lecture, they're fairly simple calculations and will always show up in some form on the tests. I found you don't have to focus too hard on paper details - the lectures cover the relevant parts of the papers. Focus only on the papers that come up a lot during lectures and on the practice tests - everything else can be ignored.
Projects: The big timesink. I got high 90s on project 1, 100 on project 3, and 100 on project 4. Another reviewer complained that it was like inheriting a big codebase and having to dig through it to find the relevant parts and ignore the rest. My response is yes, that's how software development works - at least here, they tell you which files to focus on, where to put your code, and which files have been abstracted away for you. In this field you will encounter obscure codebases routinely and have to learn it fast - this is important practice. Digging through documentation is not a chore, but a practical part of the job - treat these projects almost like practical work experience, and you'll see your whole mindset towards them changes. And you need a good mindset - these projects are long. I put ~60-70 hours into project 1, ~50 hours into project 3, and ~30-40 into project 4. They aren't necessarily too difficult if you have a solid grasp of C and know how to read documentation efficiently, but the time comes from reading documentation, the codebase, and using slack/piazza to carefully figure out requirements and solutions.
Overall - It's a very hot/cold course in terms of workload - during projects you pull 30 hour weeks, but if you hand them in early you can find yourself spending 3 hours/week just keeping up with the lectures. The material is very valuable - the lectures teach you fundamental OS and computing concepts, while the projects are more like system design work projects that will test your understanding and build your development muscles. I should also mention the course is well run and the TAs are very solid.
My advice - start each project EARLY. I mean it - the day the project drops, at the very least you should be reading the instructions and fetching the codebase from git to poke around it. Each project gives you four weeks - if you wait even just one week to start, you have wasted 25% of the allotted time - that can be devastating. I ended up finishing each project in about 2 weeks, so that gave me 2 weeks to either rest up or begin studying early for the exams. If you hand everything in last minute, you will find yourself immediately having the midterm/final bearing down on you, with not enough time to study - a recipe for disaster. The course is paced so starting projects early and finishing them early takes a LOT of the pressure off, so please do so. Finishing project 1 early gives you a ton of time to prepare for the midterm - finishing project 3 early gives you some true rest time, as there are no exams afterwards and you can chill, I had two weeks where I put in 3 hours for the entire week - finishing project 4 early gives you prep time for the final.
Another piece of advice - learn C before you take the course, especially pointers. Just do Beej's guide to C programming and Beej's guide to network programming (most of the former, especially pointers - the latter you can just read the first six chapters and be done). This will help a LOT with the projects.
Learn C beforehand, keep on top of projects immediately, put a decent effort into studying for exams, and this course will not seem so bad for you. I felt pretty relaxed the whole way through, which I mostly credit to the above.
Rating: 5 / 5Difficulty: 3 / 5Workload: 16 hours / week
BWYOWLQN/EfIJBSyM83LGA==2024-12-15T19:44:25Zfall 2024
High-Performance Computer ArchitectureTaking this as part of the computing systems specialization. I really enjoyed it, but keep in mind that I:
- (barely) made an A in my final grade,
- enjoyed the course material,
- did my undergraduate in computer science (but did not retain anything from my computer organization / architecture course, I had a very flawed CS undergrad experience)
Criticisms: the second half of this course's lectures were extremely unhelpful. I feel like they provided a lot more trivia than real learning. There is also a stark dearth of practice material for the final, and the quizzes for the second half of the course's lectures did not help with understanding the concepts that the final tested us on.
Whereas this is usually a huge disadvantage for most classes, it's not quite as detrimental to HPCA, since concepts such as Cache Coherence, Memory Consistency, and Synchronization are decades-old problems with heaps of resources to study from. I highly suggest using Onur Mutlu's computer architecture course--both his lectures (provided for free on youtube) and his assigned readings--to develop a stronger conceptual understanding of the subjects covered in the second half of the course.
Positives: A lot of this course material is revisited in the first half of AOS. It's possible to take AOS before HPCA, but I think that taking HPCA before AOS (and putting out the extra effort to understand the concepts in the second half of the course more deeply) actually balances out the rigor of AOS a lot more. In short, if you expend more effort on the second half of the course to understand the material more deeply, it will pay off in dividends.
The exams are fair, but difficult to prepare for, especially as they tend to differ from the practice exams offered to us. They are luckily open book. I printed out all of my notes--yes, all of them--and a number of collected articles + textbook references in preparation for the final exam and I did very well for it as a result. This came out to be several hundred papers, so be careful. The projects aren't difficult if you have taken GIOS, but without a stronger background in C++ you will struggle more. You will want Github user awpala's HPCA setup and debugger repository, which will help IMMENSELY with debugging your projects. DO NOT use ARM architecture if you want to be able to debug your coursework.
I really appreciated that the midterm adhered closely tot he first half of the course's material, I found that very fair. I also appreciated that there was about two weeks of preparation time for the final exam given to us after project 3's submission date. In this way HPCA is a slightly easier course than other OMSCS classes which may have more exams, and more overlapping due dates.
In general, I really enjoyed the structure of this course and I really liked the assignments. The TA team is very consistent, though due to the nature of the projects, you won't know your project grades until after you take the final (so most of your grade is in the dark). That being said, the TA team is very receptive to private discussions and helpful with coding problems if you raise them in the discussion forum. My qualms with the course is just the drop in quality with the lectures after the midterm content and very little in the way of additional resources to reinforce our understanding of the material. Success for this class will rely on how willing you are to dig around for practice materials and references, especially if you haven't encountered this information before. Expect to set out a lot of time preparing for the exams--I spent two weeks, roughly 2-3 hours each day after work and 5 hours on weekends, in order to prep for them.
Rating: 4 / 5Difficulty: 4 / 5Workload: 14 hours / week
EU0V2hBOSQlHoOuW62L5vg==2024-12-15T19:34:17Zfall 2024
High-Performance Computer ArchitectureGreat class, it's one of the few I've taken that's relatively light with work but still rewarding. Grading is slow (which is annoying) but overall this class is a great experience.
High points of his class
- Great lecture videos. Milos is an awesome presenter and you can tell he had fun recording the lectures.
- Very well organized, class with clear requirements. Nolan is awesome and he this class running on rails.
- I genuinely think the TA staff is reasonable and respect the students. I am pretty active on Ed and left every interaction with TAs feeling positively. There are not too many rules and everything just feels reasonable and accommodating. Very few classes are that way.
- Grading on the exams is generous. Overall you are given the benefit of the doubt, if you strongly implied something but didn't say it you got points. So even though grading is slow, it was high quality. That's why I can forgive the slow grading. The class would be much harder if grading weren't so understanding.
- From a schedule perspective the class is very flexible. There are 4 projects and 2 exams. Projects are pretty light IMO. Most of the time you spend in the class is watching lectures. I was able to go on a 1 week vacation without even thinking about class which was awesome.
Low Points
- Grading is slow. It doesn't really make sense because a few days after the exam 2 projects and the exam got released. Meanwhile in the months before the exam only 2 projects and the midterm were graded. It's annoying, but FWIW the grades on the projects are very high (median 99 for 3rd and 95 for 4th)
- TAs generally respond most questions on Ed but it's not going to be immediate. That said the pace of the class is pretty slow, so eh, not a big deal IMO.
Misc Some people don't like the projects, but I didn't mind them. You modify the SESC codebase which models how a processor runs to essentially add features or change the behavior of the processor. I personally thought the projects made me think about the lecture content. I also thought that the supplemental FAQ posted on Ed made it pretty straightforward to do well on the projects. Just follow that you'll do great. Also while SESC isn't a good codebase, I'd generally say it's unremarkable, average or slightly below. As a developer I think assignments that give you a big, imperfect codebase and require you to understand it enough to add features, is an an excellent exercise. So on a lot of levels I thought the projects were useful.
Rating: 5 / 5Difficulty: 3 / 5Workload: 11 hours / week
EU0V2hBOSQlHoOuW62L5vg==2024-12-15T19:00:44Zfall 2024
Introduction to Graduate AlgorithmsI got an A but this is a needlessly stressful course, the material is actually very straightforward and the exam questions are on the easy side but the grading makes them hard. Grading on free responses is for maximum pain, you never get the benefit of the doubt, and TAs always err to wrong. Had to do 6 regrades, got back points for 5 of them, mostly it was the type of thing where the grader didn't read the whole sentence.
Multiple quiz questions had typos in them making it so they had no correct answer; they were either corrected while the quiz was ongoing or sometimes everyone got points. That said for every question that made it to the level of correction there were a couple that never got addressed but were still very ambiguous. I think to avoid using quiz questions from past semesters they make new ones but don't put much effort into it.
Fear of plagiarism accusation is real. It's hard to know what you are actually allowed to talk about with your study group because for each homework there are different rules. In general this is a class with so many rules, many of them aimed at stopping cheating. While I think that's noble they've also really decreased the student experience (i.e. showing your wrists during room scans ugh).
Overall, I think the issue is the class structure doesn't transfer to an online format. Yes, in theory you can grow the class by adding graders, but the way this class is structured most of the grading isn't automated, so having good quality graders and staff is key. The problem is the graders need to reside in the U.S., be good at algorithms and be willing to work for $17.50 an hour. That last requirement is tough, because we are talking about people who can easily get paid $75 an hour. For those few people who decided to grade how much effort do you think they are really putting in to the thankless job of being on the staff of GA?
Rating: 2 / 5Difficulty: 4 / 5Workload: 15 hours / week
o9/2arysQfzlHz+WWUch1g==2024-12-15T13:08:21Zfall 2024
Graduate Introduction to Operating SystemsThis was my first course in OMSCS. I am from a non-CS background and had no knowledge of computer architecture. Initially, I spent more than 20 hours every week watching lectures and solving quiz problems. The lectures are very straightforward and provide a good foundation even if you come from a non-CS background. The professor did a good job in covering such a vast number of topics in a more concise way. The final exam preparation can be quite stressful as the syllabus covers all the chapters, including midterm; however, if you keep good notes, it will be easy to brush up and recollect what you have read. Revising the lectures at the end can be quite a nightmare. TAs are very helpful in answering any question that you have, and attending office hours can give you a sense of what you are learning. Regarding the projects, if you have good proficiency in C++ and watched the lectures thoroughly, then you can finish each assignment in 15-20 hours. For me, it took 30+ hours for each assignment, as it demanded manipulating complex C++ code. Overall, I liked the course material and the class lectures. At some time I feel it is bit outdated as it doesn't talk about today's high-end servers and GPUs. I ended up getting an A. If you want to get a basic understanding of computer architecture and its hardware, go for it.
Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week
XzosBcdhnDW15JHR+dckJw==2024-12-15T10:24:38Zfall 2024
Computational Data Analysis: Learning, Mining, and ComputationThis course has great potential, but it was run like a poorly run start-up, and I really wish they'd hire some course consultants to revamp it. Assignments are fine, TAs are fantastic, and despite the poor audio-quality, the lectures are quite good as well. There's just so much unnecessary work down by TAs and students, and I think it's due to poor management.
- Assignments.
- Need to be updated. I got the impression that they've been reused for dozens of different iterations, yet never updated. Assign some TAs to use genai to create new assignments with newer (and larger) datasets.
- Provide skeleton code and tests. Start with a simple Jupyter notebook in a1 and work up to OOP and a package in a6. Example code is pretty bad and not something you'd see in production. Essentially, you're showing students that as long as whatever spaghetti code you write gets the correct answer, they're doing a good job.
- Instructions. Turn your five page homeworks into the 13-pages many other courses have. Right now, you seem to be reposting more detailed instructions on ed each semester instead of including them in the homework. This creates extra work for TAs (who have to answer the same questions over and over), and for students who have to sift through messages to get some clarity on what's expected. If expectations are clear, TAs are freed up to do more important tasks.
- Readings
- Despite there being three books, the actual pages for each lessons that students can decide to read are perhaps 2-5. This did not feel like grad school. Get students into the habit of reading papers and thick textbooks.
- OH
- Every single OH is recorded and uploaded without it being clear what the topic is that's covered. This is just a waste of storage and creates additional work for students to sift through videos/transcripts to see whether the question they had has been answered somewhere.
- Have targeted OH that are uploaded. If TAs are freed up, they can research a topic in more research and create a session where they show you how they'd code up an algorithm, how they'd refactor someone else's code, how to vectorized operations, do some math questions (MLE, Optimization, LA). Such OH would actually be useful. I don't know if Georgia Tech has any knowledge sharing videos where professors can discuss course structure, but I think generally omscs is better organized than omsa courses.
-
Chat GPT Professor needs to genai proof this course. Perhaps include proctored exams (coding & theory). Make part of the grade dependent on model performance to really force students to finetune hyper params (could be a standalone assignment). Perhaps use genai yourself to provide a baseline grade on assignments to free up TAs more. Adding gradescope + tests will have the same effect.
-
Professor Yao Xie She actually is one of the few professors who's quite involved in the course and frequently offers OH and mass-emails students. She also clearly knows what she is talking about.
Rating: 2 / 5Difficulty: 2 / 5Workload: 11 hours / week
XzosBcdhnDW15JHR+dckJw==2024-12-15T09:55:52Zfall 2024
Deep LearningHad finished a DS bootcamp & Andrew Ng's DL specialization prior to starting. New to pytorch, but had built projects with TensorFlow and JAX before.
Readings (5/5) This course helped me get over the fear of reading papers. I probably read 15 - 25 papers completely and whenever I now want to research something, I'll head over to paperswithcode to check out the current research. DL book is a bit dry at times, but all the topics in it are covered extensively in other books/youtube/medium blogs etc.
Lectures (1/5)
- Definitely need improvement but thankfully Justin Johnson's lectures at UMich are on youtube and cover most of the same content
Reading (5/5)
TA OH (5/5) The targeted OH were great. Personally I think the best teachers just use blank powerpoints and draw out any computation math/do equations. Not a fan of the polished slidedecks many professors use, especially if they just read the text.
Quizzes (4/5) They were hard and ambiguous, but since their purpose is to separate the As from the Bs, don't think they're too bad. Perhaps add some more questions and remove the ambiguous ones?
Assignments (5/5) Challenging, interesting, and mostly well-structured. A4 could benefit from slightly improved and consolidated instructions (they're found in 1) the code, 2) the assignment, and 3) a document a TA made. Would have really enjoyed a short a5 on GANS or VAEs though, but I guess they want you to focus on your project instead. Perhaps swap out quiz 5 for another short assignment? I think most of the learning was done during the assignments
Project (3/5) They provide you with a really slick overleaf template I'll be using in the future, but the process of finding a team gave me middle school PE class vibes, except that it was 150 students trying to make small teams. Many early groups also experienced drop outs, and of course plenty of coasters also take this course. I guess this is just the nature of group projects?
Tips
- If possible, finish the assignments before your quiz
- Learn some pytorch - the packt course is decent, Andrew Ngs DL course is good too for the theory
- If you're coming from OMSA and have only coded in Jupiter notebooks so far, please learn some git basics + project structure. You'll be a lot easier to work with in the project :)
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
XzosBcdhnDW15JHR+dckJw==2024-12-15T09:33:44Zfall 2024
Network Science: Methods and ApplicationsBefore taking this course, I had taken a discrete math and graph algorithms class, though I'd say the background knowledge really only helped in the first two modules
The Good Fascinating Topic - the readings for the most part were relatively up to date, though lectures were far and few between. OH - later on in the semester, OH would usually be a bunch of students and a TA discussing homework problems, or troubleshooting each other's question. First class were I felt OH with multiple students turned into more of a collaboration than either a) TA leading a discussion or b) people just chatting about non-course content. TAs - I thought Jake, Tab, and Jason were great, and wish they could have taught some lessons themselves.
The Bad
- The instructor is just MIA and it's taught by TAs
- Class feels a bit disjointed and references to earlier modules often feel forced that really necessary. I feel like I learned about many different concepts, but don't recall that much detail.
- Weekly quizzes get a bit tiring, perhaps do five quizzes instead like DL?
Requests
- Focused office hours by TAs that are recorded or assignment overviews. It would have been nice if each TA had to present a lesson on 1-2 topics during the semester. Instead, they're just used to answer the same question over and over during office hours.
- Last module could have been replaced by another topic, especially the last lesson.
- If you want to ctrl-f during quizzes, use this resource instead https://lowyx.com/posts/gt-networkscience-notes/
- Release homeworks a week early so people who are planning a vacation can work ahead.
Overall, pretty straightforward course, and ideal for someone who wants to finish the semester 2-3 weeks earlier and avoid any group project drama
Rating: 4 / 5Difficulty: 3 / 5Workload: 11 hours / week
7jR7T0AtqXbh5RJIjoOZ3Q==2024-12-15T07:28:48Zfall 2024
Advanced Operating SystemsSome context: Non-CS background (business undergrad), previously took GIOS, GA and CN. I have a family so I avoid studying on weekends (except for exam week), so most of my studies are done on weekdays. I managed to score above 97 overall for an A.
As with other GT courses, do not come in expecting the theoretical content to be state of the art. Rather, the content taught is meant to be foundational. I.e Lectures and papers are from decades back (circa 1980s).
I personally found the content really interesting as I always believe in learning from first principles. Having a good understanding of the foundations will likely help in understanding how the more modern advance stuffs came about.
To balance things up, the projects deals with more modern concepts such as Virtualization, Distributed Computing, gRPC and MapReduce. I won't touch on the content of the projects as there are ample of reviews that covered those. What I can say is - the projects alone made AOS worth it for me. I did every project alone and as a result I felt that it made me a better engineer overall. So i actually recommended doing the projects solo if possible.
Grades are largely made up of two components: Exams (~42%) and Projects (~48%). The other 10% include stuffs like Pre-lab, Homework, Ed participation, Paper summaries and attendance for weekly "tutorial" (aka hangout).
Exams seems to be the Achilles heel for majority of the student. I did relatively well for the exams and here's my suggestions:
- Watch (and re-watch) the lectures until you really understand the concept being discussed. Take notes as it will help with revision.
- Attend/watch the hangout for the quizzes and extra information that Kishore will sometimes share.
- Attempt the exam questions when released and compare it with what others have shared. I actually learn quite a lot from other classmate answers.
- If you still have time, look through the previous exam questions.
I actually did not read much papers at all. Yes there are like 46(?) of them, but i only read a couple of them. My advice is to read only if you're interested (which you should select for the paper summaries) but not to prep for the exam.
I also personally find the marking of the exam to be "lenient"; in the sense that they are not looking for certain keywords or format (unlike a certain course) but rather if your answer displays the correct understanding it will be awarded marks accordingly.
Overall, a solid course which projects alone are worth it. It does take a fair bit of time (especially exam weekend) but still manageable if you're consistent with your work. I have to emphasize consistency is the key, as I can't imagine cramming all those concepts right before an exam.
Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week
7N/88yIyeQcbvexXzRnicA==2024-12-15T02:53:07Zfall 2024
Special Topics: Financial ModelingI got 98% (A). This course is the easiest and the stupidest course at the same time. Essentially you waste the whole semester spending hours every week filling blanks on Excel worksheets. The content is ridiculously shallow that I didn't learn anything beyond what 5 minutes of google would offer. Also the group project is stressful because you and three other people collectively have to complete a massive Excel sheet with several hundred empty cells that depend on each other in a complicated way, such as circular reference. So if your team mate made a tiny mistake, then all your cells can be corrupt and you have no way of verifying your answer. It's still an easy A but it's just so wasteful of time and money to spend a whole semester on this silly Excel exercise.
Rating: 1 / 5Difficulty: 2 / 5Workload: 6 hours / week
WkpurdY94WM3aHrUljY66Q==2024-12-15T01:51:53Zfall 2024
Software Development ProcessThis course covered all the topics I wanted: version control, testing, software architecture, android development, etc. but at wayyy too high level. Software architecture was one lesson with no homework attached. Testing was a lecture on testing and then an assignment (Assignment #6) that just wanted to know gotcha testing cases instead of actually focusing on testing. In short, the topics are there but not covered at the level of detail I wanted. The class is a good one if you're a new grad, want to pair with something else, or it's your first class....otherwise I'm not sure you'd get much out of it. If you're new to coding I'd make sure you can write a basic program in java and understand object creation and the difference between static and non-static.
The good: Lectures = really good with topics clearly covered. Projects and assignments were fun (minus Assignment #6).
TLDR: Easy class, but I wish it was 1-2 levels of depth further into each topic. The teacher did mention a new course potentially coming that I think might be more relevant.
Rating: 4 / 5Difficulty: 2 / 5Workload: 7 hours / week
WkpurdY94WM3aHrUljY66Q==2024-12-15T01:31:22Zfall 2024
Human-Computer InteractionMe: Undergrad in Chemical Engineering. Been working as an engineer for a decade and recently switched to working on engineering software (software for use by engineers). Took this alongside SDP. It's my first semester at GaTech.
Grade: A (96%) <-- Just flexing on the guy below me who got a 94%. :P
Basically everything they said. A lot of great information in the course and I'm glad I took it. If you remember the class is 800 people and to very clearly label everything in the format of Rubric requirement and then answer, rinse and repeat then getting 100% on the projects is definitely doable. Don't listen to them on the quiz's. More writing is better. I tried to just answer concisely on the first quiz and got an 80%ish. Wrote a ton more for the rest and the graders seemed to understand what I was getting at a lot better and scored close to 100% on the rest. I recommend doing the exams right after the quiz's. I literally didn't even study for the tests (just studied for the quiz's and took the exams right after). This strategy got me in the high 80s on both exams. Find a team early as those people likely aren't slackers and although the team project is easy it is very long.
I put 8hr's/wk on this. Realistically it was 12hr's/wk of solid work and then 0 for basically the last month of the class. I took the exams right after the relevant quiz and my team worked slightly ahead so we finished pretty early.
I also didn't do the reading. I tried to initially for the first few weeks and it's just too much. I'm not reading 50-60pages/week of dense material and I very much doubt it would have really changed my exam grades. It currently isn't needed to get an 'A' as demonstrated by me and the person below me.
One word of warning. If you are a non native English speaker I would up the time spent 25-35%. This is primarily a English comprehension and writing class. Just something to be aware of.
TLDR: Great course and not very difficult.
Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week
lVaErvC+H+S2COrzPeOalw==2024-12-15T01:02:14Zfall 2024
Knowledge-Based AIFinished the course with an A, achieving a 94%
Background:
- Bachelor's degree in Computer Science from a university ranked #377 out of 436 National Universities in U.S. News
- English is my second language (TOEFL score: 95/120)
- 1 year of experience as a full-stack developer
Overall:
- The lecture is easy to understand, thanks to the excellent course design (one of the best-designed courses compared to others)
- The concepts in this class are very abstract, focusing more on high-level design rather than low-level coding. If you're interested in designing AI systems, this is a great class to take. However, if your goal is to focus on coding, consider switching specializations and avoiding this course
- This class includes a writing section that requires you to produce "graduate-level" papers. From the peer feedback, it’s clear that some people do not meet the required standards (Follow the rubric and explain your work in detail)
Homework (13.75 / 15%): Create a diagram to help explain the concept clearly. Avoid relying solely on plain text; the TA might deduct points if the explanation isn't engaging enough. Image the grader is likely at a high school level, so your explanation should be simple and easy to follow
Exams (6.07 / 7.5% - midterm, 5.45 / 7.5% - final): I’m not a strong test or exam taker. While the tests aren’t necessarily hard, they can be tricky and require a solid understanding of the concepts. Personally, I found some of the English questions confusing, which made things even more challenging. Fortunately, the exams don’t carry much weight in the overall grade, which was a relief. The class average is typically around 88–92 out of 110.
Mini Project(14.93 / 15% - Performance, 14.93 / 15% Journals): Start working as soon as the materials are released. The assignments are very straightforward if you're familiar with LeetCode, as they are comparable to easy-to-medium questions. The only point I missed was Project 2: Block World Agent—it’s difficult to optimize this project effectively. Additionally, I forgot to include the Gradescope score in my journal submission. Make sure to start Project 3: Sentence Reading Agent early to stay on track
One big projects(14.06 / 15% - Performance, 14.81 / 15% - Journals): Read the guidelines carefully—many students skip the syllabus and end up working on challenge questions, only to realize at the end of the semester that those don’t count toward the grade. Focus on solving the questions that are part of the grading system first. If you want to take on the extra challenges, feel free, but make sure your priorities are clear. There are often complaints from students about going in the wrong direction, but the expectations are clearly explained at the start of the semester. Overall, the project is challenging but manageable. The instructor has stated that it’s difficult to achieve 100% on this project, so don’t stress too much about perfection. Aim for a solid score and dedicate your time to other tasks as well.
Participation(10 / 10%): These are essentially free points, and there are plenty of ways to earn them. However, many people still complain at the end of the semester that it’s hard to achieve. The key is to start early in the semester and carefully read the syllabus to understand how to earn these points. It only took me 30 minutes over the first 12 weeks to get 100% in this section, finish it early, and save time for the final project
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
1oWE1nGiSZAe591YU4so7w==2024-12-14T21:37:57Zfall 2024
Time Series AnalysisI'll say it - I think the bad press this class gets is unfair. There are certainly a few areas where this class could improve - some multiple choice questions would benefit from additional QA, and the TA response times are generally pretty terrible.
However, the pacing of the class, the content covered, and the assignments all felt very fair. In particular, the four data analysis homeworks were really helpful in assessing understanding of course content, and provided me with scripts that I can use in my job. Lectures were on the dense side, but overall provide a lot of useful context and information on classical TS models. Exams are open book, but closed internet, and longer than average (8-9 total hours over the course of the class).
It's clear that they have spent a lot of time revamping the course, and it shows. If time series analysis is a course of interest to you, don't let the reviews scare you away.
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
wPJLKOpnA9jWac1xFnGnUQ==2024-12-14T21:03:15Zfall 2024
Data Analytics and Security30% of the class is quizzes and discussion, if you go through the course material this should be easy for you. 20% of the class is coding, you are expected to make an enhancement to a working code (R and Python), they are not too hard, I didnt knew R but picked up on the way, and 50% of class is group project. You have a chance to either pick Enron (Email analysis) or NowSecure(Find Malware from the data). If you choose project Enron(like me) then you will question yourself why this class has Security in its name, it should be replaced with Forensics. You will be put up in a group of 4 and if you are unlucky, you might have hard time with project. 2 of my teammates were very active and 1 was not - he practically waited until last weekend before the submission to start working on his tasks. By that time he was too late, we already picked up his work tasks and finished the project. 3 of us had to put in extra time to work on the project. I would advise to start early and make your teammates accountable for the tasks assigned to them.
Rating: 3 / 5Difficulty: 2 / 5Workload: 12 hours / week
01aELb4omi1xhoWAGRYKqA==2024-12-14T19:30:38Zfall 2024
Mobile and Ubiquitous ComputingCopied and pasted from CIOS below. It's pretty unfortunate that it looks like nothing has changed from this course in the past year, as I was reading through other reviews from last year and kept saying "Yep, sounds about right." Unless Thad makes some major changes to how the group project is run and gets rid of all the pointless "did you pay attention in lecture" exercises, this class is really the worst class in OMSCS I have taken (I am now 7 classes in). There is a LOT of great material in the lectures, and a lot of good start to assignments in the group assignments we did with Sensor Analysis and Arduino. However, these are basically intro assignments and pretty easy. Let's get into making these a bit harder, don't be afraid to give grad students grad student level work. Get it up to 4 of them (honestly the group assignments we did should have been a single assignment and completed with real accel/gyro data using arduino), and make the assignments individual. Get rid of all the needless participation exercises in lecture, and spread the group project through the whole semester with required meetings with your TA for approval for things BEFORE you go out, write an entire proposal, and get a C on it and freak students out the rest of the semester. This is how tasks in the working world operate, not communicating through a vague list of instructions that look as though they were written for someone else. You have meetings with your manager on what you need to do, get buy in from folks, etc. Idk what else to say here, but hopefully this paints a good picture of the perception of the course from the student side of things. This could be an AWESOME course, talk to the Video Game Design staff and see how they run things. I took that class in a summer and it was so much better.
CIOS review:
It felt like the online section of this course was completely detached from the lectures and our grade is a complete toss-up. Our group assignments went fine, and the group project was ultimately okay in the end. However, it was very clear to us as students that the teaching staff was not well trained on what the expectations for our assignments would be, and the grades on several assignments reflected that. Also, there was so much of our grade that depended on our group project, and we got little to no guidance on it aside from a page of instructions. We got lots of last minute clarifications from our TA's which in all fairness, was appreciated, but where was this clarification when the assignment started? My understanding is that the staff decided to frontload individual work and backload the group work. This clearly needs some tuning, as the group work felt completely disjointed even with our group meeting regularly, completing work, trying to understand requirements, etc. My suggestion is to take a page out of Video Game Design's course structure. I completed just as many lectures and participated more actively in the Ed discussions. And at the end of the day, our group was far more successful in our semester project and we were very confident on what we had to complete and submit. Any deliverable for this class as a group for our project, we spent an hour trying to figure out what we had to even complete in the first place.
I will say, our TA did make a strong effort to answer questions on the Ed forums, and even reached out to our group personally to offer extended assistance if needed (we weren't able to take advantage of it because of timing). Lots of answers turned back to, "I need to check back with the teaching staff" so I think since you had a good active TA, the problem came from the instructor staff and not the TA staff. The head TA was also very active and often clarified instructions, though it often conflicted with what the instructors had written on Canvas. Clearly this was very disorganized, and it feels like the TA staff was ready to run the course, but the instructors/course design was just not there. Ultimately, that led to the course being unsuccessful.
Tldr; course material was very strong and interesting, group assignments were okay and I wish we had more work like it as individual work as it was very little/easy, too much lecture quiz "make sure they paid attention" nonsense which was unneeded and did not contribute to my understanding of the material, exam felt fair (I got a 79, could've tried a bit harder for a B/A) for my understanding of the material, the group project was a complete dumpster fire as we had deliverables nearly every week which made no sense and were poorly structured with little room for improvements between feedback being received from our TAs. Ultimately, we made a cool project with a strong codebase and foundation in the course material, but that doesn't mean we will get a good grade which is unfortunate because we had no idea what to submit. This alone makes me unable to recommend the course in its current state.
Rating: 2 / 5Difficulty: 4 / 5Workload: 12 hours / week
00lffzO9jSap9D/Z7/QkKw==2024-12-14T16:59:00Zfall 2024
AI, Ethics, and SocietyNot sure what the big fuzz about low rating of this course is about it. I liked this course: professors explains things well, their points are spot on (in most of the courses in GaTech, professors' english is not even comprehendible.) You are going to learn more than a few things, even though one may thing it's obvious: e.g. how to conduct a poll, corporate data manipulations etc, how to mitigate bias etc. Case in point, by forcing people enter their gatech email in order to post reviews, this brings bias to all of these reviews.
While personally don't agree with the DEI or the need of mitigation, but during the course I left the politics out and I focused to learn the topics, and what AI is about. Also, for those who need more depth, the professors give links to materials of how mathematically bias algorithms are implemented.
Glad I took this course.
PS: Exam1 was a bit a black box one, but other than that I enjoyed this course. Exam2 challenge was where to get the data for corps which abuse with AI. Took me 3 days to get find the data, but that journey was priceless: forcing me to explore diff gov sites for data, filter and link them. Well, just happened that UnitedHealthcare CEO was murdered and his company was sued for misuse of AI.
Rating: 5 / 5Difficulty: 2 / 5Workload: 7 hours / week
00lffzO9jSap9D/Z7/QkKw==2024-12-14T16:36:55Zfall 2024
Software Development ProcessI have been doing soft dev for a long time, therefore I have gone through all of these materials in real life. I didn't know what I was going to learn anything from it, but I was open minded to see how academia leads or catches up with the real world. Overall, the course was very good, especially for those who just entered in CS field. Also, quality-wise this course is one of the best I have taken in GaTech: it teaches you with hands-on the code. Regardless of my experience in the industry, there were things I learned too, b/c in the CS field, rarely one has the luxury to go and do deep manual analyses of code coverage, etc (Our IDEs have all the tools build in for us). Teaching quality also is great, Prof. Orso is very methodical and explains things very well, personally organizes the weekly off-hours too.
Glad I took this course.
Warning: The course difficulty overall easy, I would have marked as something between 1 & 2, but there will be in there an assignment, that is also easy, but very tricky. One may assume has done 100% and still bomb it. I had all the assignments 100% of close to it, but I bombed this tricky one, and barely got an A. Therefore I increased the difficulty to 3.
Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week
Ao6RGzBz4DZeu+8dw7E1TQ==2024-12-14T06:31:01Zfall 2024
AI, Ethics, and SocietyThe course is fairly straight forward. The material is easy to understand especially if you have worked with ML previously. The group project is not over demanding. The final exam was changed at the last minute to be a last assignment. Some of the assignment descriptions could use better wording as it becomes ambiguous what the directions are asking the student to do. There were a few assignments where I lost points including the "final exam" for what I believe to be misunderstandings by the T.A.. The few times I tried to reach out for clarification or rectifying the situation, I was met with silence and so I took the small amount of points lost but earned an A overall.
Rating: 4 / 5Difficulty: 2 / 5Workload: 4 hours / week
QJjmqiD/QFcBmDkyQmKsGg==2024-12-14T04:04:50Zfall 2024
Natural Language ProcessingMy 9th course, and the best one so far! The lectures are well-structured, and the assignments align perfectly with them. Dr. Reild explains NLP concepts clearly, which is fantastic. However, the Meta AI lectures are less impressive.
Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week
lOi6ls5f1KeUa4MqmLkodA==2024-12-14T02:19:23Zfall 2024
Game Artificial IntelligenceI would say overall this was a decent course. I'm not that big into videogames, but I probably would've liked it more if I was. I enjoyed doing most of the projects, especially the racecar and dodgeball projects. The last project was almost more art than coding and a lot of people liked it but I thought it was meh. The lecture material had a lot of info, and a decent amount of material was not covered in any of the projects. I thought some of the lectures were dry. The quizzes were definitely not a gimme you had to prepare for them and make sure you understood the lectures pretty well, but I thought the quizzes were good for reinforcing the material. I think there is a lot of great material in this course if you are into video games.
Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week
0VarVHQOP+Gjd1Cz61euWg==2024-12-13T23:07:56Zfall 2024
Introduction to Graduate AlgorithmsBackground: Bachelor’s in Mathematics with a minor in Data Science. This was my ninth course in the program, and I received an A.
Overall: First of all, this was one of my favorite courses in the program. Before taking the course, I had only completed a MOOC on algorithms, but by the end, I felt competent in algorithms. The course covers dynamic programming, divide and conquer, graph theory, max flow, RSA, NP-complete problems, and linear programming. While a lot of material is covered, the TAs provide so much additional guidance and resources that the topics feel manageable.
Each week, some type of assignment is due, but the workload varies depending on the topic. Here is how I would rate the topics in the course, from most to least difficult:
- NP-Complete
- Dynamic Programming
- Max Flow
- Divide and Conquer
- Graph Theory
- Linear Programming
- RSA
RSA and linear programming were the easiest sections for me because I took courses on number theory and optimization while completing my bachelor’s degree.
Dynamic programming and divide and conquer are covered in the first portion of the course, and I spent the most time on these topics—around 20 hours per week. Graph theory, max flow, and RSA were covered in the second portion of the course. These topics were easier for me, and I spent around 15 hours per week on them. NP-complete problems and linear programming were covered in the final portion of the course. I spent about 10–15 hours per week on this section, even though NP-complete problems were the most difficult topic for me. These problems are challenging because they are more abstract and difficult to visualize, but they were also my favorite part of the course. It was incredibly satisfying to find reductions that worked.
Homework: Homework assignments accounted for 25% of the final grade. Overall, the homework wasn’t too difficult, but it forced me to understand the course concepts in great detail. Completing the assignments and learning from my mistakes helped me prepare for the exams. Additionally, the regrade threads were invaluable. In these threads, students shared solutions, which helped me understand different approaches to problems and solidified my understanding of the material.
Quizzes: I generally don’t like quizzes or exams, but I appreciated these quizzes. They weren’t tricky; instead, they tested how well students understood the material. If I struggled on a quiz, it was a clear sign that I needed to rewatch lectures or work on more practice problems.
Exams: I’m not a great test taker, but I did fairly well on the exams, earning an A on the second exam and Bs on Exams 1 and 3. Surprisingly, I enjoyed the exams. The questions were fair and interesting, and I felt like my grades reflected my understanding of the material. Solving the problems on the exams was satisfying. Here’s what I did to prep for each exam:
• Exam 1: I started studying about two weeks in advance by reviewing lectures, attending Joves’ office hours, revisiting homework assignments, and practicing problems. This strategy worked, but I wish I had completed more practice problems and spent more time memorizing lecture material. • Exam 2: I started studying for the exam about 10 days before the exam. I used the same strategy as Exam 1 but added flashcards and focused more on practice problems. I did very well on this exam, but I could have done better if I memorized a bit more material. • Exam 3: I spent about 10 days studying for this exam. I built on my Exam 2 strategy by creating more flashcards and doing additional practice problems. Unfortunately, this was my worst exam. Anxiety and spending too much time on one question cost me valuable time. I learned an important lesson: take exams when I am feeling well and don’t spend too much time on one question.
Teaching Staff: The teaching staff was exceptional—easily the best I’ve encountered.
• Jamie did a great job managing the course forum. Questions were typically answered within a day, and often within an hour.
• Rocko’s office hours were phenomenal. He explained concepts differently from Dr. Vigoda, which often clarified any confusion I had. There were multiple TAs answering questions in the chat during office hours, so it was very easy to get a question answered. • Joves’ exam prep office hours are fantastic. He goes over many practice problems from the textbook. Just seeing how he goes about solving problems is invaluable. He also gives exam tips and encouragement. • Aja and Emily provide a lot of supplemental posts. They broke down many of the mathematical concepts and made them easy to understand. Emily did an excellent job answering some of the tougher questions on the forum. Aja created an exam guidance post that was invaluable. I followed all the advice in her post, and it helped me perform well on the exams. Aja was also incredibly supportive to students who didn’t do well on an assignment. She really motivated students and worked very hard to keep the forums positive.In addition to all the front-facing working, the TAs were working hard to return grades quickly. Most grades were returned within 7-10 days.
Summary: For all these reasons, I highly recommend this course, if you’re interested in the topics. While the material is challenging, I learned so much. NP-complete problems and dynamic programming were particularly fascinating, and the teaching staff was outstanding.
Rating: 5 / 5Difficulty: 4 / 5Workload: 18 hours / week
cRXz1sFin0M1pGkQUS9Ykg==2024-12-13T20:25:39Zfall 2024
Deterministic OptimizationI thought this course was great, although certainly not easy and certainly a weekly time commitment. Math proficiency, especially with derivatives and matrices, will be a huge help in being comfortable with the material. My biggest gripe is that the course is kind of relentless - each of the 15 weeks consists of new material made up of lecture videos that can get lengthy for certain weeks, and a homework assignment. This includes during exam weeks, so you have to worry about keeping up with the material and assignment while studying for an exam worth a large portion of your grade. Others also complain about the large weight of exams, which is fair, but I'm not sure what the alternatives are. The homeworks are peer graded, which in my experience works in the student's favor, and are already worth 25% of your grade. Given that they're peer reviewed, I don't blame them for not making these worth more. The only thing I can think of are more quizzes, similar to the knowledge checks.
I found the lecture videos of the course to be really good. Even though the videos come from a mix of two different professors, I thought they both did a good job of explaining the material in an organized fashion and including relevant examples to drive the concepts home. Additionally, although there are weekly homework assignments, I thought they were reasonable and did a good job reinforcing the material. There are definitely some tricky questions in the assignments, but overall I thought it was very doable especially for a master's level course. Some of the assignments do involve coding in cvxpy in python, so that can take a little getting used to, but the TAs do provide resources for this.
Regarding the exams (midterm and final), they're not the easiest and can be intimidating given the large weight. They consist of 30 multiple choice questions, and I found having a strong understanding of all the theorems/properties from lectures to be essential, as well as being able to apply the methods taught in class. You do get cheat sheets, and by far the most helpful piece is that they provide a practice exam which is very similar to the exam. Definitely take this practice exam to get a sense of your preparedness and to get a good feel for the actual test. The averages hovered around 80 - low 80s, which is higher than it used to be before the practice exams were provided.
As for the material itself, it's very mathematical and more giving you the background of how optimization programs work, less so than actually applying them to models. YMMV in terms of how useful you find the material depending on which classes you take later in the program. I wouldn't call it essential, but it will give you the background for how different models/algorithms you cover in other classes arrive at solutions, so I would only recommend it if you find that interesting/useful, which I did.
Lastly, I found the TA's to be great. The head TAs office hours are very informative and the other TAs hold office hours throughout the week that were useful if you felt stuck on certain concepts.
Overall, I thought the lectures and TAs were great, the homeworks were reasonable and helpful for your understanding, the exams are tough but made much more doable with the practice exams, but be prepared to always be "on" with this class since there's material and deliverables every week.
Rating: 5 / 5Difficulty: 4 / 5Workload: 11 hours / week
lcRgQ691+cj/4X+0mrA4aw==2024-12-13T19:15:52Zfall 2024
Introduction to Graduate AlgorithmsCourse Review
The course material, videos, homework assignments, quizzes, and exams were excellent.
The main issue was with homework grading. You could receive a zero simply for not rounding your final answers correctly. For programming assignments, they only provided 3 basic test cases, but your code would be evaluated against many hidden test cases during grading. This made it impossible to know if your code was actually correct before receiving your grade.
How to Get an A:
I started rough with scores of 7/20 and 11/20 on my first homework assignments, but still managed to finish with a 91.5 (A) as my final grade.
Homework Tips:
- When they release practice problems, study the provided answers and follow their exact format when writing your solutions
- Join a discussion group - be active, share your thoughts, and learn from others
- Always read the comments and questions under homework posts - they often contain valuable hints and help identify edge cases you might miss
Exam Tips:
- Review your personal notes
- Watch Joves' exam office hours (he holds them before each exam)
- Solve all practice problems and work through everything Joves covers in exam office hours by yourself
Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week
TOcew8OkYgnGyg8nWzz1IA==2024-12-13T16:15:16Zfall 2024
Artificial IntelligenceAs others have mentioned this course is challenging and a big time commitment, but it is also full of valuable information. I learned much more content and I learned that content much more deeply in this class than most others.
The reason I rank this 4/5 instead of 5/5 is that it is called Artificial Intelligence, but mostly glosses over Artificial Intelligence generally and jumps right into algorithms. Algorithms are important to the field, but they are not the field themselves. I understand algorithms at this point and could explain something like multidirectional A* in depth, but the class did not prepare me to discuss how multidirectional A* synthesizes into the broader field of AI.
If this class were called Artificial Intelligence Algorithms, I would give it 5/5.
Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week
ZduXZVe+NcBIRDua2dy92A==2024-12-13T15:47:02Zfall 2024
Artificial IntelligenceBackground: this was my 4th class in the program (after AI4R - loved it, this class convinced me to stay in the program, KBAI - most horrible and useless class I've ever taken, nearly dropped the program because of it, ML4T - good, mostly useful). Other than that, I'm approaching my 50, with full-time and demanding job, family, kids, dog and several other obligations. My job is quantitative by nature but does not involve modern CS (if anything, only the numerical methods). I have some academic background in STEM disciplines but it was nearly as long ago as the age of many students in the program.
This class felt somewhat similar to AI4R, especially that Sebastian Thrun was teaching a few lectures here too. His teaching style resonates with me a lot, so that was good. BUT, this class felt 2x as intense as AI4R was: I had no time to breath - long and and complicated assignments, weekly challenge questions, ~55 page long midterm and final. I personally think that the class has enough of material for two semesters. Splitting the course up would allow for spending more quality time on each of the very important concepts covered by the course. The way the things are now, I could finish assignment 1 and completely forget what it was about by assignment 3. This makes me rank AI second in my personal roster.
Another thing I would like to mention: reviews from the previous semesters mention how chaotic and disorganized the class was. This must have changed, at least I have not noticed any disorganization. Yes, there were typos and clarifications to the exam problems but this can be expected given the size of the exams. I'd like to especially praise Raymond Jia who seemed to solely ran the entire course (at least all the challenge questions and most of the communication) - very timely and clear communication and the questions were useful and fun.
For the projects, other reviewers has already commented on them. My two cents: Project 1 - Search, 95. Spent A LOT of time on it and could not get 3-way A* to work. Project 2 - Game Playing, 95. Spent somewhat less time, mostly got lucky, managed to get everything but the last part (beating the secrete heuristic) even without iterative deepening. It was also useful conceptually - made me think of what heuristic would work better. Project 3 - Bayes Nets, 100. That was very useful and relatively not as time consuming, helped me on the final too.
Project 4 - Decision Tree, 100. Relatively easier assignment but still took some time since I'm not very fluent with numpy. Building the tree in ML4T class proved useful here conceptually-wise Project 5 - GMM, 100. That was rough, mostly because I've missed the suggestion to use np.einsum() function that I've never heard about before. After learning about its existence and (partially) understanding how it works, the progress has gone faster. Project 6 - HMM, 100. Easy conceptually but somehow took me long time to program. Introduced like 5 dictionaries to keep-up with the sequence (I'm a bad programmer)To conclude, a great class, great TA's, learned a lot. Just wish the pace was slower so that I could digest the material better.
Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week
gJGGTEnDTNRN7HlO2aFWcA==2024-12-12T22:52:31Zfall 2024
Network Science: Methods and ApplicationsTA's are unhelpful. Whenever you ask them a question, they will say they can't give much info. Professor is never there, there are no lectures. Maybe a few 1-2 minutes videos but they are not helpful.
Reading materials are long, and you can't really find any answers by using Cntrl+f. So doing the quizzes were painful and felt like questions came from outside of lectures.
Overall, no proctored exams, only couple of projects and quizzes
Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week
dA5LVG9TaO+lII1HCaVmsQ==2024-12-12T21:22:40Zfall 2024
Machine LearningThe lectures are very interesting in my opinion, maybe a bit long. The final was tough, but mostly fair and follows the lectures/problem set. Overall, the content and material is very, very interesting.
The projects are what this course is famous (infamous) for. It's well known that there is a "hidden" rubric, even though they have added project FAQs which serve as more detailed instructions and try to improve the course's reputation. I'm still not sure why they can't just flat-out tell you what charts they want to see, and what questions they want answered.
The first project, you will have to kinda figure out how the game works. You have to check the Ed Discussions, Discord, and online blogs/reviews to figure out how projects are done. You want to create a LOT of charts and graphs, and put as many as you can on the papers (I'd say minimum 12 graphs per paper, some might be over double that). You want to use a lot of the pertinent buzzwords for each paper, and try to answer as many questions as they put on the instructions and FAQs.
Don't focus too much on the coding. Have ChatGPT do most of the coding for you (which is allowed), and run the experiments to create charts. Don't stress over fine-tuning things. The first project I spent too much time on fine tuning parameters and such. The analysis and report are the truly important parts.
The median for every project ends up being around 75%, but if you look at the historical grades for this course, you'll see that about 2/3 - 3/4 of people who don't drop the course end up getting an A, and almost everyone else gets a B. So you have to be ok with getting around the median on each project and trust that the curve will help you out. Actually, as long as you get above the lower quartile (typically around 60-65%) on each project, you should be ok and potentially on track for an A, if not a B. However, the course setup still causes undue stress and anxiety, and I think there's still room for improvement in the course.
Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / week