Spring 2023

CS 577 - Introduction to Algorithms

Instructor: Marc Renault

Requirements: Theory for CS, elective for DS

Workload: There were 13 HWs, 6 quizzes, tophat activities and 1 45% final exams. I spent about 4-5 hrs per week.

Comment: The general consensus is this is the hardest class at UW-Madison. The content was indeed really difficult. We covered greedy, divide-conquer, dynamic programming, network flow, np-completeness, etc. If you take it with Marc (which you will most likely), all HWs were completion based, and there is a generous aggregation on the Quiz. He also asks you to vote for a final vs midterm + final. Most ppl end up choosing a single final despite all the warnings given by people who took this class. That being said, this is really a difficult class. It requires a good understanding of the content and lots of practice. I find the topic really interesting. Marc really tries his best but his lecture is just him reading slides of some hard proof that does not help understanding the content. The completion-based HW means you also don't get much feedback. Although I pass the class with a decent grade (thanks to the final), I don't feel I learned as much as I expected.

Difficulty: 4.5/5

Recommend: 2.5/5

CS 564 - Database Management Systems: Design and Implementation

Instructor: Xiangyao Yu

Requirements: Software/Hardware for CS, Advanced Computing for DS

Workload: There were 2 problem sets, a group project divided into 4 stages and 2 exams. I spent about 3-4 hours per week on average for this class.

Comment: This is the first software/hardware class I took and I had mixed feeling about it. Topics covered include SQL, ER diagrams, relational algebra, file, indexing, concurrency etc. We had to implement a basic version of DBMS at the end. All assignments are in Python and C++. I feel this class has gotten a lot easier than before to the point it is too trivial. There wasn't much work in general and it is just trying to memorize the slide before the exams. The first part was extremely easy to understand. I found the second half a bit more challenging and interesting (internal of DBMS). My friends who are taking 537 found this part very easy. I didn't do to well on the final (it was really hard) but definitely manage to get an A.

Difficulty: 3.5/5

Recommend: 3.5/5

MATH 521 - Analysis I

Instructor: Tirnh Nguyen

Requirements: Additional Math for CS, advanced math elective for Math, almost all math major take this class.

Workload: There were weekly HWs (even when there are exams) and 3 exams. I spent about 8-9 hours per week.

Comment: This is the first class I did not get an A, despite putting in the most effort. I would say looking back, I made some silly mistake in the exam that costs a lot (not getting on the dean's list). Exams' weights are huge (40% midterm, 40% final). Topics were really abstract and required some time to really fully understand. I would say I am not a person who's into pure Math and thus it was a bit confusing for me. This class really depends on the instructor, as it is for most Math classes, and I would probably take it with a different instructor if I choose again. Although I did not get the grade I wanted, I would say I still learned quite a bit from this class.

Difficulty: 5/5

Recommend: 1/5

STAT 240 - Data Science Modeling I

Instructor: Bret Larget

Requirements: Required for DS.

Workload: There were weekly HWs, discussions, 2 exams, and a group project. I spent about 2-3 hours per week.

Comment: An intro DS course that focuses on the stats side. The first part of the class was on R programming. I found it easy and really useful for my current research project that uses R. The latter part is about probability and inference, which I had exposure to by taking AP stats in high school. HWs was not hard but somehow I find it annoying (IDK why). Exams can be tricky as each question is worth a lot (even small multiple-choice questions). The final group project is where you pick a dataset and find an interesting research question and write a report using knowledge from the class, which was also not too bad and if you put the effort in, you will get full points for that. Prof Larget was really nice and kind, and I like his lecturing style (which he read off slide but his slide is nice).

Difficulty: 2/5

Recommend: 4/5

ASIAN 371 - Confucius' Analects

Instructor: William Nienhauser

Requirements: Literature breadth

Workload: There were weekly responses, in-class quizzes, and a final paper. I spent about 1hr per week.

Comment: A famous easy literature class (especially among Chinese students). Not much work and you will get an A. However, if you want to learn something and actually put effort into your gen-ed, I recommend taking other classes as you really won't learn much from taking this class. It is just really hard for the prof to teach a 350 ppl class and for students to learn from it. Prof Nienhauser is a nice person and really funny. You can see he is knowledgeable about the content and is passionate about it.

Difficulty: 1/5

Recommend: 4/5

Last updated