Your feedback has been sent to our team.
25 Ratings
Hours/Week
No grades found
— Students
First of all, Mark Floryan is great! Phenomenal lecturer, super friendly, extremely good at explaining complex topics simply. That being said, there is simply too much material crammed together for this course. Each week there is a prelab, an in-lab, and a post-lab, each of which took me at minimum 3 hours, and oftentimes far more, which varied in difficulty week to week. The material goes by fairly rapidly-if you fail to watch a recording, you will have a fair amount of catching up to do. The exams are mostly fair, but make sure to read EVERYTHING in the slides carefully, and don't assume anything is unimportant unless explicitly told so, because exams oftentimes reference bits of "trivia." For the updated CS curriculum, they are breaking the material covered in this class into multiple classes, which feels a lot more sane to me. Overall, the material is good, but the workload is too high for a 3 credit course.
Mark Floryan is the best teacher that I have ever had. It's obvious how passionate he is about CS and it shows when he lectures. He makes lectures fun and interesting to go to because he'll randomly go on tangents about very small things, but it's always fun. Despite Floryan, CS 2150 was THE hardest class I have ever taken in my entire life. It ate up my life and my sleep schedule. I could barely focus on the other classes that I had during the semester. You would see me in office hours every Sunday, Monday, Wednesday, and Thursday from 5-11. It really made me question my life choices and made me consider another major. This is the weeder class - those who pass are meant to be in CS. I had about six friends who changed their CS major to a minor because of this class. The amount of work is ridiculous for only a 3 credit class. However, Bloomfield and Floryan know that this class is hard and try their best to be "lenient". This course is changing because of the new curriculum, so I'm not sure how hard it will continue to be. Make friends in the class. Have study groups. GO. TO. LECTURES. I cannot stress that enough. Sometimes, Floryan would turn off the class recording to tell you something helpful for the labs to reward those who come to class. He will recognize you the more you come to class, and he WILL appreciate it and reward you. Despite the difficulty of 2150, it taught me so much. It was all worth it in the end, trust me. You will hate yourself, you'll hate the class, you'll hate the instructors, but it's a very rewarding experience to be done with it and have so much more knowledge in CS.
This class was the bane of my existence, it was like I was non-stop doing CS and could never catch a break. There is a pre-lab, in-lab, and post-lab due each week and as soon as one is due, the next assignment is assigned. This is definitely a change from 2110 and 1110, and the level of difficulty increases exponentially. I spent most of my week in office hours doing the labs because they're just so hard. The TAs are godsends though.
I'm assuming most people are taking this class because they have to, so instead of talking about how hard this class was (since I'm sure you've heard enough horror stories), I will provide some tips. Even though this class sucks, Floryan was a great professor and I would rather take his class over any other professor. Definitely get started on your labs early if you can (you can see assignments before they're officially assigned on gradescope!). The exams are on paper (taken during your lab period so choose your time slot wisely), and they don't really involve handcoding. The test questions are more math and conceptual based, and you can see past exams on the website just a heads up. Good luck.
#tCFfall2021
The class, now that it's online, was basically taught asynchronously. Everyone (across all sections/professors), watches the same prerecorded lectures. The synchronous time was used for Q&A, and after about the 3rd class it was clear those could be skipped at no cost. Great class overall - really gives a strong understanding of a variety of topics fundamental to CS. Would highly recommend taking the class before deciding whether or not CS is for you - it's perfect for that. Assignments weren't too hard, but there are some tricky ones so I recommend starting early on them. Some weeks I spent <5 hours on class, some I spent nearly 15. It varies by Lab, but you can find out the lab difficulty pretty easily.
Really fun and valuable class. Some of the structure didn't necessarily make sense (putting Assembly and IBCM in the middle of the course) but it was good to learn a lot of different material. I like how the labs incorporate the algorithms well. It was really nice not to have reports this semester so we could focus on the coding.
Hot take: the difficulty is overhyped. If your only exposure to programming is CS 1110 and CS 2110, then this class will be a massive jump in difficulty (still doable though!) If you're coming in with some additional experience, it won't be that bad.
A lot of people say that 2150 is a class that they really only like after they take it but I honestly have to disagree. 2150 was one of the most fun classes I have ever taken in my career as a CS student in the E School. The course has such a well structured curriculum and over the years, the Professors have been working hard to make it even better. Every lab and every assignment that you get has a purpose and with every pre, in, and postlab, you come out of them learning so much. I won't deny that this course is really challenging and will demand a lot of your time, but I also will say that it is definitely worth the time and effort. Floryan especially was one of my favorite Professors at this University. He makes these funny, corny jokes all the time and always keeps things lighthearted but at the same time, teaches the material really well. When he answers student's questions during class, you can really see how he tries so hard to help the material be as easy for the students to understand as possible. Great professor, great course, nothing bad to say about this class.
This course is by far one of my favorites at UVA and I can genuinely say that I have learned a lot. Floryan is an amazing professor and he's very funny. Each week we have a pre lab due on tuesday morning, in lab due tuesday night, and post lab due friday morning. There are no extensions and office hours go from sunday to thursday (excluding tuesday nights). Most of the lab work is in the pre lab and sometimes the in lab. Labs are always easier with groups to work on but still very doable without them. I always worked alone and went to at least half of the office hours each week and got an A on my labs. While the material can be difficult, you will learn a lot and will actually enjoy most of the labs. Please take this course with Floryan and enjoy at least one of your classes!
By far the most rewarding class I've taken at UVA. Bloomfield and Floryan are insanely intelligent and are both great lecturers. This class is a pretty heavy workload (pre, in, and postlab due every week) but this is the class where a lot of concepts in computer science truly began to click for me so it's definitely a worthwhile course.
Considering how much this class covers, Floryan does a great job keeping the class engaging and explaining the material (as long as you pay attention in class). What's really going to take up a lot of your time are the labs. There's a prelab, inlab, and postlab, and a lot of these can be very time-consuming especially when you don't have a solid understanding of what's going on. Please DO NOT procrastinate on them. Overall, you really have to manage your time, pay attention in class, and make sure you understand the material to do well. There's a nice curve at the end so don't stress too much about your grade, just putting in the effort should be enough.
A very informative course, it is so lauded simply due to the fact that this class has multiple personality disorder. This class covers many concepts that are really not directly related to data structures, and those topics are typically the harder ones to deal with. A large amount of the class is working with algorithms, and low level programming (processor level). This class is structured really poorly, but the professors seem to think that it is fine. Lab 5 is probably the hardest lab now (a new version was implemented in our semester) with huffman encoding being a close tie.
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.
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.
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.
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.
The hardest class but most rewarding class I've taken at UVa. It covered a large range of topics, all of which either felt directly relevant to my career or were helpful in understanding the field as a whole. It is a lot of work but both Bloomfield and Floryan are great professors. Floryan is incredibly engaging and is great at answering questions and keeping the class involved while still covering all the material. Bloomfield is a tiiiiinny bit better at explaining the topics but not different enough to affect your understanding or your grade. Additionally, Bloomfield's lectures are posted, so if you have Floryan, you get two takes on the same topic.
Get us started by writing a question!
It looks like you've already submitted a answer for this question! If you'd like, you may edit your original response.
No course sections viewed yet.