First of all, DO NOT GET FOOLED BY Mark Floryan or other professor's slightly higher ratings on this website. Bloomfield is the professor who made this course, and he taught more students than other professors. You can see that Bloomfield has over 100 reviews where others are like 10s or 20s. Because of this, Bloomfield receives more hate than other professors. So keep this in mind when you select your professor.
Bloomfield is a great professor. He is good at lecturing and passing every bits of information to the class. CS 2150 itself is a difficulty course regardless of who you take it with, but if you want a professor who is good at teaching and has good knowledge of what's going on, then Bloomfield is the person to go. Bloomfield may seem like a rather not-easy-going person, but I think he just does not express himself that often. Definitely do not feel discourage with talking to him.
Both labs and exams are annoying and difficult. For exams, it weight rather heavily on conceptual stuff taught during lecture and labs, so making sure you taking notes in lecture and paying attention in lecture is crucial.
Grade Distribution
145 Reviews
Some labs take frustrating amount of time to debug or even start coding. Lab 2, 5, and 6 are the hardest, so it's better to start early. Test question mainly come from lectures, and it's good to take detailed notes during class.
I don't know what's going on with the hours/week stat on this page, but I spent about 8-10 hours per week on this class. It's difficult, but it's totally manageable if you start on the labs early. My recommendation is to go into this course expecting a huge workload, but you'll probably find that it's not quite as difficult as you originally thought. Be wary for labs 2, 5, 6, and 11, which I found to be the most difficult. Bloomfield is a great professor, and he explains everything very well. I didn't find myself using OH, but other students have said that you should attend OH early in the week so you don't need to wait. Don't forget to submit your assignments on time. I lost a bit of credit because I forgot to submit my labs on time.
TLDR; you get out what you put in, and you put in more if you're interested in the class content. The class was very time consuming (I took 13 credits the semester I took 2150 and I still felt overwhelmed- I would recommend anyone taking a light course load with 2150 as well). The labs were difficult, but not unmanageable if you started early and sought help early. You feel like a real computer science major after this class!
CS 2150 is definitely a CS weed out class, but teaches you a lot of great skill. The CS lab is essentially just a closed-off office hours session, but the assignment isn't due until midnight. The OH queue (starting from like Lab 4) will be 1-1.5 hour long. Make sure you go to OH, even if you think you don't need it. Also utilize Engineering tutoring!
This was quite possibly one of my favorite courses I've taken at UVA. I found the material super interesting, I think it's really the first CS class where you really feel like a Computer Scientist. The homework may have been difficult, but I also found very fun and rewarding. Professor Bloomfield also did a great job at making the lectures feel useful and interesting. Overall, there is a decent amount of work but I didn't find it unbearable (admittedly I think it was made more manageable since a chunk of the work was cancelled due to the coronavirus).
Professor Bloomfield is a phenomenal professor and does his best to engage his students through his lectures. He definitely knows what he's talking about and cares about his students. Don't get me wrong, CS 2150 is a hard class. Professor Bloomfield definitely challenges you throughout the semester. It's a lot of assignments back-to-back and can often cause stress, especially while trying to balance with other classwork. But I can say that I learned a lot through this class and that it was well worth it though. You get what you put into this class! I highly recommend taking CS 2150 with Professor Bloomfield.
Bloomfield was an amazing professor! Throughout the course he was fast paced, but for my eccentric personality, it went great! Even when we went on Coronacation, he was super accommodating, willing to send a flash drive with the rest of the course on it for people without high speed internet for streaming. Sure it can be a decent amount of late nights, and sure it may be considered one of the hardest in the CS curriculum, however, haven gone through it, I feel I can take on any challenge and have a solid grasp on what it really means to code something that's actually worthwhile. Warnings about Labs 2, 5, 6, and 10. Yes these are hard labs. No they are not impossible. It is good to whiteboard these as much as possible, and use the stuff they give you to check your work often! It saved me a lot of hassle especially with trees and hash lab. These labs do not wait until the day before they are due to start, that will lead to a long night of energy drinks and wishing you didn't go to a party that weekend. Overall though, you learn so much that you apply later on, that it's worth it in the end!
Hours per week (since the current average is obv broken) - around 8-10.
This class is awesome if you have a passion for computer science and have found classes like 2110, 2102 uninspiring so far. This is not a class for someone doing CS because their mom wants them to.
2150 is a dense course. Bloom does a great job of teaching it but it does go fast and is a lot to take in. The labs take a lot of time and can be frustrating but the TAs are there almost all the time to help during OH. Highly recommend taking if you want to get a better grip on CS but be ready for a few hours of work on labs a week.