Your feedback has been sent to our team.
11 Ratings
Hours/Week
No grades found
— Students
Sections 1
Pros:
Floryan is genuinely a great professor and lecturer and I am glad I got to take a course with him.
Cons: Literally everything else. This class has 75 percent of your grade being determined by quizzes and it’s absolutely nuts. Mind you these are not easy quizzes, and as a side note 40 percent of them are T/F! Each quiz goes way beyond the difficulty of what’s taught in lecture, so my number one advice is READ AND MEMORIZE THE TEXTBOOK, it is the best resource you have by far!
Furthermore one quiz contained a problem we saw for 15 minutes in lecture one day, and so anyone who skips class must’ve missed the entire back page because I struggled having gone to class.
On top of all this, the PA’s are graded extremely harshly and if you do not go to OH you will get points off for sure. If you think this is a class you can take a day off in then you will be badly mistaken. I have NEVER in my life been so happy to pass a class just so I don’t have to take it anymore. This was the source of 99 percent of my stress and worry this semester. Floryan you absolutely rock and I loved you as a professor but oh my gosh this grading policy has got to change.
TLDR: Great class, great professor, but lazy students will feel wrath. Unfortunately, most UVA CS students are incredibly lazy.
Professor: I believe Floryan is one of the best professors in the Computer Science department. He is able to break down complex topics in DMT2 into digestible portions while answering questions precisely. He is clearly knowledgeable about this content and is open, kind, and available for students (and stuffed animals).
Coursework: DMT2 covers what different forms of computers can efficiently compute. You start by learning proof methodologies and some basic set theory. (Along the way, you learn about different types of infinity! This was very interesting.) Afterward, you learn about three models of computation (deterministic finite automata, pushdown automata, and Turing Machines) and what they can/cannot compute. (Another key insight: there are problems no computer can solve at all, and there are problems no computer can solve efficiently. These ideas are philosophically profound). Lastly, you learn about complexity theory and how certain problems/solutions relate to each other. If you are a computer science student who is genuinely passionate about the field, this class is built for you to grow your mind and thinking habits. If you're here to scrape by, this class will be extremely painful. That's on you.
Difficulty/How to Win: DMT2 is challenging, but you already know that coming in. Homeworks are easier than DSA2, but quizzes are harder (compensated with roundups -- see below). Take advantage of Floryan's availability and go to lectures. This class has a notoriously low attendance rate, but those who attend lectures almost ubiquitously have better outcomes because Floryan literally *gives away* solutions for those who attend class. Find smart people to do homework with (thanks Nico!), but understand each solution because methodologies appear on quizzes. Ask questions. Take notes (paper/pencil recommended). I received an A in this course pretty comfortably, despite having no prior experience with the content, proofs, or mathematics. You simply need to be diligent.
Grade Breakdown:
60% - 5 module quizzes that cover: 1) proofs and cardinality, 2) regular languages/DFAs/NFAs, 3) context-free grammars/PDAs, 4) Turing Machines and decidability/recognizability, 5) complexity theory and reductions. If you review previous quizzes, go to lectures, and strive to have a non-superficial understanding of the content, these quizzes are not too hard. Retakes are available for quizzes 1 through 4, and Floryan takes the higher of the two attempts. Floryan also rounds any quiz grade above 90% up to 100%, which is great.
15% - Cumulative final exam quiz. It's hard. Unlike the module quizzes, you cannot reasonably study for this in conjunction with other exams. I built my strategy throughout this semester expecting to take a hit on this final. I suggest you do the same.
25% - Homeworks. Consists of six problem sets (proof-based) and one programming assignment (Java). Pretty straightforward if you understand the content.
Floryan will curve as he sees fit (1% linear adjustment this semester). His turnaround for final grades was 48 hours, which is difficult in a 120-person*6 quizzes = 720 items to grade. I think his compromise was reasonable. Others wished for more.
Last note: Floryan is mildly susceptible to bribery from stuffed animal leopards. Use this knowledge with caution.
Pros: Floryan is a nice guy outside of his class and in his actual lectures he gets the point across pretty well most of the time. In terms of teaching quality, he's one of the better professors out there. Also, the TA's during office hours are helpful for understanding the homeworks.
Cons: There is literally no reason that 75% of the grade in the class should be those quizzes. Further, the quizzes are not friendly, and are concerningly deceptive in the way they ask the questions. Also, the grading on them is pretty harsh. This semester, my opinion of Floryan started out pretty solid, but declined throughout the semester. The end wasn't particularly great in my opinion. We had two exam sections that were a week apart, and I did the first one. Turns out, they refused to release the results of the first exam until the second exam was graded (keep in mind the second session was the last day of finals). Because of that decision, they didn't let us to regrades on the retakes or the final. When I looked at my final, there were so many mistakes (not just in the grading itself, but how the points were assigned on the rubric). For example, on many questions where I should have gotten at least some partial credit, I was deducted full points. Floryan said he would curve to account for the issues in grading, but gave only 1% curve, which has to be some of the worst copium I have heard from a grading team to get out of doing regrades I've heard since coming to UVA.
TLDR: Floryan's a good guy, but his class structure isn't so good. He gets the material across, but your grade in the class won't reflect how much you know automata theory, turing machines, and complexity classes.
Pros:
Floryan is a cool guy and fun to talk to one-on-one
The material is somewhat interesting and (in my opinion) easier to wrap your head around compared to CSO & CSO2
Floryan himself is a pretty decent teacher and his slides are good resources
Every homework has a 10-day extension you can easily abuse
Cons:
75% of your grade is exams, each worth 15% (WTF???? For a CS class?? why??)
One actual programming assignment, the rest of the homeworks are all proof-based
These exams are AWFUL. They make DSA2 quizzes look easy. They almost feel like they're based less on understanding the material, and more on your ability to understand the terrible wording of every question (seriously, I saw more uses of double negatives in these exams than any English class I've ever taken. Why make a class focused on proving the 100% correctness of algorithms if every single question is just going to revolve around the word 'might' and not the actual algorithm itself?)
This class sucks. Your grade will almost certainly be way below what you feel like your actual understanding of the material is. I have no idea why it's like this. No CS class should have 75% of your grade be dictated by exams, and especially THESE exams. They're written like they're actively trying to make you misunderstand the premise of each question. This class feels like it's supposed to be a weed-out class but it's essentially the last required core CS class you need to take. It's almost designed for you to fail.
Floryan is a very interesting person and makes his lecture fun and more engaging that traditional lectures. Most of the homeworks (except 1 programming assignment) consist of problem sets similar to problem sets from DSA2 in terms of formatting. I'd say most of the homeworks are overall pretty simple enough if you keep up with the lecture, and the TAs grade leniently if you are able to convey your idea and know what you're talking about. In terms of quizzes, I'd say you'll do fine if you study for them. This semester, he made it so that if you score above a 90 (strictly above), then he rounds it to a 100. But it's still important to understand every since there will be a cumulative final in the end of the semester.
#tCFF23
One of the hardest CS class I've taken so far (though I'm yet to take CSO2). You will have to dedicate time to studying for quizzes and have a solid homework group(!!!) to make it through, and if you want to actually do well, you'll also need to read the textbook, go over every single homework problem in-depth yourself, and go to OH. Or just study REALLY hard for the final, since it could determine 75% of your grade if you take/retake every single quiz.
The sole reason I did well in this class was my semester got screwed over by medical issues and I got to take the final a week late (Floryan was definitely the most merciful of all my professors). I did nothing but study for 3 days straight and was able to go from a C- to a B- because of the crazy weighting. Then the only curve I've ever seen as a CS major brought me to a B. So you could also take the illness route...?
#tCFS24
This class is probably the worst CS class I have taken here. It honestly makes CSO1 & 2 seem like cakewalks. I think that concepts were interesting and definitely useful if you want to go into academia or just better understand computing fundamentals, but this class sucks. The grade breakdown is unheard of, with 75% being tests which Floryan will not give you the whole hour and fifteen for (he cuts it at the hour exactly), and what's more is that there is almost no opportunity to show your learning unless you've: a) read the fucking textbook AND b) done all of the homework set by yourself (which is like why even let them be group homeworks if you need to redo them yourself just to pass the exams) AND c) rewatch every lecture.
The exams are graded like Floryan and the TAs are allergic to giving partial credit, and on top of that, the practice quizzes from the previous semester were so Mickey Mouse that it wasn't even really worth doing them. I was able to complete the previous semester quizzes in roughly a half hour and consistently get every question right, and then the quizzes we got were just insanely hard. Overall, this class sucks, Floryan's grading policies are terrible, and I would never take a class with him again.
TLDR: Course is a masterclass in getting fucked over by pedantic graders for the most minor shit on topics that most people with CS degrees will never ever ever need to care about.
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"
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
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.