Your feedback has been sent to our team.
37 Ratings
Hours/Week
No grades found
— Students
Prof. Sullivan is so disorganized, it's unbelievable. The semester before mine, he apparently forgot to book the room in Nau hall for the final exam, so everyone had to sit outside on tables and across the floor while taking their final. I barely paid attention, half-did the homeworks, understood next to nothing, and didn't study for the final exam. I ended up with an A, so who am I to complain.
Oh where do I began. The weeks leading up to the class, we heard nothing from Sullivan. Wednesday was supposed to be our first day of class, and still not a single email from him. Eventually he emailed us, but he didn't end up posting a lecture until a month or so into the semester. Keep in mind the syllabus states we are supposed to have 2 midterms, 1 final, and 8-10 homeworks to comprise of our grade. We were waiting for our first final that was scheduled for Sep 25, but we still hadn't learned anything. Finally during round 2 of midterms he posted videos! We had our first midterm at the end of October. We also had 1 homework assignment at this point. Then November 6th he finally sent an email saying he would post new lectures, but he did not. We waited and waited, sending email after email. We genuinely were concerned for the wellbeing of Sullivan at this point since he hasn't responded to any of us. On the last day of classes on Tuesday at 4pm, he sends an email saying he will post new lectures that day and release a final exam on Friday (Thursday was Thanksgiving - we were pretty upset). At this point we should have seen this coming, but he of course did NOT post any lectures. We waited the whole week, and heard nothing. On Saturday, he sends an email saying he will post that day - and of course nothing. We finally got the first video on Wednesday of the second week of finals. We had to watch 4 hours worth of videos and complete a final exam by Friday at 5pm - he did give us an extension till Sunday 12pm. Overall, I honestly felt like I only took 13 credits this semester instead of 16. I learned nothing about Disrete Math. Sullivan is a very sweet man when you talk to him, and he does want to help you but that doesn't justify how he has organized this class. I understand Covid has made everything harder for professors to be virtual, but this was just unacceptable. I have heard stories about Sullivan in the past, and I really don't understand how he is a professor at UVA.
#tCF2020
DO NOT TAKE THIS CLASS WITH Kevin motherfucking Sullivan! Okay, full disclosure: Love the dude, hate his teaching. He is the nicest professor I have had at UVA but UVA needs to fire him. I am not kidding. Discrete Math is such an important class since the concepts follow CS Majors for rest of their careers but this dude fuck the foundations up. Going in, I knew how bad the class was and so I paid more attention in this class than absolutely any other one. I ended up with an A but I barely understood anything that was going on, how to write proofs etc... He needs to abandon using Lean and teach kids how to write everything by hand
Just avoid him. Please. Do anything and everything you can to NOT take CS2102 with Sullivan. He's a very nice guy, but is just not a good college professor at all. Every single homework is plagued with errors and tons of unclear directions. Honestly this class was only stressful because of how Sullivan delivered all of the material. I learned a few things, but not as much as I would've liked to. If you have no other choice than to take this class with him, then good luck.
He is cool as a person, but very confusing as a professor. He constantly gets things wrong in the middle of class then has to think a bit to change his answers. I understand that we get things wrong, but as a professor teaching students who usually don't know what's going on, its not a good look. It was hard to reverse my confusion when he finally figures out what he wants to teach. He does try hard to get us engaged, though.
He does not really know how to use lean well, if you want to teach students this new language, you should know it like the back of your hard. At the the end of the day, I do know a little about lean and propositional logic, but not at all how to prove things with or without lean. It is easy to get a good grade, though. When we were on grounds, office hours were very helpful to me. Now that we have to learn from home, I feel less engaged and I feel like I could have learned better with in person TAs and office hours, but my review on him stands.
It is a painful class. He consistently contradicts himself and doesn't stand up for himself when students interrupt. Lean is not a good way to learn discrete mathematics and this man doesn't seem to understand that. You come out of the class with an A or B, but with no understanding of Lean or Boolean Algebra. Do not recommend.
If you actually want to learn discrete math, take this class with another professor. However, Kevin's class is relatively easy and self-explanatory, especially if you are comfortable with coding and enjoy learning new languages. The entire class is in Lean. The first two months of this class were spent learning the syntax, which is super easy and the TA office hours were always super helpful. The last three weeks or so were spent learning proofs, which I'd say was very difficult if you don't already have any background knowledge of boolean algebra. The class had two exams and a final, all open note and very doable. Usually he gives a study guide for homework and the test is pretty much the same as the study guide, so you will be able to get an A. Also, he gives out extra credit on homeworks, curves the class, and is lenient about test grades. For instance, if you fail the first exam but do well on the next test and the final, he'll take an average of your scores and replace the low grade. Although Kevin himself is very disorganized and the class lacked structure, he is understanding and genuinely cares about his students and wants them to do well. I definitely would recommend this class over the other sections with other professors if you're looking for an easy A (and Kevin will admit that the class is not hard as well).
If you are a CS major or have to take this class, it is really not that bad. Sullivan is a really nice guy and understanding. Tests were open-notes (even the final) and two of them were take-home assignments (final and test 2). While Sullivan is a patient and nice guy, the class can be a bit confusing especially towards the end. I've heard you will learn more with Tychonievich but it is harder. His class did not fit with my schedule so I took Sullivan. Hopefully this will not come back to bite the ~2/3 of CS students who took it with Sullivan. While I wouldn't really say it was a fun class, I did not dread going to it or have disdain for it the entire time like PHYS 1425. Sullivan also has a cat named Mandy (short for Mandarin) that was really loud during Zoom lectures, but made me respect Sullivan even more. Yes, Sullivan is not the most organized and maybe not the best at conveying material, but he is smart and a nice guy. If you show up to class and go to office hours you should be able to get a good grade.
This class should not be this hard ever. It is all because we are using the programming language Lean, a programming language that you will probably only use once in your whole life. Lean is a so-called constructive programming language and so it is totally different from any language in the C family. I thought it would be fun, but the insane precision and annoying syntax required by lean only brought pain. The grammar of this language is so weird that sometimes even Kevin himself could not know where the bug is. The material covered in this class is just some basic boolean logic , which is only a small portion of the whole discrete mathematics field. However, with lean, it is like a nightmare.
The professor is a nice guy, but he is very disorganized and cannot even keep up with his own agenda, which is super annoying. Also, it is quite difficult to reach out to him except at his office hour, because he does not seem to check his email regularly. Sometimes, even the TAs have some trouble reach out to him.
The TAs are the only gods of this class. If you want to have a good grade, going to the TAs' office hours will be my suggestion.
Kevin is a nice guy but not the greatest or most organized prof. Our first hw assignment was to set up lean and vs code on our computer. No one knew how to do it and everyone had trouble with the installation. He held office hours the first week and there was a line wrapped around the entire floor of Rice. After waiting for 40 minutes, I gave up as he only helped 3 people. After two weeks, he finally got through everyone. After the setup debacle, we started going over the basics. Class was really interactive and the concepts weren't too difficult. While Kevin would backtrack and his teaching style was a bit erratic, he would take time to explain everything and answer questions. A downside to this course is that there isn't a textbook to reference or credible online resources/documentation. Although he can't follow a consistent schedule and he will never respond to emails, Kevin does genuinely care about his students and if you ask for help during OHs he will walk you through any problem.
Lol the other reviews are basically right. For the last month I stopped showing up to class since it only made things more confusing. The course if horribly structured, and I'm pretty sure most days Sullivan didn't actually plan out a lecture, but instead just starting making lean files and seeing if he still knew the language (spoiler alert: he didn't). But on the bright side, the TAs were all really helpful (I HIGHLY HIGHLY I CANNOT EMPHASIZE THIS ENOUGH HIGHLY recommend going to them when kevin inevitably fails you), and since everyone was super confused, this meant that there were massive curves and many bonus assignments (some of which were dropped btw??). Basically take this class with sullivan if you want to do no substantive work and also want to be massively behind in your future classes.
This class was horribly managed — Sullivan didn't even show up on the first day because he didn't know he was teaching our section. That's a forgivable mistake, but it was representative of a myriad of issues that plagued the class throughout the semester. Lectures were very obviously (or at least strongly seemed) planned poorly, with Sullivan frequently starting an example, realizing it wouldn't work, and then backtracking to use a different example that also wasn't particularly helpful. Both homework and exams were graded at an unpredictable (i.e. often late) pace, a midterm was delayed by at least a week, and in one infamous incident, a homework assignment that he announced would be uploaded within a week completely failed to materialize until days before the final exam, when it was turned into a bonus assignment (???). This doesn't even mention the fact that he requires us to use the completely obscure programming language Lean, which has precisely zero easily accessible documentation and features syntax that is incredibly non-intuitive for new users. This language sucks so bad that it's a minor victory to even have code that doesn't throw a huge amount of errors, much less actually work.
As for difficulty, in my experience I found that you either fall into one of two categories: if you have prior programming experience, it just "clicks" and the class is incredibly trivial at a conceptual level while still being frustrating to actually work on (luckily, I fell into this category). If you don't, and you don't understand what's going on, then you're shit out of luck, because going to lectures won't help you learn either. Honestly the most important skill for the class is focusing on the concepts because the tests are all open-note and heavily overlap with the homework assignments, so all you really have to do is understand what you were doing in the HW and slightly change it to match the test questions.
To be unnecessarily extra fair to the class, although Lean is still easily the worst language I have had the misfortune of dealing with, the last unit on proofs actually seemed somewhat interesting. It's just unfortunate that the overwhelming majority of the class leading up to that unit was that awful, so by then I was burnt out and didn't really bother to learn too much.
Day 1 Lecture Log:
most disorganized professor i've ever seen in my life; he literally forgot to come to the first class. He also doesn't even know what's on his homework so he accidentally goes over all the answers during class. On top of that, he never plans his lectures so every 5 minutes he gives us a "break" and writes the lesson plan during this period. I think I could teach lean better than this guy. Also who does this guy think he is: "I aim to catalyze a self-regenerative transformation of critical sectors of our society into far better performing cyber-social learning systems." Like literally 0 organisms in this world know what that means buddy.
Day 2 Lecture Log:
the beginning of today's class was fairly interesting - we went over the statistics of our recent exam. The funny part of this is that ~10 people got between a 0-7%. It was an open note exam with more than 20% of it being verbatim off the notes; this means that some people were so confused they didn't even know where to look in the notes. Side note: He came near me today and I think I almost started crying - his eyes were quite literally staring into my soul. On a more serious note, I was lost last class and it now feels like he's talking in some alien language only he understands. So, if you take this class try your hardest to understand it from the BEGINNING - maybe don't write courseforum logs in class.
Day 3 Lecture Log:
My bed is extremely soft.
\n Day 4-5:
My bed is still soft.
Sullivan is brilliant, definitely talk to him personally if you are having any issues. While he is somewhat disorganized, he teaches discreet in a much better fashion than the traditional, writing proofs with pen and paper. You are learning while the curriculum and coding languages involved are still in development - so keep that in mind. He offered many opportunities for extra credit as well. Honestly the whole class was easy if you followed along in lectures, otherwise you could catch up with his self-published materials which he offered for free.
I think the best way to describe this course and this professor is "Oh no." He is beyond disorganized and the lectures make next to no sense. This course is problematic to say the least. If possible try to take it during the summer instead because they don't use LEAN at all! Prof. Sullivan is a really nice guy and worked to accommodate for people's schedules and such, but he is like the Rising Roll of professors (that's to say that he is a hot mess). Exams are open notes and there are reviews but nothing gets graded quickly so there is very, very little feedback on your work. If you take this class, I wish you good luck...you'll need it :)
This class is extremely disorganized. The homework and test difficulties range from stupidly easy to ridiculously impossible. The lectures make little to no sense and sometimes he would use a tactic and never explain what it does or why he used it there. We had like 6 homeworks on the first 6-7 sections, and then like 2 on the next 12. Lectures would consistently introduce topics that we had needed for the homework that was due the night before. We didn't know the location of our final until the day before. Even the TAs were sometimes clueless as to what's going on. I doubt anyone who has ever taken this class has ever even touched Lean (the language we use to code) afterward. I could go on and on but you get the picture
Honestly, If you asked me if I learned a single thing this semester, I would say no except for how to struggle with writing proofs in lean. Sullivan is an ok professor and a very nice guy but I haven't learned anything other than how to fuck with Lean in order to try and make it work. The work is fairly easy except no one has any clue what is going on and even the TA's are confused on how to do things sometimes. I never needed to learn anything other than how to do proofs in lean, not how they work or why just that I can solve it in lean. Furthermore, a lot of the time they would give us assignments that had information we had not learned or had to use some obscure tactic in Lean in order to solve it. And this language is so obscure that when you look up "how to use and.intro in lean" it will give you results on how to drink lean......, I feel woefully underprepared going into algo and Theory.
I found this course to be extraordinarily easy, to the point where it was far too slow-moving. Sullivan teaches you all the tactics you need in lean, a fairly strange automated theorem prover that replaces the pen-and-paper aspect of this course. While I don't think you learn the logic as well as you might in a traditional discrete math course, I think lean is an interesting concept and teaches functional programming in addition to logic fairly well. The only major problem with this course is that a good amount of it has to come from self-study, which is okay as long as you find the material interesting. Sullivan commonly spends lectures showing videos of rocket crashes and telling his students that this is what can happen if your software is no good, rather than progressing the course further, making it very slow at times, since we spend more than a week on proving one type of proposition. We also never made it to sets or automata, which was disappointing, but overall one of the easier classes I've taken at UVA.
~TLDR: If you can possibly take this class somewhere besides UVA, do it. Sullivan is probably the worst professor I've ever had. He's kinda nice, but also isn't accessible and doesn't even know the material that well. ~
This is without a doubt the worst class I have ever taken. I thought that intro to engineering lab with Ann Reimers was the worst class I'd ever take but I was wrong. I at least used the information that I learned in Reimer's class, and I can't see that I will ever use this information ever again.
I came into this class excited to learn discrete math and was instead given a cheapo version of discrete in a theorem prover where the only reliable proof technique we learned was to throw commands at the theorem prover and hoping something would work. Here are some of my biggest issues with the class:
- Sullivan just used shorthand tactics while teaching instead of explaining the actual logic.
- The textbook was overly verbose and ultimately unhelpful.
- Exams frequently had material that was far harder than problems in the homework, lecture, or notes.
- Sullivan didn't hold office hours while the homework assignments were open. He posts the homework on Thursday, it’s due on Tuesday, and his office hours are on Wednesday.
- Sullivan never responds to emails.
- Sullivan doesn’t actually know lean very well, and his assignments are full of syntax errors which make it impossible to prove the theorem as written.
- Sullivan often showed up to class unprepared to teach and just made up exercises as he went which was evident by the fact that he continuously messed them up
This course is awful. Sullivan is nice, but can't teach to save his life. Exams have problems with concepts that were never taught. One homework I struggled on for a long time, only to come into class the day AFTER it was due and have Sullivan teach how to do the exact problems I was struggling with. How am I supposed to know how to do the problems if he hasn't taught them yet??? Extremely frustrating.
The hardest part about this class was staying awake. Sullivan is a great lecturer but the content was mostly boring, or taught too slowly to be interesting. It used to be a logic class with writing by hand, but now it's about coding in lean and it's not run well enough to be useful. I'd only take this if you have to for your major, but even then you can get out of it by taking the discrete math class in the math department (at least if you're going for a BA in CS), and that's a lot better.
Kevin Sullivan definitely knows the language he's trying to teach and understands the logic he's trying to teach, but is not that good at teaching itself. Lean is also still a pretty experimental coding language, so you can't look online for answers. I highly recommend making a solid friend group in this class so you can all figure out the concepts together, because you don't want to waste your time going to office hours. The TA's were also pretty confused (might be different next semester) and Sullivan's OH are always busy because.. well, nobody knows what they're doing. He does assign homework but he never announces it in class so you have to start working on it as soon as he posts it on Collab (unexpectedly). In class, he spends such a long time going over the same concept and the same problems, but doesn't thoroughly explain the harder concepts. Not a bad course because you feel so accomplished when you're done AND Sullivan is an easy grader, but I definitely didn't learn much. Solved every problem on the final exam but not really sure what each command does (thank god for open note!). Honestly, don't take this unless you need it for CS or you need a grade booster.
This class was the worst class I have ever experienced in my career. I have never met any professor with such incompetency and reliance of an application vs. their own knowledge. The lack of organization, lack of knowledge, lack of textbook, lack of compassion and lack of keeping his word, Kevin Sullivan has completely failed in teaching this course. The average is "decent" not because he can teach well, but because he made the information very easy to FIND, but not understand. The logistical challenges of this class are also a nightmare, today is the day before our final exam and I still don't know where I am expected to be. Why? Because he changed the date, time and location, without telling us. Sullivan doesn't email back, or post updates. It's one thing to be forgetful, it's another to be reckless. Sullivan and Hocking have been reckless with this course and have kept his students WOEFULLY unprepared for classes that build on this: 4102 and 3102. I am severely disappointed in the professor and the course directors who have allowed this incompetency to run multiple sections with very little reward.
Unacceptable and extremely flawed.
Professor Sullivan is a very knowledgeable professor that knows plenty about the subject matter. He is good at explaining difficult concepts in different ways until people understand it. Unfortunately, though this class is listed as "Discrete Mathematics," that is not what this class is. A more accurate name would be "Introduction to Constructive Logic." It's certainly a valid class that some people benefit from taking. And computer science students who wish to explore proof checkers and logic would find no better intro class. But computer science students hoping to be prepared for the things discrete math should prepare you for, look elsewhere. Covered in this class: constructive logic, and predicate logic, intro to set theory. Not covered in this class: any number theory, finite state machines, graph theory, or mathematics over discrete numbers (as the name discrete mathematics would imply). I took a discrete math class in high school, and in the first three weeks of my high school discrete class, we went further than we have this semester. If I hadn't had my high school class, I would be seriously concerned about my ability to take future CS classes such as algorithms and theory of computation.
Some examples to showcase Sullivan's teaching style:
- didn't show up for class unannounced 3 times
- forgets to assign homework
- when homework is assigned, spends two classes reviewing the answers; painstakingly slow learning
- final exam taken in Nau Hall commons because he did not reserve a room. Sure he comes off as a nice guy, but I believe in actions over words. You will not learn discrete math in his class.
This was Sullivans first semester teaching the course so it was kinda a mess. The TAs also had no idea what they were doing, that being said it forced me to learn the concepts he was trying to teach. I do not think I learned as much about discrete as other sections did, but at least it was an easy A since all exams are open note, although if you don't generally understand the concepts the tests would be somewhat hard. Also, found Sullivan to not be very helpful outside of class, hard to get a response over email often and when did, it was not very helpful.
Not a super intensive class, and taught differently from the other discrete classes. Professor Sullivan is a super nice guy, and genuinely wants you to learn the material. Homework assignments were not graded, and the tests and final exams were open notes which was really helpful. Definitely recommend taking it with him based on what some of my friends have told me about their experience with discrete.
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.