Skip to main content
Sponsored
CS 3100 Data Structures and Algorithms 2
Last taught: Spring 2026
☆ Rating
Difficulty
GPA
Instructor
Enjoyability
Difficulty
Recommend
Reading
Writing
Groupwork
Other
Total Hours

Grade Distribution

No grade data available

Average GPA
Students Measured

16 Reviews

Add Review
Fall 2022
5.0
Average

I really enjoyed DSA2. Floryan is an awesome lecturer and also has a great sense of humor to keep lectures interesting. In this course, there are 8 modules (1. graphs intro, 2. advanced graph algorithms, 3. divide and conquer, 4. greedy algorithms, 5. dynamic programming, 6. network flow, 7. NP completeness, and 8. machine learning), and your course grade is dependent upon the number of modules you pass (score 80% on the hw(s) and 14/20 on the quiz or better) vs high-pass (score 80% on the hw(s) and 18/20 on the quiz or better). Ultimately, we did not fully cover NP completeness or machine learning as Floryan cut out these modules after the shooting.

While the course structure was challenging in that all 8 courses needed to be high-passed in order to get an A, everyone had multiple retake opportunities. I really enjoyed the retake aspect of the course structure as quizzes were low stress but would still motivate you to study. As far as the homeworks go, they are all due on the last day of classes. Most of the homework assignments took me a few days of coding/testing/office hours, but I eventually got all of them. Make sure to start early because trying to finish the last few assignments with only a few weeks left was pretty stressful.

Overall, Floryan was awesome and did a great job with this course. My one qualm is that I wish the grading scale was more forgiving, but I'm glad I took this course Fall 2022 with Floryan.

Instructor 5.0
Enjoyability 5.0
Recommend 5.0
Difficulty 5.0
Hours/Week 7.0
Sponsored
Fall 2022
5.0
Average

I loved this course! Professor Floryan the GOAT, always able to make the content of the course accessible. I personally found the lectures to be a little on the slow side, but I was almost always able to gain a full understanding of the content from then. The course is definitely a significant step up in difficulty compared to prev CS courses (looking at you CS 2100), which made the first few weeks of the course and the first HWs seem extremely difficult from the start. However, as long as you stay on top of your work, it becomes significantly easier as you start to better understand how to translate the contents from the class into working code.

The grading system was a little strange, I did not have much of an issue with it, but it can be frustrating if you consistently get 17.5 or 17 out of 20 on quizzes that you need 18 for high passes, but there were many opportunities for retakes to improve your grade throughout the semester. It was a shame that much of the content had to be cut out of the fall 2022 semester though (I was really looking forward to the NP-Completeness and Reductions content).

The one piece of advice for the course is to not fall behind. I always made sure to get my HWs for each module finished before their respective quizzes. As long as you don't fall into the trap with the "no deadline" policy, this is a really fun and rewarding course!

Instructor 5.0
Enjoyability 5.0
Recommend 5.0
Difficulty 3.0
Hours/Week 4.0
Fall 2022
4.7
Average

Though this course was challenging, it was extremely rewarding and fun! Floryan is an amazing lecturer---not only does he explain the concepts clearly and concisely, but if you attend in-person lectures, you get to hear some funny stories and jokes he chooses to share with the class. The in-class environment laid back and chill, perfect for learning an intimidating subject.

The content is hard but I think that the grading system allows you to have a good chance of getting a B/maybe A in the class. How the grading system works is that there are 8 modules and you can either fail, pass, or high-pass the module. There are 1-2 homeworks and one quiz for each. To pass, you need to get at least an 80% on the homeworks and a 70% (14/20) on the quiz. To high pass, you need to pass the homeworks and get a 90% (18/20) on the quiz. Just passing all the modules = C, high passing 3 modules = B, high passing 7 modules = A. This is super scary at first but the homeworks have no deadline and you can submit as many times as you'd like. You also get three attempts total on every quiz. I didn't believe it at first but taking the quizzes does get easier! The more you do it, the more you become comfortable with the material, and you actually learn it!!! All this grading stuff might be modified in future semesters to accommodate whatever the grade curve turns out to be. Just try not to fall behind, go to office hours, and you'll be fine!

#tCFfall22

Instructor 5.0
Enjoyability 4.0
Recommend 5.0
Difficulty 4.0
Hours/Week 8.0
Fall 2022
4.3
Average

Prof Floryan is a fantastic lecturer and professor. It's clear he cares about his students' well being. The class is very challenging, but the quiz grading policy (with 3 opportunities to pass them) is extremely lenient. I definitely had to prioritize this class over all of my other classes, and it takes a LOT of effort just to pass the class, but it is definitely doable if you actually like computer science and are willing to put in the work. This was the first proper difficult class I've taken, as in the hardest class I have taken at uva thus far, but it definitely taught me more than any other class i've been in here. It's extremely useful, and I actually found the programming assignments to. be fun. Its defintely better to have a friend or friends to go through the class with since homeworks can be collaborative. Struggling through it with other people makes it easier. Completely recommend this class with Floryan.

Instructor 5.0
Enjoyability 4.0
Recommend 4.0
Difficulty 5.0
Hours/Week 0.0
Fall 2022
4.3
Average

TL;DR: class very hard but amazing prof. hws are great but quizzes are not. the end.

I'd say DSA 2 is prolly one of, if not THE most important class in the CS major. Floryan is an outstanding professor - he is extremely knowledgeable, always on top of his shit, and is an amazing lecturer. This class tough. Like properly difficult. But it's also my favorite class this semester. The class content is VERY interesting, and the way I see it, I think you know you picked the right major if you end up enjoying this class.

The class topics can get pretty hard (very much a jump from DSA 1), but you are definitely prepared sufficiently to be able to tackle the difficult homeworks. I really enjoyed the coding homeworks - all you are given is a pdf containing the problem statement with a sample input and output (no starter code, which is very different from DSA 1), and you are given complete freedom when implementing your solution. The written homeworks, however, can sometimes be pretty challenging (I'm looking at you, DP written HW).

Class logistics: 8 modules, either 1-2 HWs per module, and 1 quiz per module. All HWs are due at the end of the semester, but Floryan provides recommended deadlines for each HW (it is VERY important to stay on track and not fall behind and drown at the end). HWs pass/fail, with 80% being a passing grade. Quizzes are Fail/Pass/High Pass, where fail = <70%, Pass = 70% - 89%, High pass = 90%+. As of now, you have to high pass ALL eight quizzes for an A in the class, but Floryan insists that he will make changes at the end of the semester based on the class averages. You do have 3 chances to take all 8 quizzes to try and boost your quiz scores as high as possible.

My biggest gripe with the class are just the quizzes - they're straight up just hard, but I think retake policy is really nice and gives you chances to boost your grade.

Overall, if you put in consistent and dedicated effort into the class, you are very much set up for success. The moment you start to fall back and the HWs start backlogging is when things can get nasty so PLEASE STAY ON TRACK.

Instructor 5.0
Enjoyability 4.0
Recommend 4.0
Difficulty 5.0
Hours/Week 8.0
Fall 2022
4.3
Average

Incredible professor. The class was definitely tough and time consuming, but Floryan really tries his best to make the content understandable. I didn't agree with the grading scale because it was a little harsh, but I really enjoyed the course.

Instructor 5.0
Enjoyability 4.0
Recommend 4.0
Difficulty 4.0
Hours/Week 0.0
Sponsored