Rate My Courses
See reviews, get advice and find helpful resources for university courses
Search
Search
Popular Schools
Recent Reviews
Class Ratings
Professor Rating
Prof: James Ji / Spring 2025
Apr 24, 2025
I think I could have done without this one, but my major required it. It seemed like a waste of time a lot of times because it is a 2-hour block two days a week and we really only gloss over real content half of the time. The rest of the time is devoted to related (and unrelated) extra credit activities, which kind of derail class but some people also really get into it and seem to enjoy it.
Kind of a repeat of Macroeconomics and Microeconomics topics but more confusing... Exams are hard but he does curve them slightly.
He tries to engage the class by discussing real-time examples of the economics concepts, but his organization of class seems a bit scattered.
In order to succeed, you need to remember your previous economics courses. He expects that you know this and will test you on it even if you have only done a question or two like it in class.
Class Ratings
Professor Rating
Prof: Patrick Ward / Spring 2025
Apr 24, 2025
Challenging, but very rewarding if you stick with it.
Your typical algebra and calculus but applied in ways that make it actually useful. Solving systems of equations as well as the partial derivatives and second partial derivatives have specific economic interpretations that are so cool!
Amazing professor! He is very methodical in the way he explains things. He takes the time to write everything out on the board and doesn't skip any steps. He does talk fast and the content is dense, but he makes the most of each class.
There are three group projects throughout the semester each to be done with a different randomly-selected group. I suggest meeting these people in person to establish roles for the project and ensure accountability throughout the process.
Class Ratings
Professor Rating
Prof: Buster Dunsmore / Fall 2024
Apr 23, 2025
Basically CS 307 without the lectures and homeworks. Find a good team and an interesting project to work on, and you're set. Grading is fairly lenient - most of the stress from this class comes from actually working on the project which, if you're passionate about it, is more of a fun stress.
I found the class very useful since you get to choose and develop your own project with a team of friends. You can basically choose anything to work on, as long as it's reasonable to complete within the semester.
In this class you don't really interact with the professor - you are assigned a team manager that you direct any questions or concerns to. But most of the class is self-taught, since the concepts you learn are dependent on your project choice.
Take the time to plan out your project deliverables beforehand - having an overarching idea with some details planned out will make the rest of the project go smoothly. Choose your team with care, you'll be working with them for multiple hours a week.
Class Ratings
Professor Rating
Prof: Paul Valiant / Fall 2024
Apr 23, 2025
This class is very difficult, especially if you struggle with broader computer science concepts like me. The homeworks especially can be brutal and time-consuming, often involving multiple hours of working with TAs and fellow students to get a better understanding of the key concepts.
The content was actually pretty interesting and useful (especially for technical interviews), but is difficult to fully digest and understand. Concepts include greedy algorithms, dynamic programming, NP problems, algorithm runtime analysis, and more.
Prof. Valiant was a good lecturer, but I wish there had been more study materials provided for the exams, since they were often very difficult. The structure of the class was strange too - no official office hours were offered, and an emphasis was put on peer collaboration, which was nice to bounce ideas off each other, but frustrating when you were stuck with a concept and needed aid from a TA.
Start the homeworks as early as possible, they are time-consuming! Same thing with the exams - begin studying early and often. Ask for clarification on concepts when you need it, instead of waiting until you're completely lost.