Hard class, but very interesting and you learn a ton. Bloomfield is a great teacher and is really enthusiastic about what he teaches. Don't fall behind on labs or material; but otherwise you'll be fine due to the healthy curve at the end of the semester.
Grade Distribution
No grade data available
145 Reviews
This class was one of my favorite I've taken at UVA. While the class is a lot of work, it's not particularly hard and you learn a lot. Do the pre-labs early and go to the Sunday office hours -- no one is there so it's easier to get help.
The material for this class is very easy. Bloomfield is a very good lecturer and keeps the class awake. The labs will take some time (especially the even numbered ones) but on the whole the class was enjoyable and you will feel a sense of accomplishment after making it through.
This is the best class I've taken at UVA, but absolutely the most time consuming as well. The weekly labs each have a prelab, inlab, and postlab, so I worked on lab usually around 10 hours or more each week. It was such a rewarding class and Bloomfield is an excellent and knowledgeable teacher. Highly recommended!
Professor Bloomfield is an absolutely fantastic teacher. He is enthusiastic, funny, and engaging. He knows exactly how to structure and pace the course so that you never get bored of one topic, but at the same time, everything is covered with great depth. This was a course that as I was reviewing for each midterm, I was shocked at the amount of material that we had covered and the amount that I had learned about Computer Science.
Now this comes with a slight caveat. This is a very time-intensive course. Every week you must complete 3 assignments, a Pre-Lab, an In-Lab, and a Post-Lab. These are the "meat" of the course, and so, by necessity, they take some time to complete. You will be doing a lot of work for this class. However, this is never simple busywork to fill the time. This is actual learning. These labs will often challenge you and force you to think differently, and that's what a course should do.
This was one of the most fairly graded courses that I've ever taken. The requirements are clearly laid out, and it's often not difficult to get 10/10 for a lab assignment if you are willing to put in the work. Professor Bloomfield gives you access to all of his past midterms and finals as study guides, and he holds a review session before each test. Again, those willing to put in the work will find success here.
I can't recommend this course any more highly!
This class was very time consuming, the material was not too hard but putting it in practice was tough. Bloomfield is a great professor and this is one of the most useful courses at the university. Be prepared to dedicate plenty of time to the weekly labs, and office hours.
My favorite class that I've taken so far. Professor Bloomfield is enthusiastic, engaging, fun, and he makes difficult concepts easy to understand. The class is a LOT of work (10-15 hours/week, I'd say), especially the Tree and Hash labs. But, in the end, it's VERY worth it and you'll learn a ton. The TA's are extremely helpful. Go to office hours. Seriously, you won't be able to succeed in this class without asking for help. The tests are pretty straight forward. A lot of the learning in class comes from actually applying what is covered in lecture. I definitely recommend this class.
Great course, not as difficult as people make it out to be.
This class is hard, not going to lie; but there is a certain quality to it that makes it one of the most worthwhile courses in the department despite its difficulty. This class is a gateway class to the other CS courses, and you definitely do learn a lot of material that spans from assembly language x86, to C/C++, to data structure analysis and implementation. If you attend his lectures, review the previous exams, and frequently review his powerpoint slides, you can get a decent grade if not an A. The labs are relatively simple, but watch out for the 6th and 10th labs, they take the most time (hash table and huffman tree labs). The later labs, in total 12, so from lab 6 and onwards, they take more time so plan out your weekends wisely.
Bloomfield is an excellent teacher and 2150 under his direction is probably the most you will learn as a UVA CS or CPE major.