Your feedback has been sent to our team.
37 Ratings
Hours/Week
No grades found
— Students
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.