Your feedback has been sent to our team.
17 Ratings
Hours/Week
No grades found
— Students
CS 2110, is in some ways, easier than CS 111x. I had Edwards, who comparatively to Basit is considered not that good but he taught the material well. His voice could put you to sleep, but he truly was one of the kindest professors I've ever come across at UVA. I tanked the first exam, but he was nice enough to give points back to me that I definitely did not deserve. One thing: ALWAYS fight for your points -- they send out scary emails saying don't fight for your points unless you know you can get it back, but don't listen, and always fight for your points. Exams are relatively hard -- the first exam and the final bodied me but the second exam covered easier material, and the class as a whole did better. I was well on my way to getting an A in this class but like I said, the final absolutely destroyed me so dedicate enough time to study for all the exam. There is a direct correlation with how much you study and how well you do. Read the textbook, but more importantly, read the slides. The homework vary in difficulty. Sometimes you can crank the entire thing out in 2 hours and get a 100%, but I would definitely recommend starting as early as possible on most assignments. Office hours are super helpful (definitely more helpful than CS 111x office hours), but most of the assignments can be done easily on your own. Make sure you submit your assignment into WebCat with a good 3 to 4 buffer period because a majority of the time, you will end up with errors that you need time to fix. Lab is a joke, I never went and did okay. Some people will say that lab really helped their grade, but I'll never know so do what you think you need to do. All in all, the class really did help me /like/ computer science more and it started shedding some light on incredibly important topics that are used readily in computer science such as algorithms and recursion.
CS 2110 was an extremely well-designed course, but only for those who can follow deadlines and spend copious amounts of time on the assignments. There was a weekly quiz, homework assignment, and small readings for each lecture along with a classwork assignment, but these weren't too bad as long as you could follow along with lecture material (readings went along with the lectures, so you had two resources if you didn't understand a topic). The assignments were mostly admittedly pretty hard, but office hours was extremely helpful as was using online resources for simple questions. The TA's were also helpful (on Piazza and during office hours), but you need to come to office hours a few minutes before the times start or you will be on the waitlist for at least an hour. My advice is to stick with the assignment instead of using someone else's code because you will need to use your own brain during the exams. As long as you study every single topic and the past homework/classwork assignments before the exams, you can get a B or above easily. Professor Edwards is obviously knowledgeable about Java and has a great personality, but he's unfortunately moving from Charlottesville :( regardless, the course is the same with every professor so I'd recommend taking it as long as you are interested in Computer Science!
This course has recently become much harder (the grading distribution that is currently displayed is not accurate). The tests and weekly quizzes have questions that sometimes seem to be intended to trick you, and the tests are fairly high stakes in that each question is worth a lot. The homework assignments start off easy but quickly get very difficult, to the point where TAs aren't always able to help because the code is several hundred lines long. The weekly labs are annoying, but they're not graded on accuracy. Overall though, I'm interested in software development and found this class enjoyable. It definitely helps with internship interviews too.
Super beat class. Professor has boring lectures, talks about stuff for about 20-25 minutes then throws up an in class assignment which takes way longer to do than the remainder of class since you have no idea how to do it. Also there is a weekly lab you have to go to and it is conveniently only available in the evenings from either 5:10-6:55 or 7:10-8:55 on Mondays and Tuesdays. Perfect way to interrupt your study plans. Homework assignments are heinously difficult (8-20 hours depending on how good you are), and pretty much can only be completed with TA office hour help. Although on a few assignments, the TAs didn't even know how to do the assignment it was so tough. If you have to take this class as a requirement like me, take it. If you don't need this class, DO NOT take it. It sucks.
Professors are always willing to help, but TAs are key to success. Go to the review sessions before the tests if you feel like you don't know what to expect or are worried. The TAs are super helpful.
Quizzes this semester were take-home, but they are tricky at times. Make sure you study for them and do some online practice problems on the internet by googling the topic at hand before you start. That way you'll have a better sense of what to expect. These quizzes actually mattered more than I thought. (I feel like if I did better on these, I would have gotten an A instead of an A-).
There's no practice test materials. They expect you to look at a general bullet-ed outline and study off of that (plus other materials on Collab- still, they are all very condensed and without practice problems). A lot of times, the tests will ask you in ridiculous details that they don't adequately prepare you with. Going from an intro class to this hard was a bit hard to adapt to because we had to hand-write everything on the tests, which wasn't required in the lower courses. For many including myself, we are transitioning from a different language to Java and it takes a longer time to adapt to than time given to meet deadlines. I feel like people who have learned Java before have a significantly easier time than those who did not.
It's definitely a do-able course for those that don't get CS intuitively, but it will require a lot more effort. I certainly had a hard time in this class. I can't quite tell if it's due to my unhealthy obsession of perfection or that the course is genuinely harder than I expected - or a combination of both.
Let's be real: this is a prereq for all CS majors and minors. When I took the class in Spring 2016, it was a piece of cake and many kids skipped lecture. The material can be picked up quickly by reviewing the slides, but some students will find the lecture useful. Nothing special, besides being a pre-req, but there has been a lot of work to improve it recently.
I went to both Basit's and Edwards lectures, wrote a review for her too because she is nicer and great for officer hours while Edwards always is missing at OH... so take it with Basit. They are making this class a little bit harder than previous semesters because lots of students have had it rough in 2150. 2110 has been seen as a joke or easy A in the past so they have changed it compared to last year. Basically, you have in class activities every other class and they have gotten rid of the machine learning/data mining extra credit stuff (it’s just homework now), so forget about that 3-4 % point bump (but they still have 1 % extra credit for completing course evaluations). This is the B+/A- type of class and you have to fail hard to get below a B-. so, if you want to do well just go to class and finish your homework. also, don't blow off the quizzes because the quizzes are 10% of your grade and there are only 4 so don’t mess up them (one is dropped) and for this semester they rounded grades which was good. Honestly, I went to both Edwards and Basit's lectures and I found Basit’s to be more relevant to the test since she actually goes over things you will have to know. Edwards review sessions are just Q&A and there is no real structure and everyone just leaves early. Basit is really nice and I don’t understand why people don’t like her. Class average on the first test was a 79.9(80 rounded) and a 73 or 74 on the second test (no average on the final yet but it was easy and short), so that should give you a perspective of how hard the tests are. The first test was fair and the final was easy but the second test was the most difficult since it covered the most material and was in the middle of the semester (we all were braindead). the final though is really easy (most people finished it in a hour 15 min.
The $150 text book is useless and boring, plus you can find online versions on the "inter-webs". I never used them a got an A so its fine. last tip, if you need help, go to OH early and make sure you avoid certain TA's, some TA's have no idea what they are doing and just make things worse (you will know who they are after your first time at stacks). Also, make sure to comment your code for HW so you won’t get any points taken away (some TA’s are really strict on comments and stuff). Labs are based on attendance and towards the end they got really hard. If you want an A/A- just come to class and do your HW. If you get a B on ever test and get perfects on HWs, labs, and quizzes, you will get an A/A-. This class will be the gentle breeze before the wicked storm of 2150. Good luck.
one issue with this class is that the study guides are very broad and the tests only cover 20% of the material in the study guides....in the final, only 10-15% of the things in the study guide were actually tested so good luck studying efficiently
got an A even though a skipped approx 10-12 classes so you should be fine.
2017 spring aprox stats: 3 A+'s, 43 A's, 21 A-'s , 11 B+'s, 8 B's, 2 B-'s, 1 C+, 2 C's, 1 D-, 1 F, 2016 spring aprox stats: 33 A+'s, 64 A's, 10 A-'s, 11 B+'s, 10 B's, 3 B-'s, 2 C+'s, 1 C, 2 C- , 1 D+, 1 D, 1 D- so you should do fine if you but some effort in but its just harder to get an A+/A than last year.
I took APCS junior year of high school, and this class was basically a continuation of that. Edwards is approachable, and though not the best instructor, he gets the point across. Homework assignments were a pain sometimes, but you just had to put the work into them. Labs fairly difficult later on, but the TAs just check for completion. Readings were only necessary to answer two basic questions every class - What did you learn? and What confused you? Also, the in class activities were only checked for completion and not accuracy.
This class is NOT the same as it used to be. Since people in CS 2150 were complaining that they were not adequately prepared for the class, Basit and Edwards ramped up the class. I did very well in CS 1110, and I really enjoyed that class, so logically I thought that CS 2110 would be the same way, but this was not the case. They decided to add in in class activities the semester that usually take 15-20 minutes per class, but this took 15-20 minutes away from the lectures so I feel like I never actually understood what we were doing. The homeworks were very difficult at times, and often require doing things we never talked about in lecture. Overall, if you have to take this class, then you have to take it. If you want to take this class because you enjoyed 2110, then I would definitely consider other classes.
1. Edwards or Basit?
Take it with Edwards. Period. NOT BASIT!!!
It is really hard to choose which professor as both are not the best in the world. But I recommend going with Edwards. I attended both lectures to see who was better since Professor Basit's teaching style did not work out for me for the first exam. I am nerdy enough to attend both lectures but I was honestly enrolled in Professor Basit's section, but I had unexpected travel plans that made me leave the city early so I just attended the section with Professor Edwards. After attending some lectures with Edwards, I just went to his section for the entire semester. Why? I figured out that Edwards was better at explaining the concepts for some reason since he doesn't read off the slides verbatim like Basit. I think he is better at engaging with students which helps you to stay focused and actually get something out of the lecture. Basit unfortunately doesn't do this. She just talks for 50 minutes (excluding during in-class activities) without engaging with the students. I was not engaged when I went to her lectures. But that wasn't only me. I could see more than half of the class just browsing the internet or doing other stuff for the whole class. However, Basit is super nice, especially during regrades. I got up to 10 points towards my second exam because I had a legit reason and explanation of how I interpreted the question. But I also heard she generously gave points back although you were simply WRONG. It depends on the question and the exam, but if you have some kind of reason and explanation you can argue with, I recommend going to regrade office hours. But don't use this system just to raise your grade. It's not fair to everyone.
2. CS 1110 vs. CS 2110 - Part 1
I thought CS 1110 was super easy, especially after they changed the programming language from Java to Python. You just simply code what you learn in class, and the POTDs are just a level above from the lectures. I did not take AP or IB Computer Science, so I was semi new to Java although I had some Java experience in high school. Python is so simple and you can do a bunch of stuff that yields the same result with different coding styles. It is a very open ended programming language. Java is not. It is an Object Oriented Programming Language that might be different at first. It has more rules and you have to create class and etc, but you get use to it once the semester picks up. I recommend though, that if you have some down time over the winter or summer, learn some Java on your own. It is really easy to pick up Java after you have mastered the basics of Python in CS 1110.
3. CS 1110 vs. CS 2110 - Part 2
Abstraction and Data Structures in CS 2110 is the main topic of the course. What is Abstraction and Data Structures? I had no clue what they were at the beginning of the semester since in CS 1110, every data structures like lists, dictionaries are made for you. Nothing was abstract in 1110. You just simply implement these given data structures when you code. VERY SIMPLE. In CS 2110, you learn abstraction, interfaces, Comparable, and Comparators that you have never seen in your life. It gets hard from here. I just figured out it is easier to memorize all the code so you can ace the exam, but in the end, I now know what they are and can code it myself. You will also learn new data structures (linked list, trees, etc) and you have to create it on your own. It is not given to you. It sounds challenging and it is quite challenging at first. It get's worse in CS 2150 (MORE DATA STRUCTURES) as I heard it from my friends. So be ready to spend more time in CS 2110. It is not that simple.
4. How to Succeed in CS 2110
The textbook, 'Big Java' is awful. AWFUL. I got nothing out of the textbook. I sincerely hope that they change the textbook. I personally like reading textbooks to clarify and understand what is actually going in the class, so I purchased a textbook on my own but searching the internet which had very similar topics. 'Data Structures: Abstraction and Design Using Java' is the textbook I bought and it is much more clearer and concise. If you have the extra money and willingness to buy this book, I highly recommend this textbook to everyone, especially if you are struggling on the material and need more resources. It doesn't cover all the material, but I would say it covers at least 80% of the material.
5. Concluding Remarks
I thought I would get an A in this class before the semester since I did so well in CS 1110. I heard from my peers that this class is so easy, even easier than CS 1110, and that this class is a joke. NO. That was not what happened to me. They did change this class a bit and it became more challenging. I admit it. I struggled a bit, and now I am hoping for an A-. If you want to succeed in the class, please read my review and don't take this light and simple like CS 1110. Looking back, I learned so much from the class--abstraction, new data structures, and basic algorithms. I think it is a good preparation for CS 2150 and other upper level CS courses. It only gets worse from here as far as I know, especially in CS 2150, so buckle up and be ready to learn the material. On a side note, there is a 2% Extra Credit on Machine Learning and Data Mining, and you get 1% Extra Credit by filling out the course evaluation. This will very likely raise your grade by the next +/- grade. Not a bad deal!
Great class to gain more experience in coding. If you like CS and want to continue in the CS path it is a great class to take. However lectures are not the best as they get a little bit monotonous at time. Honestly the best way to learn is on your own, you would only need to go to lecture to reconfirm what you learn. The course has changed from previous semesters to where there is more homework given and there are in class activities which count as a grade so its made reason for you to go to class which is a bit unnecessary. It seems as though the class is taught towards getting you toward the in class activity rather than to actually teach. Take this course if you are interested in learning more CS but know that it may not be as easy as it may have been before
First off - Edwards is a super boring lecturer - and going to his lectures does not help whatsoever. It doesn't matter at all whether you get Edwards or Basit - all the homework and tests are the same, and you won't end up going to lecture very often anyways.
This is a really easy class, and shouldn't be difficult for you to end up with an A. For the first two-thirds of the semester we learn Java fundamentals and OOP - basically if you've taken AP Computer Science, you've already learned it all, and it's not hard to pick up if you haven't. At the end you go over some core CS topics like recursion, algorithm complexities and data structures, which I really enjoyed.
As far as the tests go, you only really need to go over the slides the night before and you should be fine - the tests, including the non-cumulative "final", are only worth 50% of your grade. There were only 7 homeworks throughout the sem, and they were all pretty cut-and-dry, although some of them took a while to do simply because the grading system was annoying as hell. The labs are pretty useless and often times don't even deal with material covered in class, but if you go and put in some effort, you get the credit. There is an extra-credit assignment about Machine Learning that adds 4% to your overall grade, so that definitely helps (it's not very time-consuming once you figure out how to do it).
Honestly, not the most inspiring or interesting CS class, but it's an easy A, so I'm not complaining.
This course started off harder than a lot of people thought. The average for the first exam was 81 but after that it just got easier. Basit/Edwards make so many opportunities to help you out. You could earn up to 5% extra credit on top of your entire grade if you did some short machine learning project. (Took about 3 hours).
This was the first semester they took out the Android project from the curriculum, replacing it with a Java Swing tic tac nine project. I thought it was kind of dumb (Project should've been student chosen) but it's only worth 5% of your grade and I spent way too much time on it.
Tests are fairly straight forward; they are only about 20% coding. The first two tests only had 1 coding problem (where you had to code some method).
Overall easy course - I feel like I know more about some CS basics, but I don't feel like I got that much better at coding.
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.