Your feedback has been sent to our team.
1 Rating
Hours/Week
No grades found
— Students
My semester was online (Spring '21), so your mileage may vary based on how they alter the course.
The content is—at times—extremely difficult, and the workload is significant. I found myself struggling here more than I did in CS2150, but I know this experience is not universal.
Tom Horton is a nice guy and a decent professor. Recorded lectures switched off between him and Floryan for my section, and I definitely found myself preferring Floryan's lectures. I found Horton's lecturing to be a little scattered and unfocused—his explanations were not super easy to follow. There are a couple times throughout the course where the mechanics of a single proof or technique were super important to grasp; at times like that, I found myself rewatching Horton's lectures several times over.
Live sections were intended to be opportunities to interact, but there wasn't a lot of interaction, so live sections often turned into extensions of the lecture material.
The course used a convoluted "mastery" grading system, which is detailed at the link below. I was not a fan of the grading system—at no point in the course did I feel certain about my final grade. I was always worrying that I'd get a "satisfactory" on some major homework assignment and cap my letter grade.
You can see a details of how the course was administered at this link: https://uva-cs.github.io/cs4102-s21/readme.html
Tips:
- Submit as much work as possible by the soft deadline. Homework grading was extremely inconsistent in my experience—friends' submissions would be marked off for errors that went unnoticed in my work, etc.—so maximize your chances of getting a good grade by submitting early and keeping an opportunity to revise before the hard deadline.
- Don't skip homework early. An attractive "feature" of the mastery grading system is that, in theory, you can skip a certain number of assignments with impunity. But the later homework assignments were much harder than the earlier ones, and the timeline for getting feedback was much more compressed. You will have a much better time if you do *all* the homeworks in the first two modules, then skip strategically.
- Attend live lectures. While they were definitely not as helpful as they could have been, exams frequently drew from live-only content.
- Make friends in the course. Collaborating on homework assignments is allowed and is basically essential if you're going to do well in this course.
Algorithms changed the way I think about the discipline of computer science, and I'm now able to solve entire classes of problems that I would have found extremely intractable before this course. You will be a much better student because of it, but the grading system is aggravating and this course was by far the biggest source of stress this semester.
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.