Professor Floryan is one of the best people and professors at UVA. He's such a genuine guy and has such an energetic soul. Found it so easy to pay attention in lecture and pay attention the material.
The material in this class is extremely useful. Foundations for a lot of good software development. Pay attention and understand the material. Use resources wisely. This class will benefit you a lot.
Grade Distribution
No grade data available
22 Reviews
I'm not a CS major, but I felt that this class provided me with a strong fundamental understanding of data structures, and helped me score offers at top software engineering companies. It also provided me with the tools to learn future CS concepts on my own. Floryan is a fantastic professor who really understands the material. I didn't really find the later labs that interesting, and got bored when we talked about IBCM and Assembly. I think the difficulty of this class is overblown, and that if you're willing to put in the work for the labs you'll be able to do well.
My favorite course that I've taken at UVA thus far. You learn so much about in this course. That said, be ready to work hard. There's a prelab, inlab, and postlab each week. On an easy week, they'll take ~2 hours each. On a hard week I've spent 15+ hours on all three. That said, this course isn't as hard as I expected. Stay on top of the labs and pay attention in class. Floryan is an awesome professor and I feel like I'm a much better programmer now than I was before.
If you don't have fun & learn in this course, then CS might not be for you. Absolutely one of my favorite courses at UVA!
This class is by far the most rewarding class I've taken at UVA. You learn so much about crucial data structures in CS that are used in the field. Also, Floryan is so nice and funny. He made me want to come to class every lecture. If you have a chance to take the class with him, definitely do.
That being said, this is also by far the most challenging class I've taken here. There's a week-long series of homework assignments almost every week (except weeks with exams) and some of them can be very challenging. Some weeks I spent about 25 ish hours on the assignments, so definitely start them as early as possible. The exams were also fairly challenging (avg. was like a 72 on each one), but manageable if you studied enough. This class is a little different than some of its prerequisites because the grades consist of only exams and homework, so there's not a whole lot of cushion on your grade. Definitely plan your other courses around this class if you want to do well, as the number of hours put into the assignments in this class will be a lot.
If you've read some of the earlier reviews for Bloomfield and Floryan concerning this class, you may find that CS 2150 has a bit of an (in)famous reputation for being (very) difficult and incredibly rewarding at the same time. For the most part, the reviews are correct - while the class is undeniably tough and intimidating if you've only taken CS 111x, 2102, and 2110 so far, you will learn A LOT. Begin working on your labs on a regular schedule and you'll find that the workload is actually manageable.
Labs (aka homework) take on average 3-5 hours to complete with the exceptions of Labs 2, 6, and 10, the so-called "difficulty spikes" of the course, so start those particular ones early! Office hours have really long queues, so starting earlier let's you get help while less people work on it. Also, you'll want to go to office hours because some of the later labs have confusing (and at times contradictory) directions. Reports, which start halfway through the course, are manageable and (to me, anyways) a nice break from coding.
He's a great professor, explains things to us really well. But you're going to have to go to the queue-heavy Office Hours if you're looking for help with labs
RIP my GPA. May the force be with you.
This class was the most valuable class I took at UVa and the other reviews echo that. Unfortunately, the number of credits does not reflect the actual amount of work - it should definitely be 4. I do have tips to ease the stress: 1) Start the prelabs early. I'm talking Friday afternoon even though they're due on Tuesday early. This gives you time to think about what you're being asked to do and give it a try before Sunday office hours. 2) Pad your schedule around this class if at all possible. 3) Go to professor office hours whenever you can. Getting to know Bloomfield and Floryan is a lot of fun and they're incredibly knowledgeable and helpful. The TA's are generally also awesome, but the queue gets so long that it can be a stressful experience. 4) Get a study a great partner. The tests are very conceptual, so it's a good idea to have someone to go through practice tests with and debate concepts with. 5) Don't stress out too much - one bad lab or test grade will not ruin your overall grade.
This class is pretty hard. Floryan made it at least feel better. It felt like he was on the students' side, which has been rare in my experience here at UVa.