Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (2.1 / 5): ★★☆☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.9 / 5):
Workload: 7 hours/week
Pros:
1. Good review of topics you should've picked up in an undergrad DS course
2. Projects will help you develop programming skills
3.
Cons:
1. Test cases are a pain and unclear
2. Quiz questions require a ton more thought than what is covered in lecture
3. Very surface-level covering of algorithms
Detailed Review:
Okay, the quizzes can be hell but you'll get a lot out of this class, especially if you have a weak programming/DSA background. As someone with a good DSA background, this class was largely an exercise in programming rather than learning. This class is by no means sufficient to go into programming interviews with: I'd recommend doing some supplementary reading each week to help add similar data structures/algorithms into your arsenal.
I say that this feels as if it is an undergrad class. Nothing here is really graduate level. The professor said in a video somewhere that this class was added because DS students generally had a weaker programming background. That's great and all, but this should be a graduate class. In my opinion, they really should've kept the algorithms class that DS students were allowed to take in the past for the stronger students and also offer this for students who need some help.
Curve is pretty lenient in my opinion. Raw ~85% is enough for an A. The first three assignments are pretty easy. #4 and 5 are difficult and require a lot of debugging. #6 just requires some thought on strategy. The quizzes are hard right from the start and continued to be hard right up to the end.
TAs when I took this were great, especially Joseph. Prof was absent pretty much the whole class as is to be expected. Was there to essentially give a copy-paste introduction at the beginning and to roast cheaters at the end.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 15 hours/week
Pros:
1. Great content and lectures
2. Very useful in CS and Engg.
3. Builds mathematical maturity to some extent
Cons:
1. Poor format of exams
2. Not enough problems to guide
3. Some real analysis is needed to make sense of everything, but course is not honest about it
Detailed Review:
This course is a good intro. to convex opt.
This course is significantly more accessible than ee364 (Boyd), and both professors deserve credit for that. Those who say, just take Boyd's youtube lectures (instead of this) are either math geniuses or have no clue what they are talking about. Professors avoid real analysis as much as possible and use simple concepts. Both lecturers are good, one is not a native speaker and sometimes struggle a bit, but otherwise he is also very good.
However, while taking the course, you do not get enough practice in solving numerical problems that show up in MC exams. If you do the exams fully honestly, I believe it is hard to get an A or A-. There was only a nominal curve.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (2.9 / 5):
Workload: 12 hours/week
Pros:
1. Good focus on theoretical and mathematical basis for algorithms and learning models
2. Homework assignments are good extensions of the learning experience
3. Lecture quality is good (though may require supplemental reading)
Cons:
1. The professors were rather absent in this course from an interaction standpoint (though very active TAs to make up for it)
2. Not many opportunities to collaborate or discuss concepts with classmates given the nature of the HW assignments
3.
Detailed Review:
First half of the class is considerably more time consuming than the second half (around 15 hr/wk vs around 6 hr/wk). The HW assignments are also easier for the second half of the course. Would recommend supplementing some of the lectures with external materials as the lectures tend to be very "proof heavy" and those who don't already have a birds-eye view of the algorithms being discussed may get lost.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.8 / 5): ★★★★★
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.9 / 5):
Workload: 8 hours/week
Pros:
1. The topics are interesting.
2. The professors are well-known and knowledgeable on the subject.
Cons:
1. Lots of forced reading (could be a pro if you like that!).
2. Final Exam is worth 30% and takes preparation.
3. Lack of programming assignments that give you any freedom. All of the programming assignments tell you to copy algorithms from the book. I enjoy programming assignments that grant the learner some independence... and you don't get that here.
Detailed Review:
Parts of the book are enjoyable. Other parts are pretty slow to grind through. It's annoying how the book leads with a lot of theory and mathematical formulations which aren't useful in practice. The expectations for the reading responses are low, however, good notes can help on the final exam. The equations covered in the book look far more complicated than they actually are in practice!
Final exam recommendations:
I would advise you to note important qualities about the algorithms/methods in each of your reading responses. The numerical questions are simple *IF* you understand the algorithm(s). The multi-step/domino nature of numerical questions means a simple mistake can lead to multiple incorrect answers.
I would also recommend that you keep your written work (or helper scripts, if you go that route) for each reading quiz. Having these to refer to is invaluable for the final.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (1.4 / 5):
Workload: 6 hours/week
Pros:
1. Dr. Parker (who taught the statistics portion) is an engaging professor.
2. The curriculum for the applied statistic portion of the course is well designed.
3.
Cons:
1. Lack of engagement from the TA. Responses are infrequent and often lacking in clarity.
2. Answer keys do not provide a detailed solution.
3.
Detailed Review:
To preface, I have previously taken graduate classes in math and use some statistics in my current job working in Data Science Analytics.
As others have mentioned, the difficulty of this course will depend on your familiarity with the topics. I have given the difficulty of this course a 2 out of 7, not based on my background, but relative to the difficulty I expected from this course going into it. Compared to a graduate level course, this course was easy. A lot of the more difficult questions and content were excluded or modified to make it more digestable. For example, proof-based questions were reduced to multiple choice questions, which you could solve by spotting the errors in the wrong answers. Other more challenging questions borrowed from the textbook were assigned but ungraded. Some of the quizzes can be easily finished in under 5 minutes when 30 minutes are allocated.
I have given the Piazza (now EdStem) community a 2 out of 7. The TA was absent in EdStem, but there were some good responses from classmates that were helpful.
I was skeptical about the applied statistics curriculum to start, but have really come around on it. There isn't really a standardize method of using applied statistics in industry; the course taught us how to think about applied statistics and how to create simple applications in StatKey. There is some ambiguity around inferences, wording, and rounding when it comes to applied statistics, but I think overall Dr. Parker does a good job navigating around it.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (2.1 / 5):
Workload: 12 hours/week
Pros:
1. Very doable for people without systems/OS background from work or undergrad
2. Will introduce those unfamiliar with C to pointers, memory management, Makefiles, gdb, etc.
3. Manageable workload even for accelerated summer semester pace
Cons:
1. Depth explorer is at an undergraduate level. Advanced topics only touched on at a surface level
2. Lectures only really needed for exams. Textbook and xv6 guide a far better guide for homeworks
3. TAs were very helpful but assignments had some contradictions/unclear instructions that took some time to resolve
Detailed Review:
I would recommend this course for anyone early in the program. It gives a good background on systems programming and OS concepts (CPU, memory, and storage virtualization) as well as some good practical experience with C through the manageable projects, which is valuable for any software engineer or developer. Anticipate needing some catch-up time at the beginning of the course if you have never worked with C before.
The course does cover several “advanced topics” but does not go in depth. All that is needed is pure memorization (for the open-ended response exams) of points from broad lectures concerning topics like containers, persistent memory, multikernels, etc. There’s nothing stopping students from pursuing research in these advanced topics beyond the course, though. Overall, good course, but do not expect this to be a truly “advanced” operating systems course.
~12h/week due to accelerated summer pace. 8-10 is probably more accurate for a normal fall/spring semester.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (2.9 / 5):
Workload: 10 hours/week
Pros:
1. Self paced (if you like it)
2. Materials that are important and hard to find online otherwise
3. Fun assignments
Cons:
1. Quiz questions are sometimes confusing
2. Last 6 week's worth materials are not covered in PAs
3. Not nearly enough finger exercises or weekly exercises, which means lots of lectures with not enough testing.
4. Key Concepts are often not properly explained and lecturer is just assuming that students already seen that (or not very clear whether he is defining new concept or asking us to look at it)
Detailed Review:
This course gives a decent intro. to robot motion planning which has wide range of applications in theory of autonomous driving and robot motion planning. Course covers an ambitious range of topics, from basic logic programming to reasoning under uncertainty and everything in between such as minimax algorithm, kalman filters and Markov processes.
Lectures are nice and comprehensive and professor tries to give intuition or proof for theory. Quizzes could be better in terms of clarity, but still manageable. Programming assignments' difficulty will depend largely upon your background. Those with gaming programming or similar experience found it too easy, others found it moderately difficult.
Given the breadth and depth of topics covered, prerequisites are assumed which include boolean logic from discrete math., basics of algorithm complexity, sound understanding of probability theory and basic linear algebra. Sometimes certain key concepts are not properly explained and professor swallows or mumbles a few things.
Assignments would take 5-25 hours per assignment for honest first time learners. However, class median and even the lowest quartile were suspiciously high for assignments and quizzes and given liberal policies, there may have been widespread "collaboration".
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 10 hours/week
Pros:
1. Covers topics such as Duality ,Linear Programming, Semi definite Optimization , Convex conjugate , KKT etc which is very helpful to understand the world of optimization.
2. Some of the topic on Duality are really beautiful. This being my first course in optimization theory - at some places it takes you to a all different level of intuition - which is beautiful in nature.
3. Some of the problems are very much hands on mathematical in nature and not as detailed proofs as OLO - so the pace seems quite right. First part of the course really complements taking OLO and you get to start making sense of some of proofs in Algorithms section of OLO.
Cons:
1. Second part is similar to OLO algorithms. So you may find it a bit boring towards the middle of second half if you have already taken OLO.
2. First exam may be a bit not so comfortable, but once you get used to the format, exam 2 and 3 get better.
3. Doesn't go into details of certain methods such as Simplex/interior point method.
Detailed Review:
A must course if someone cares about intuition and the math behind convex optimization which is very helpful these days for AI/ML . Boyds convex optimization text book recommended (exercise at the end of chapter for instance) may be very useful. The course also takes similar route as covered in other university publicly available courses such as EE364a (Stanford). As mentioned in other review, i am not sure why this course has less ratings, but so far the content itself has been one of the best material covered in the program. For instance, The course touches on Semi definite optimization and leaves you wanting more end of the day.... and if you are person , who care for such material.. you may end up falling in love with such topics craving for more content.
Prof Constantine is a true gem for the optimization material. He is learners delight and brings in passion. I wish the program introduces more topic like combinatorial optimization in future.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (4.3 / 5): ★★★★☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (4.3 / 5):
Workload: 14 hours/week
Pros:
1. Good course covering breadth of Deep learning concepts.
2. I have no ML background. Now, I feel like I can read some papers and understand the architecture at a high level.
3. Good coverage of theory and practical aspects.
Cons:
1. More than half the quizzes needs you to be well versed with Calculus. If it's been a while since you took Calculus, definitely a good idea to brush up on.
2. Final project requires lot of time commitment. Although I had teammates, I ended up working solely as they tried different approach that didn't go anywhere.
3. Course material is released ahead of time. So some people try to be too smart by working leaps and bounds ahead, making everyone else in the class anxious.
Detailed Review:
Hope they don't release all the homeworks ahead of time.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (3.6 / 5): ★★★★☆
Lecture Rating (3.6 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 6 hours/week
Pros:
1. Deep dive into sub-domains in NLP
2. Hands-on projects with helpful TA support
3.
Cons:
1. Course content not exactly up-to-date. No projects on transformers
2.
3.
Detailed Review:
Jifan Chen is the best TA for this course. He was super helpful during Office Hours and had answers to all my questions.