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.
Grade Distribution
No grade data available
33 Reviews
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.
Professor Sullivan is super nice. It is an easy class but I didn't learn anything.
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.
Do not take this class with Sullivan. You will not learn discrete math. Sullivan is a nice guy, but he doesn't teach the class well. Nobody knows whats going on in this class.
Kevin Sullivan is great this semester. The class has a lot more structure than I think it did before. He doesn't try to trick you on anything and even says the exams are to let you showcase not trip up (all completely open note). He is pretty funny too in my opinion. Like this class a lot.
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.