This course was actual torture
Hands down one of the worst courses I've taken at UVA. Floryan is a fantastic professor, and really puts time and effort into teaching students and allowing us to digest the topics. But the course is structured so that 75% of your grade is from closed-book quizzes (60% quizzes, 15% final), and the other 25% is on homework. Floryan and the TAs will waste no time exploiting the slightest mistake or error, and penalizing you drastically for it. The quizzes are graded so harshly that it is almost impossible to pass without fully mastering 100% of all concepts. And for a class that has almost no basis in real jobs or computer science, and is only a pre-requisite to ONE course, this course is way too harsh and definitely not worth it. If this course were not mandatory, I would have never dreamed of taking this course.
TLDR; If this type of work is what you're into, then you will have a good time. Otherwise, if you are an average CS student, this course is annoying as hell. You will pull your hair out when you get your quizzes back and realize your grade has dropped 30 points because you forgot to include an edge case, or a TA graded improperly, or "you didn't explain your proof well enough"
Grade Distribution
No grade data available
Sections
2The lectures are engaging and the theory itself is genuinely interesting, but the grading structure is notoriously punishing. Nearly three-quarters of your grade hinges on frequent closed-book quizzes that consistently go beyond lecture material and demand rigorous textbook study. Homework partnerships won’t save you since exams are proof-heavy, deliberately tricky, and graded with almost zero partial credit. Only take this if you’re prepared to commit to heavy, solo study sessions every single week, otherwise the relentless high-stakes testing will make the class completely unmanageable.
14 Reviews
I was not very excited going into this class as I hated DMT1 and did not like the proof and complexity parts of DSA2, which was originally what I thought would be the bulk of what we studied in this course. However, Floryan is a great instructor and is very enthusiastic of the topics we covered. He spends a lot of time in class proving to students why DMT2 is even useful and I would say he accomplished that. The class is broken up into 5 modules which are all quizzed individually. Each module is worth 12% and all the modules add up to 60% of your final grade. The quizzes range in difficulty but usually if you study and make an honest attempt at conceptually understanding the module you should do fine. Homeworks are worth 25% and are hard but you can work in groups and if you go to office hours and review lectures and notes you should be fine. For the final, Floryan allows you to retake module 1-4 quizzes and takes the higher of the two grades which is nice, you also have to take module 5 quiz and the final quiz which is worth the last 15% of your grade. This is difficult as it puts a lot of pressure as you can determine 75% of your grade all on the final should you choose to retake all quizzes, mod 5 quiz, and the final quiz. 75% is very high portion of your grade to come from quizzes for how difficult the quizzes were in my opinion. Overall, the class is interesting and you learn some cool stuff especially in Mods 4 and 5, but is definitely one of the harder CS classes so make sure you do not take it with multiple hard classes as you will need time to focus on this class to do well on the quizzes and homeworks.
Floryan is entertaining so he was able to make this class a lot more enjoyable than it typically would be. The material is kind of hard to understand at times, but he goes through each module pretty slowly so it's not overwhelming. I found it helpful to rewatch lectures before exams and doing homeworks - the material doesn't always click the first time around. The quizzes are pretty fair although there are some tricky questions sometimes. It's really important to try to fully understand all of the information in each module. #tCFF23
Overall pretty nice class. If you've had Floryan before as an instructor, this class will feel pretty similar to that, and he teaches about the same as he usually does (which I consider a positive)
The class is split into five modules, with each module consisting of one homework usually, and max of two. Each homework I found was relatively simple enough if you were keeping up with his lectures/understand the course material, but could be challenging if you fell behind. Though you are allowed to work with a partner on the homeworks, I found the homeworks doable just by myself. I'd say the hardest homeworks were about the same level of your average DSA2 problem set, while the easier homeworks I could complete in about an afternoon no sweat. There was only one programming assignment throughout the course, but it wasn't anymore difficult than the average DSA2 coding assignment. Each module has one quiz associated with it. If you're familiar with Floryan's quizzes, they're pretty much that. In terms of difficulty, I'd say the quizzes are pretty fair; if you study you'll surely do fine, if you don't study/know the material, you might struggle. At the end, there's a cumulative final and like usual, he allows you to retake any number of past quizzes.
I'd say the largest difficulty with the class is simply understanding the content. DMT2 covers a lot of theoretical models (Finite Automata, Pushdown Automata, Turing Machines, etc), some of which I will most definitely probably not ever think about again in, but Floryan does a great job of getting me interested in whatever a context free language was. A lot of it is very, very, very theoretical, and there were moments where I did not understand a single thing Floryan said. But even for the hardest concepts, I think if you just rewatch the lecture or just go over it yourself you should be able to get the overall gist of it.
TL;DR Great class, Floryan's a great professor as always and I'd strongly suggest taking this course with Floryan because I can't imagine this course being as fun (or even doable) without him. If you keep up with the material and complete the homeworks, you should be fine.
#tCFF23