Your feedback has been sent to our team.
175 Ratings
Hours/Week
No grades found
— Students
I took Data Structures with Aaron 3 times getting an A- the last time I took it. Aaron is very systematic and detailed in the way he goes through lectures, he has has been teaching this class for many semesters. Review and have lecture slides ready before lectures to mark up during lectures and take advantage of the lecture recordings to review and reinforce course material in preparation for exams. As far as extensions on work are concerned he denied me an extension although I had a Drs note, he claimed that it would not be fair to other students, but according to one of his TA's Aaron did grant extensions on work to other students that semester. To me Aaron's actions are those of a hypocrite. As far as office hours are concerned, for some reason he will go to the office hours of other professors, like Abhi Shelat, and talk to Abhi during his entire office hours session while students are waiting to ask Abhi questions about the difficult material in his algorithms course, I personally witnessed Aaron doing this Fall 2011. However, regarding Aaron's office hours you are in luck if you are a female student. I have personally witnessed him complete an assignment for a group of female students while refusing to give me any assistance with my course related questions. It seems to be the norm in the UVa CS department to give female students preferential treatment, credit for work they haven't done and grades they haven't earned. Perhaps this is in exchange for a new building from Teresa Sullivan and Helen Dragas or to push the females in STEM agenda but this practice cheapens the value of the UVa CS degrees obtained by students like me that have earned every bit of that degree. Perhaps these female students are being prepared for management jobs where they really don't need to have the knowledge because they will manage those that can actually do the work. I guess this is one way to empower women. I am a non drug using heterosexual Latino male with a large amount of student loans, so I know I was the lowest on the handout priority list at UVa, but just because I don't remind some professors of their daughters or come from a family that can afford to pay UVa tuition or because I am not a homosexual or look like a geeky nerd that has been picked on his whole life shouldn't mean its appropriate to discriminate against me. In Aaron's defense, a professor at UVa once told me that the school makes them do stuff, if that is the case then UVa is a miserable institution that forces people that work for them to discriminate against certain types of people for one reason or another, in this case the discrimination took place against a heterosexual Latino male trying to obtain his degree to better himself and the options for his family. Any individual or institution that finds this to be a worthy cause to discriminate against someone for, is truly miserable. Or perhaps racism against Latino's is not considered discrimination at UVa or Virginia, only racism against other types and not giving handouts to females is considered discrimination. You can't blame Aaron for wanting to be like the rest of the UVa and Virginia community, making sure heterosexual Latino males know that their place is either in landscaping or janitorial services not in academia make believe thomas jefferson statue worshiping land. I wrote this review back in 2016-10-15 I don't know why I can't find this review when I search Bloomfield and CS2150, perhaps it was taken off of here? I also can't find a similar posting in college confidential, some people or entities are good at hiding the truth.
Great Class, take it with Bloomfield because he's taught it for so long, so he really knows how to tell you exactly what you need to know and explain it well. Both Floryan and Bloomfield are great people though, so don't worry if you can't go to his lecture. The most helpful thing for me to look at for the reviews was a good overview of some of labs, so that's what I'll do.
1. Introduction to C++: Intro to virtual box, make sure you actually read through all the info or you could get confused on very simple parts of the lab.
2. Linked List: Get a TA to explain how to write an insert method and you will be golden. Not actually that difficult, I think most people make it harder than it is. YAY POINTERS!
3. Stacks: I thought this one was harder than linked list for some reason...not sure exactly why, but most people find this easier than linked list, and get it done pretty easily.
4: Numbers: Not much coding here, wasn't really difficult, just use an online IEEE calculator to check your work and you should be good.
6: Hash lab: this one has a lot of hype, honestly I don't think it's that difficult. They make it a lot easier by giving you a way to get all of the combinations of letters out of the grid for you. I spent a decent amount of time on this lab, but it was mostly because I was so confused about what was supposed to be so hard about it. Basically, don't overthink it. This was one of my favorite labs because the postlab was just making it run faster, which was actually really really fun.
8 and 9: assembly sucks IMO, so have fun, step through the lines and keep track of what is in your registers if you are having trouble debugging
10: Huffman Encoding and Decoding: Some people thought this was really hard but it's not too bad. This one happened for us over thanksgiving (womp) but if you get a good start on it, it's not too bad.
11: Graphs: pretty open ended, you can pick however you want to solve the problem, I used an adjacency matrix which worked pretty well, and then you have to use doxygen to create documentation
12: CONGRATULATIONS!!! LAST LAB, it's not difficult and should not take long at all, GOOD LUCK ON THE FINAL :))))
Ton of great reviews on the class, so I'm not gonna waste your time with that. Instead, I'll talk about my personal experience. This was truly a great class. I learned so much more in this class than any other class in the university. It was an awesome feeling, but it does come at a cost: you do much more work in this class than any other class. Few of the topics are considered "hard." I would say the most difficult part is time management- there's just so much time you have to invest for this class. Bloomfield and Floryan are extremely knowledgeable and have a lot of field experience. This is the CS class that will show you whether or not you're a true CS major. If you love CS, you will enjoy every bit of 2150.
Definitely a hard class. Also, I'm fairly certain that this is Bloomfield's last semester teaching it. Regardless, it'll be a great class no matter who teaches it because Bloomfield has worked so hard to absolutely perfect the class. It's a really hard class. It definitely should be worth 4 credits. With that being said, if you work hard and complete all of the labs, following the directions exactly, it's relatively easy to get a good grade in the class (good grade being B or better). I put so much time into the labs and achieved nearly a 100% grade for that section. This allowed me to get average grades on the exams but still receive an A- with the curve. I think the main reason why people complain about this class is that they aren't willing to put the time in. Put the time in, and you will be rewarded.
Throughout the semester, you will absolutely hate life, but the feeling you get when you walk out of the final exam is incredible. I teared up the last day of lecture because I was so proud and amazed that throughout the blood, sweat, and tears, I had completed the class. Also, don't let the time allotment indicated above scare you. It's not 50+ hours a week. It's more like between 8-15 hours a week, depending on the lab. Only ~3 labs will take 15 hours. Most are between 8 and 10. Take a light semester and you'll be fine.
This class really sucks man. I think people generally have a revisionist outlook when they write reviews on course forum; simply, when you are going through this class, it is utterly terrible. I generally did not sleep on Monday nights this semester (pre-labs are due Tuesday mornings). Credit is due to Bloomfield because he did do a very great job constructing the class. You learn a lot and I feel I truly understand PDR due to the rigor of the class. If you want a good grade, it is impossible to not learn a huge amount in this class. That being said, I think the workload is just way overboard. Absolutely killed me and I barely spent time on anything but 2150 this semester. My grade was fine, but it really sucked. Advice: if you are taking this, make sure the rest of your schedule is light, and allocate a bunch of time for the labs (**don't do them last minute**). God bless your soul and good luck.
CS2150 is the gateway drug to the nerdy world of Computer Science. Bloomfield has pretty much mastered teaching this course, and all you have to do is stay on top of labs and lectures and you're guaranteed to learn a great foundation for CS. This class is definitely time-intensive even if you're a super-smart TJ CS whiz. This is because Bloomfield covers many topics and expects students to master each concept before moving to the next topic. Honestly, don't fall behind and you'll do great!
Bloomfield was a good lecturer that explained things pretty clearly as long as you had the motivation to pay attention the whole time, which I mostly didn't. Still, all the slides were only and easy to review. Homeworks took a long time, but as long as you put the work in, you got a decent grade. Since they weigh so much, try to put a lot of time into making sure they compile and work properly. Exams were definitely the worst part in this class, and the practice exams are helpful but lack answer keys, so sometimes you're left wondering if you will ever know the right answer to a question. You learn a lot about data structures that come in handy for interviews, so it's pretty practical. Grit your teeth through the exams, but it's one of the better CS requirements.
I heard horrible things about the difficulty of this class, so I went into it expecting to need to work hard to do well. The class is difficult, but mostly because of the time required to complete assignments. Expect to spend 10-15 hours on some labs each week (2, 5, and 6 are especially horrible). Despite the time commitment, if you are willing to work hard, you will do well. The exam average is low, but I didn't find the exams to be too challenging, as they are predictable. Also, the course is curved. Unlike 2110 and 2102, you will ACTUALLY learn in this class, and you will feel like a REAL computer science major. I have a love-hate relationship with this class, as all computer science majors do, but overall I expect this class to be one of the most rewarding and applicable courses I take at UVA. At the same time, I cant wait for this class its over.
Recommendations:
1. Take this during a semester you know a good amount of your friends are taking it. It will be SO helpful to have people to explain things you don't quite understand.
2. PAY ATTENTION IN CLASS. It will be SO hard, but SO worth it. Paying attention in class: 90 on exam; not paying attention/not going: 60. (hold studying constant)
3. Start labs early, they are way easier to get done when you aren't stressed about finishing on time. (prelab sunday morning, inlab as soon as you finish prelab, postlab on wednesday).
4. Take an easy (by easy I mean take classes that don't require time consuming work outside of class) schedule.
5. Actually read each lab description from top to bottom so you don't get points off because you didn't do your method iteratively vs recursively etc; they also provide lots of hints on how to go about each lab which a lot of people seem to miss and get overwhelmed
6. Probably goes without saying I'd only take this class if you need it for the major or want to do software dev when you graduate. Very time consuming, but very worthwhile
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.