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.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (1.4 / 5): ★☆☆☆☆
Lecture Rating (4.3 / 5): ★★★★☆
Difficulty (3.6 / 5):
Workload: 20 hours/week
Pros:
1. Covers a generous amount of linear algebra, basics and advanced
2. Material is well presented in the textbooks
3. Cements a great foundation for later courses in the program
Cons:
1. TAs will make or break your grade
2. Lectures often end with some form of "prove this to yourself without me explaining it"
3. Two midterms and a final can leave you playing constant catch-up if you work full time
Detailed Review:
First the good:
This will set you up for success with future classes that rely on LA for concepts and applications. The course itself is well designed, even with an index that references all of the terms and definitions covered in the course. Assignments are the honor system where you can easily click through them without doing them. The course itself is free on EdX so you could even do it on the side with another class before taking it for the credit.
I enjoyed this course at the beginning, when the TAs weren't required. The material was difficult at first, but quickly became easy to grok on second readings. If you have any issues with writing proofs this is a good spot to practice and receive feedback on how to improve.
This leads to the bad, and the bad quickly overwhelmed the course halfway through:
This feedback loop of course depends on your TA selection. I'm not sure if TAs are required to make sure a certain percentage of the class does poorly, but in this semester it seemed that way. I would actually describe the grading and feedback as hostile. How I mean is that either you would lose points for minuscule things, or lose points because you didn't meet some criteria. The criteria was often unknown until after grades came back, where the TA would leave a single half-sentence describing what you missed. One of the most notorious examples of this was for one homework asking you to investigate a certain criteria and compare different methods of convergence.
A large number of the class lost points because they didn't give the exact value required for optimal convergence, which was not mentioned anywhere in the homework.
The homeworks themselves are between 0 and 3 points for each question so missing a single point can be catastrophic. Usually you would expect at least a 1 for putting in effort on an assignment; the TAs in this course made sure you got a 0 instead, as if you didn't even turn in the work. Requests for regrades could then be redescribed as requests for being told you're just beating your head against a wall.
In a normal class, you could take the feedback on where you did poorly and improve on it in the next homework. Our class we had homeworks essentially all graded near the end of the semester, to where homeworks we've submitted could have been done differently had we had the feedback of previous homeworks by then.
Don't expect a curve either. Despite previous semesters all reporting generous curves, or at least enough to bump them up one category, our shortened semester had zero curves. Grade distribution as a result led to 25% of the course theoretically being placed on academic probation. Any requests for a curve were either ignored, or the requests deleted by the TAs. This was devastating as the curve could have been less than 1% to make a letter grade difference to a chunk of the class.
In summary, it is a good class to learn advanced linear algebra techniques. If however you have any doubts in your proof writing ability, or your theoretical math, take the course on EdX for free and save yourself the stress. A bad TA could be the final decision on if you pass with a credit, or you fail the program.
Overall Rating (3.6 / 5): ★★★★☆
Professor Rating (2.9 / 5): ★★★☆☆
Lecture Rating (2.9 / 5): ★★★☆☆
Difficulty (3.9 / 5):
Workload: 15 hours/week
Pros:
1. Well-designed materials especially for the first four weeks.
2. If you thoroughly study all the materials, you'll certainly gain a wealth of knowledge.
3. You can drop the lowest grades for assignment and the questions on edx. For Spring 2023, both Exam 2 and the final exam are as take-home exams. All the TAs are responsitive and work hard to get the things done.
Cons:
1. The first four weeks are well-structured with smooth transitions between topics. However, students tend to get lost starting from weeks 7 and 8, as there is a significant gap between the initial weeks and the rest of the semester. The course seems to lack concrete examples and motivation for specific topics, which noticeably increases the learning curve.
2. The new course team appears to have underestimated the workload. We haven't received Exam 2 even though it's the end of the semester.
3. Exam instructions are not self-contained (e.g., there are no links directing you to relevant content), so you need to find some necessary components elsewhere, such as the course GitHub repository.
Detailed Review:
Once again, I highly recommend building a strong foundation before diving into the semester. The same course team has created an undergraduate Linear Algebra course that you can find on YouTube. It's an excellent resource to help you become familiar with the mathematical concepts and terminology you'll encounter.