The class itself isn't bad, it's just a lot of content. With the quiz and final policy, its not a hard class to get a good grade in. However, Morrison is not a good professor as she is very rude to students who ask questions, and it made me scared to ask any questions in class. Additionally, she would go ridiculously fast over the content, where it ends up leaving you to teach yourself everything. Overall, not a horrible class, but Morrison made it a lot more difficult and a lot less enjoyable.
Grade Distribution
No grade data available
Sections
5The course relies on weekly coding assignments and frequent quizzes, but abundant extra credit for early submissions and the option to retake quizzes instead of taking a final make a high grade very achievable with consistent effort. Your experience will hinge almost entirely on prior Java background; students with solid programming foundations find it manageable, while beginners struggle with the rapid pacing and strict auto-graders that deduct heavily for syntax mistakes. Live lectures typically rush through dense slide decks with limited concrete coding demonstrations, so most learners end up depending on posted materials, lecture recordings, and TA office hours to truly master the concepts. While some appreciate the instructor’s enthusiasm and humor, many note a tendency toward inconsistent policies, passive-aggressive communication, and sometimes dismissive feedback, meaning success ultimately requires heavy self-directed study and strategic point management rather than relying on classroom instruction.
34 Reviews
Some really bad questions on the quizzes in my opinion, and some coding questions can be a little confusing but generally pretty easy. Her grading scheme of allowing you to retake two of the five quizzes is very forgiving, and her policies on late hw, labs, etc are all very lenient.
I learned a lot from this class, the pacing was good, and the course content was satisfying. I do remember that I was mad at her when her response to an active shooter alert was delaying our lab by fifteen minutes, but she apologized for that.
As a professor, Morrison cares about her students and the content, which I think automatically makes her at least a *good* professor. She can also be a little funny sometimes, enough to make her lectures entertaining.
Some of the homework assignments can be really hard though, but I really recommend not using AI and trying to do it yourself, you're future self will thank you I promise.
Oh boy, what a class.
On the one hand, you learn a lot. I genuinely feel I will use what I learned about Java for the rest of my time programming as a hobby and academic pursuit. Learning about stacks, heaps, queues, trees etc. changed the way I view computers, especially since this was the first CS class I've taken at UVA. The coding assignments and questions also work to improve your skills with technical questions in the Leetcode style. You are also given plenty of opportunities for retakes (the final is 2 retakes) and extra credit (up to 0.3% course-wide bonus per homework turned in early really adds up over 15+ assignments). Overall an A is extremely attainable if you're proactive.
Everything else kinda sucks. Morrison is incredibly antagonizing to her own students for no particular reason. She regularly changed rules about the course when she felt we were taking advantage of certain features she literally designed. Exhibit A: office hour checkoff. What human being decides to make students with busy schedules go to office hours to sit in line and get their homework checked off at 8pm? Then students were discovered to be waiting until Sunday night (when they are free), so Morrison added a rule that you must check off your homework within 48 hours of your submission. This makes the scheduling for hours even tighter, especially if you are trying to turn the work in early for extra credit. I understand the rampant use of LLMs in these courses makes some measure like this necessary, but this solution wastes student time and siphons money to pay for even more TAs. Why not just ban LLMs in lieu of more lenient (but cited) student collaboration? Her rules make no sense in this regard, where you are explicitly allowed to use LLMs for help if they are cited, but are allowed zero collaboration with students. But if you're in lab, you can collaborate as much as you want! For some reason collaboration on homework is allowed in lab, because that somehow prevents plagiarism. Except her plagiarism enforcement is awful as well. I was falsely accused of plagiarism by her when my HashMap implementation was auto-matched another student's submission by 50%. Of course, I had never met the student in my life, and Morrison was incredibly slow on correspondence with this issue during peak finals season when I had other things to be worried about. She waited until the day of the final to respond and say that I was in the clear. Add that with her handling of the lockdown scare and her telling students to go to lab when there was possibly an armed intruder on grounds, her calling our section lazy because of our quiz retake performance (some of us did not perform well on coding questions), and her convenient forgetfulness to record lectures half the time, and you have a real mess of a semester. All of this, and her lectures are not even good!
Seriously, by all means take this course, but please do yourself a favor and take it with Yi.
I came into this course having already taken AP CS A, so take this with that bias in mind. With that background, this class was INCREDIBLY EASY.
Every homework assignment can be submitted early for extra credit (37/34) and makes up a huge chunk of your grade. Labs are extremely easy, quizzes are generally straightforward, and there is no final exam. There were also extra-credit labs. With all of this combined, getting an A+ in the class felt very attainable. I personally did not attend lectures and instead watched the recordings at 2x speed.
That being said, if you are not already familiar with Java and basic data structures, I can see how this course would be much more challenging. Morrison is a solid professor, but lectures sometimes felt disjointed and I had to learn a few topics independently. Quizzes also go slightly beyond what is explicitly covered in class, making it easy to lose points even if you felt prepared.
Additionally, lecture recordings were often missing or incomplete. If you don’t already know the content, I would strongly recommend attending lectures in person.
TL;DR: Extremely easy if you’ve taken AP CS A, potentially rough if you haven’t.
Professor Morrison is very sweet, but not the best instructor in my opinion. The content isn't extremely difficult, especially with prior Java knowledge. Lecture is not required and honestly not that helpful, just watch some YouTube videos and go through the slides that are posted. Do the homework on your own, not only will it prepare you for the coding questions on the quizzes, but many people get caught cheating throughout the semester because they are copying other people's homework / using LLMs.
Professor Morrison's lectures are not very helpful. I tended to find she oversimplified things and rushed through important concepts. I taught myself pretty much all the content the entire semester. I did enjoy the class though. I think the content is interesting, the weekly coding homework were enjoyable and minimally challenging. I think you need to average around 80's on all 5 quizzes to get an A which is very doable if you study and learn the material well. You really need to know how to code otherwise you are going to fail the coding section of the quizzes worth 30% of each quiz. You also get extra credit if you submit your homework early, take advantage of that! There are a few other extra credit opportunities as well. You have to get your coding homework "checked off" (about 4 questions quizzing you on how your code works) in TA office hours in order to receive 4 of the 34 points in the coding assignment, which is slightly annoying.
DSA1 was a fun course where I learned a lot. I think it was very well managed this semester, with an active Ed forum and TAs who were readily available during office hours. I also appreciated Professor Morrison’s humor, which kept lectures interesting and light.
There are 13 homework assignments and 9 labs throughout the semester—if you put in the effort, these are basically free points. There are also 5 quizzes that require studying (multiple choice and coding). The course offers 6.3% extra credit and two quiz retakes as well. Overall, it’s a pretty easy A if you’re willing to put in some effort.
Grade components (Fall 2025): Quizzes – 50%, Weekly HW – 40.8%, Weekly Labs – 8.0%, Syllabus Quiz – 1.2%.
Morrison is genuinely the most evil professor to ever exist. She has absolutely no care or remorse for her students, from telling us all to go to lab during a active shooting threat, to simply treating students with no respect and consistently talking down to us. You don't interact with Morrison much because her TAs run lab, quizzes and office hours, but the policies she has in place and the way she runs class is horrible. We had a snow day during our final quiz of the year so instead she made it part of our final and changed our final to be three short quizzes with one coding question worth 30% of our grade. This dropped the final quiz average to a 55% and not a single person getting a 100%, tanking everyones grade as the final assignment of the semester.
You have to go to TA office hours every week to get your code "checked off" otherwise you lose 4 points per homework. Lectures are kind of useless because Morrison is such a horrible teacher. If you have experience in Java the coursework itself isnt horrible just kind of annoying, theres alot of extra credit opportunities if you submit assignments early so you can average 70s on the 5 quizzes and still end with an A.
This class will teach you everything you need to know about DSA1, but it will not teach you how to program it. All of the homework is basically handed to you, besides changing a couple of lines or filling out some blank space, which is awesome since every quiz you take is 30% of FRQ, not open-note. If you have a syntax error and your program does not compile in the auto-grader during a quiz, you get the ENTIRE question wrong; there is no partial credit. The quizzes are not take-home anymore like they used to be last semester; they are now composed of five in-person quizzes that you have to take during your lab slot.
The class, however, is not hard to get an A in, because Morrison gives SO much extra credit. If you do all the extra credit possible, it's like an additional 6% to your overall grade.
Morrison is also such a careless person, yes, she is the professor who told everyone the Shannon shooting wasn't real and to still come to DSA Lab (this was my lab slot too). She sometimes makes fun of students who do not know the right answer in lecture. I remember one day a first-year student asked a genuine question, and she basically responded like "no, are you stupid?"
Expect to talk more to the TAs and your friends about the class because Morrison does not help at all.
I wouldn't take this class unless you had to. It wasn't bad, but it wasn't fun and was extremely frustrating at times. Professor Morrison is knowledgeable about cs, but she was honestly very passive aggressive, and sometimes just rude. DO THE EXTRA CREDIT (there are so many opportunities) and practice outside of class. The TAs are very helpful, some nicer than others, but overall made the class more bearable. There is another lecturer as well, but Morrison is in charge of everything. Weekly coding homework assignments (extra credit if you finish early, last 4 points for going to office hours and getting quizzed on it), weekly labs, 5 quizzes/tests, 2 retakes as the final, some bonus labs for extra credit. #tCFfall25