Your feedback has been sent to our team.
11 Ratings
Hours/Week
No grades found
— Students
Oh where to start. I'm a CS major btw and I say this as it is important.
I did in the end enjoy this class. I found it to be relatively low stress and almost easy but despite this, I still very much hated certain parts.
The quizzes. My god these sucked. 4 questions 8 pts; Q1 1 pt, Q2 1 pt, Q3, 2 pts, Q4 4 pts. Originally a score strictly greater than 7 would round to 8 but they relaxed it to be that a 7 and up rounded up. Quizzes every monday. They were not very good. There would be mistakes every quiz. Q4 a short coding question, was usually an unnecessarily complicated situation that was more often than not poorly explained. There are a few retakes so that's nice.
Homeworks were usually okay. Trees and Hash Tables were the hardest; each taking me >10 hrs whereas a normal homework would take 1-2. Same situation, you learn a data structure for the week then next week is a coding homework on it and usually a report. The coding homework had a common theme of making an unnecessarily difficult situation that barely utilized the data structure. Example: Hash Tables. First we wrote the code for a hash table. Then, we had to write a word search program. Guess how the hash table was used in this part of the homework? We were given a text file of a dictionary and were to make a hash table of this. That's it. The rest of the homework was to write code that would find every word in a given grid and see if it was in the dictionary hash table. This might not sound that bad but let me spoil. ~5% of the time doing the homework was spent making the hash table structure and also making the dictionary hash table and ~95% was spent making code that could accurately and in a reasonable amount of time, find every word in the grid. Oh and guess what hash table functions were used for this? Add to the table, and check if the table contains a given string. That's it.
There's no exams or final. The final is a chance to retake every quiz however, the final is only 2 hrs and the normal time given for a quiz is 30 minutes so you could only reasonably do maybe 6 quizzes, possibly more if you're really fast. (There were either 11 or 12 total quizzes). I ended up not taking the final as my grade was high enough but still, with the quizzes being as rough as they were, ymmv.
HWs 40% Quizzes 60% of your grade.
As for Floryan, I liked him. He was a good prof and funny (altho the class didn't have a sense of humor or any emotions for that matter). I would say try to get him if he teaches this class again. It should be noted though, it was always Prof. Basit who was advocating for things to be easier for us (the rounding to be more lenient, deadlines for difficult hws to be pushed, etc). He never proposed those first.
Despite all this, I enjoyed the course a lot and found it fun and interesting (this is why my note of being a CS major is important as non majors may find their experience much different).
This class was pretty enjoyable, and sort of solidifies whether CS is for you or not. Lectures are extremely interesting and it was cool to learn about how each data structure worked, but then for homework we had to implement the data structure which was a pain. They stopped giving us starter code or pseudocode, so if you don't want to spend days working on CS assignments start to finish, it's probably not for you (this was only for a few assignments, though). We also had these analysis reports which I actually found somewhat engaging, and contrary to popular opinion I actually enjoyed writing them and learned a lot. Overall, it's not too bad if you dont know Java (like if you came from Python), but be prepared to really put in the work for a few assignments.
not too bad of a class. The first three weeks are a very chill intro to java. After that, we get into sorting algorithms and data structures. Homeworks are mostly pretty easy, though some may require a bit of extra work. Occasional experiments are annoying but easy. The quizzes are not too bad if you look over the lectures and understand the homework
I am not a CS major so I may not be the best person to write this review since I haven't had a lot of experience in other CS classes (I only took AP CS in high school), but despite some of the negative reviews, I thought this was an amazing class that significantly enhanced my knowledge of data structures and computer science. On top of that, Floryan was one of the best professors I have ever had here at UVA. Really nice and down-to-earth guy and he makes the lectures super enjoyable. Sometimes the homework assignments can be a little frustrating (Hash Tables LOL), but overall they are very manageable and office hours can help a lot if youre stuck. Getting a good grade in this class is very doable. If you pay attention and lecture and study just a little bit for the quizzes, you are guaranteed to get a pretty good grade. And even if you miss a few points here and there, you can make it up with the retakes. Sometimes the quiz questions can be a little frustrating, but they definitely give you more opportunities to raise your grade. Overall, I really enjoyed this class and recommend taking it with Floryan!
Floryan is a great lecturer and I was always captivated during his class. Floryan seems to care a great deal about his students, and he tries to make the course easier on people. With that being said, there were a couple times throughout the semester in which the coding homework was very difficult, the class was generally lost, and the teaching staff wasn't quite sure how to handle it. This could be somewhat related to how new the course is, but I also think finding bugs and struggling to fix them is a natural part of coding. If you put off coding until the last minute, it will be very stressful, but starting early and taking breaks helped me finish the code without many issues generally. The writing assignments could be somewhat annoying; however, they were generally graded very leniently and helped boost your grade. The class is structured to give weekly quizzes instead of midterms and finals, there are multiple opportunities to retake any given quiz, and a 7/8 is rounded up to an 8/8. It seemed like the course instructors were trying their best to make the course easier on the class, and I imagine they will improve their ability to avoid extremely frustrating circumstances for the class in the future.
A lot of the negative reviews don't take into account the fact that this semester was the first time that the course was run. Of course there would be issues; we were basically the test class. That being said, Prof. Floryan is a very entertaining lecturer and he's the best prof to take this class with. I liked that the class had weekly quizzes instead of midterms and finals; you can retake the quizzes up to 2 times as well. It was a little annoying to devote my entire Monday to studying for the quizzes, but it's way better than taking formal exams.
There were some issues with the course: pseudocode was often wrong, some assignments were really difficult, and the analyses took so much time every week. However, they are probably going to fix the pseudocode going forward and they did say that they're going to restructure the course to make the assignments easier and make more sense in terms of the order in which they are taught. I would not take this class if you didn't need it for your major, as this is a very time-consuming class, but as a CS major, I found the topics that we learned about interesting because it gives you a better idea of how Java works behind the scenes when you use its built-in data structures.
I completely disagree with all the negative comments about this class. Firstly, Floryan is an outstanding professor (probably one of my favorite) and is a very talented lecturer as he explains difficult concepts in clear and concise manner.
With regards to the course structure, I personally felt that this course was designed really well as we were able to gain a solid understanding of some of the most commonly used data structures (arrays, vectors, linked lists (stacks/queues), trees, hash tables, heaps). The coding homework assignments, for the most part, were fair and allowed students to gain a thorough understanding of the inner workings of data structures. This class is definitely a step up in difficulty from the intro-level CS classes; the first three weeks might be slightly intimidating for those who have never seen Java before, but again, Floryan is an amazing professor and really helped us get comfortable using Java.
One of the best things in this class is how it operates in a weekly quiz format instead of the traditional midterms/final format. You are tested on one topic at a time, and if you happen to do poorly on a quiz, there are NUMEROUS ways to improve your grade.
The purpose of the analysis assignments is to compare how theoretical efficiencies of data structures correlate to experimentally derived data (which I think is a great concept - the bigOH analysis, in particular, was really helpful). My only gripe with this course is how the analysis assignments require too much unnecessary information to be included (intro/methodology, etc.). IMO only the results and conclusion sections are needed to serve the purpose of the analysis.
Overall, this course was fantastic, and you will learn so many fundamental and crucial topics in computer science.
Floryan is a GREAT lecturer. Very thorough, answers all questions and is very friendly. Rarely bores you and he makes CS interesting. This was the first time the class was taught and it was super successful. The quizzes were fair, and so were the assignments. They gave a lot of pseudo so that was nice. He is very friendly in lecture, and mostly 1 on 1. You really couldn't ask for a better lecturer. The essays an be a bit annoying but they are EASY. Wish we could apply the Data structures instead of just building them. Go to office hours and definitely take advantage of TA help. Help is always available except for when TA office hour lines are long. Get started on code early over the weekend so you can ask for help during lab if you are stuck. So many opportunities to help your grade. Not sure why ppl gave bad reviews- class was FAIR.
Floryan is a great guy, but the class is unnecessarily difficult and unorganized. It might just be because it's new, but the module system is absolutely confusing. The class is 60% quiz grade and 40% coding assignment grade which makes absolutely no sense to me. The quizzes are 8 points, but if you get a 7/8 they give you a perfect score, however, if you get a 6.5/8 you get an 81 which is a ridiculous grade gap.
Worst administration of any class I have ever taken at UVA. Every week, there was a problem. Testing software wasn't working, they provided the wrong source code, quizzes graded incorrectly, TAs not showing up to office hours. Absolute NIGHTMARE. The amount of hours I waited around for stuff to get fixed made me so stressed out. The content is not even difficult, but the amount of stress from the lack of organization was insane
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.