This class was very tough but it pays for itself. Everything you learn will be applicable to your future CS career. Bloomfield is a great teacher, kind of goes fast, but he's clearly passionate. Just pay close attention in class and you'll be fine. The labs are divided into 3 parts per week and can take quite a lot of time, but again, you are well rewarded for your work!
Grade Distribution
No grade data available
145 Reviews
Tries to do too much in short time. Bloomfield is a great guy, super smart, charismatic, nice, thoughtful, witty, but he just goes too fast. The jump from 2110 to 2150 is pretty high, especially in the 2nd part of the class. 11 Labs in total, don't mess them up, esp when you get to Labs 6-11. The first five will seem like kid stuff after that. Wasn't as fun as everyone is saying it is, you spend 10+ hours A WEEK on the labs, they don't stop coming. Also you spend most of your time writing lab reports and trying to sound coherent when you know you aren't. Be prepared, this class is not fun.
Bloomfield is a great lecturer. He's enthusiastic about the subject and knows it very well. He's very friendly to talk to, and gives good help/advice.
The class itself is very interesting. The course focus on different types of data structures such as Lists, Trees, Hashes, as well as a few others. You learn how to code these in C++, and implement them in using different examples given in the course. The things you learn in the course will be the core of your CS knowledge, and many place will ask technical questions during job interviews about things you learn in this course.
The lab sections are fairly straightforward - they give you an assignment in lab that isn't due until the Friday after lab.
However, the coursework is pretty heavy. Lab assignments could take anywhere from 2-5 hours, and are very in depth. But I actually found the assignments enjoyable, albeit long, and didn't find them dull. They always kept me thinking about how to do certain tasks, or how to make it faster.
Overall, it's a great course, and I really enjoyed it. It's a hard class, but it's interesting and very rewarding.
I finished all but one post-lab in the lab period and all but one pre-lab in a couple hours the night before. Fairly interesting programs though for the labs.
It's a very difficult course, but Bloomfield is a great professor and you will learn a ton.
if you want to be stressed out, possibly make urself so stressed you have to get counseling, take this class
This class is definitely time consuming but worth the time and effort you put into it. You learn a lot in this class and a lot of what you learn is helpful especially for interviews.
Bloomfield is great in that he knows his stuff and he's organized. He's also very understanding when it comes to legitimate errors in submitting labs, etc., and his system of support requests, grades and regrades is quite efficient.
Outside of his being "pretty nice", though.... This class is HARD. Definitely the most frustrating class I've taken at UVa because he expects you to figure out almost everything about the labs on your own. Compared to the labs, midterms were easy and straightforward. He even puts up exam questions from previous years for reference. In conclusion, I hated this class but probably learned a lot.
This class is a lot of work, but if you do it...you'll learn a lot. Not hard to do well if you just put the time in.
Not an easy class, but you learn a ton, and its very rewarding. Great introduction to data structures, C++, and Unix