Reviews for CMSC351

Information Review
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
12/20/2024
justin’s teaching style is really good in that he knows how to break down super complicated topics into things that are easier to understand which i appreciated a lot. i do think that the grading on the exams and homeworks was a little harsh considering how many points they would take off for small mistakes. i came out of that class understanding pretty much everything we were taught (and i probably could’ve gotten an A if i had dedicated more time to studying for the class lol), so i’d definitely recommend justin for 351!!
Ting Jiang
CMSC351

Expecting a B+
Anonymous
12/20/2024
Ting is an okay lecturer and a nice person. She uses Herves slides which I found very unintuitive. Also, the pacing of the lectures feels off, but this is her first semester lecturing here so this probably will improve. She benefits a lot from coteaching with Justin. His notes teach you everything you need to know, and the course organization from him is good. The exams Ting wrote were fair with averages in the B- range. Just make sure you show up to the review lecture the class before the exam; she tells you what’s going to be on the exam there. Overall, Ting is a good choice if you don’t think you’ll make it to Justin’s 8AM or if you’re trying to avoid Kruskal.
Elizabeth Qiu
CMSC351

Expecting a C-
Anonymous
12/19/2024
Teacher's pet TA. She doesn't want students to succeed.
Ting Jiang
CMSC351

Expecting an A-
Anonymous
12/15/2024
Ting is an ok lecturer but i always found myself getting bored during lectures and wouldn't pay attention. I stopped going to class after the 2nd week and was still able to do good because she was co-teaching with Justin. Justin's lecture notes and latex notes online were what got me through the course and they really helped with the homeworks and MCQ quizzes every week. There were a good number practice exams that you can use to study for exams which was really nice. The reason she gets 4 stars is pretty much because she co teaches with Justin
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
12/08/2024
Eh... gonna be honest, Justin's a good professor but the 8am timeslot was really really rough and I only made it to class about fifty-sixty percent of the time. I know that everyone swears up and down about taking Justin at all costs, but if there are other solid options with a later timeslot, it might be in your best interest to consider them if you don't envision making it to 8am class every session. The notes are definitely great, but the concepts in this class are a lot better solidified when you attend lecture in person, so definitely consider this!! Signed, someone whose homework average was embarrassingly low <3
Clyde Kruskal
CMSC351

Expecting an A-
Anonymous
12/05/2024
The GOAT. Hilarious class. Exams are half running through and analyzing algorithms, half creating your own new algorithms based on existing ones and analyzing them (the hard part). Super lenient on dates, and listens to the class. Lectures are flipped and therefore basically optional, but you'll want to go to them for some of the more important topics and after exams. Your 3 'quizzes' a week are straight from recorded lectures so a small portion of your grade is just free. If you're 1 standard deviation ahead on exams, you get curved to an A. Which shouldn't be too hard with all these salty plebs giving 1 stars. Congratulations.
Elizabeth Qiu
CMSC351

Anonymous
09/04/2024
Always prepared and very knowledgeable. I attended her office hours during the last two weeks of the summer semester and as long as you put in the work to solve the problem beforehand, the assistance she provides during her office hours is comparable or maybe even better than the professor at times. She does a great job of helping students come to an answer by themselves. Small detail, but during her zoom office hours she turns on her camera, which you may not think is a big deal, but makes her office hours very welcoming and eases tension if you find yourself finishing an assignment hours before it is due. You are very lucky if she is your TA for a semester. P.S. - She was also willing to go past your scheduled time for office hours if you needed more help or had additional questions. I jokingly called this experience, "Elizabeth After Dark" because this is where I learned the most.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
08/27/2024
Not very good at teaching. Copying most lectures from Justin is one thing but not explaining them well is worse. Added a version of bucket sort to our portions which essentially worked as counting sort to have some differentiation from Justin's course. Midterms were not hard, final was challenging but fair. Would not recommend because it's a coin flip on whether exams will be easy or hard and whether you'll understand anything very well. The guy often pauses during his lectures and says "I'm kind of butchering this explanation" or something along those lines. Being self aware does not help us.
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
08/25/2024
Took it over the Summer. Class material was laid out well, organized and easy to digest. Justin & the TA's were very helpful and responded pretty fast. Would definitely recommend taking 351 with him if possible. He's one of the best CS profs.
Justin Wyss-Gallifent
CMSC351

Expecting an A+
Anonymous
08/23/2024
Took this class in the summer. Layout was 1 exam every two weeks for a total of 3. I believe he mentioned he cut some small part of the normal material out to make sure we had enough time to cover everything. Justin was always very understanding about everything and very receptive on Piazza, I definitely recommend taking this class over the summer if you get the opportunity.
Justin Wyss-Gallifent
CMSC351

Expecting a B+
Anonymous
08/19/2024
Good class, organized and good recording for the summer. No complaints.
Elizabeth Qiu
CMSC351

Expecting a B+
Anonymous
08/01/2024
Best TA UMD CS will have for a long time. She sacrificed a lot for us. Staying up to record problem guides for students. Staying past OH hours to help students. Very proactive on piazza. Blessed to have had her as a TA while taking this notoriously difficult course.
Elizabeth Qiu
CMSC351

Expecting a B
Anonymous
08/01/2024
bruh the only guy giving one star is the one of the very few guys who was posting hating comments throughout the semester. I thought there were parts of the course that were unfair, and throwing shade and hate at the TAs for something the instructors have the last word in is just diabolical. this girl left no question unanswered. is she even human? 351 did not deserve elizabeth...
Maksym Morawski
CMSC351

Expecting an F
Anonymous
07/20/2024
Would rather cross a road blindfolded than take a class with him.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
07/17/2024
I actually enjoyed going to this class despite not being a morning person. He makes one of the more notorious classes at the University really fun and easier to understand. I enjoyed this class a lot in the Spring!
Maksym Morawski
CMSC351

Expecting an F
Anonymous
07/09/2024
He was co-teaching with Justin. We used Justin hws and lectures. Only difference Max wrote the exams. The only problem was Max was trying to be different and made the exams something you cant really study for and not have a strong connection with the homeworks. For 351 exams make 85% of the class weight in total, with that in mind, I did really well on the Hws and Justin practice exams, but failed the class because of Maxs stupid ass.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
07/01/2024
Max does have a bit of an ego and he clearly doesn't care too much for 351, but he's always willing to hear you out and talk through any concerns you may have. I also appreciate his office hours when he's there - he explains things over and over again if you don't listen (ex. I asked him to explain 3-SAT since he hinted it might be on the final and I did not understand it, and he took over 20 minutes to explain it again and again to me and the students who stopped by to listen). His exams are pretty tough and a bit of a shock at first (I bombed the first midterm and spent the rest of the semester dragging my grade back up lol), but looking back, I find that I liked how they were written. It's less repeating what you memorized and more applying what you learned, which I think is very useful.
Maksym Morawski
CMSC351

Expecting a C
Anonymous
07/01/2024
Props on this dude for having a very distinct teaching philosophy lol!! I unfortunately do not vibe with him, which is probably a teller of what kind of brain I have as well (abstract theory maybe isn't my best suite). He's a cool guy that occasionally cusses during lectures, but his teaching style is ultimately sort of disheveled and unclear. Though, I do have to give him credit for telling us what kinds of questions will be on the midterms/finals prior (which was most likely a product of the first exam -- an utter catastrophe went on in the Piazza).
Elizabeth Qiu
CMSC351

Anonymous
06/18/2024
amazing TA, saved my grade in CMSC351 when I took it with max
Justin Wyss-Gallifent
CMSC351

Expecting a B-
Anonymous
06/08/2024
Amazing Professor and deserves all the praise that he gets he truly is the greatest professor at UMD.
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
05/29/2024
Great professor of course, but not worthy of 5 stars in my opinion. Seems like he can dumb down the material a little bit in order to be more well liked. Good at explaining concepts and would highly recommend taking him, but might be a tad overrated in terms of teaching ability. Lectures can be slow at times. Exams were very fair to what was explained in class.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/28/2024
Max is great, nothing more to say. The class is not difficult, and Max is one of the most personable professors I've had here. Homeworks and exams are simple and straightforward, and the material isn't hard. Max is an interesting experience, and you will learn the material from his class.
Elizabeth Qiu
CMSC351

Expecting a B
Anonymous
05/25/2024
From what I'm seeing, this course was a hell of a mess this semester, and it's not Elizabeth's fault. She made it better, kept everyone together, and was the reason that I passed the class. In a co-taught class, the professors did not seem like they worked together and even taught algorithms differently like Floyd's algorithm, where Elizabeth subbed in and held office hours at midnight before the final exam to save our asses. Profs were unresponsive on Piazza or email, and didn't follow the syllabus, but Elizabeth was always reliable and responsive. One of the exams were always more difficult than the other, extra credit got added halfway through the semester for only a specific section, and we got very minimal communication from the profs. It was always Elizabeth and some other goated students who stepped in. Also, I get that students disliked the class this semester but Elizabeth seriously didn't deserve any of the hate she got. If you take a step back and observe what happened this semester, she simply made it better. She made it better by being a mediator and resolved tensions among students. She also has an incredible sense of humor and is a great teacher too (she recorded and subbed in supplementary materials and lectures when the professors ghosted or took days off). She was always very friendly and super professional throughout the semester regardless of the threats and complaints she received on behalf of instructors and just really crazy students on Piazza. She mentioned that she advocates for students and professors alike, and as a TA she doesn't share her opinions of professors or the class which I highly respect. She balanced all of it with dignity and I really respect her for that. Without the TAs, 351 would have been even worse than it already was.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/24/2024
I lowkey didn't mind him. He gave really good hints about what was going to be on the exams and exams were more about knowing the algorithms in a high level than just knowing how to execute them. First exam was bad for me because I didn't go to lectures but after that I started going and he used to tell you everything you might need for an exam. That being said he is a bit disorganized and does go off topic at times. The grade overall was curved by 2%. My fav part of the class: Piazza going crazy after each exam lol
Maksym Morawski
CMSC351

Expecting an A-
Anonymous
05/23/2024
Trying to accurately reflect on CMSC351 with Max is a challenging endeavor. It'd be far too easy to say something like "Max not Justin despite coteaching, therefore bad." I don't think it's that simple, especially since I already don't have the highest opinion of Justin for CMSC351. First things first, lectures. Currently, Max just doesn't pull off taking notes live during lecture like Justin does. He often spends a lot of time during lecture just on taking notes, presumably from his own reference. This takes away time he could be using to properly work through examples, since he is fairly unclear and/or makes mistakes on some of the examples in lecture. I don't think Max is experienced enough with the material to pull off live note-taking without sacrificing something else about the lecture. I think lectures would be much better if he mainly used slides for introducing material, and worked out examples live to emphasize the major takeaways. Max certainly has the energy to be a good lecturer, but the lectures this semester weren't great. It doesn't help Max's case that he was out for many lectures where one of the head TAs, Lana, took over, and honestly I thought she was a much better lecturer. Next, the inconsistency with Justin. I could whine about exams here, but I'll save that for a bit. My main issue with inconsistency actually comes with the different notions Justin and Max used for a few of the algorithms. Two notably come to mind: Dijkstra's and Floyd's. In a cotaught class, even if the exams are different, I believe that the content taught across the two sections should be the same at the very least. With Dijkstra's, Justin's notes, lectures, and psuedocode were very clear about how the algorithm should be interpreted in the context of the class, which is done to get everyone on the same page when doing Dijkstra's algorithm problems on homework and exams. Max's students needed to know Justin's interpretation because we had Justin's homework throughout the course. It was very clear that Justin's interpretation of the algorithm records the shortest path between the start node and every other node reachable in the graph, whereas Max's interpretation has the algorithm stop upon reaching a destination node. I actually brought this up, which Max agreed with me, and both interpretations were made acceptable for that problem on exam 3. Something in the same vein happened with Floyd's algorithm, where Justin's interpretation had a "Pass By" for each node in the graph, where Max's was something completely different. This wasn't the worst thing in the world, because the Floyd's algorithm problem on Max's final was explicit in exactly what it wanted (shortest paths of every node to every node where the maximum number of edges on each path is 2). However, the sentiment is the same. Something related to this point is that Max's section did not cover shortest path algorithm, but covered bucket sort where Justin didn't... for some reason... Alright, now it's time for exams. Simply put, these exams were very experimental, and they did not work with Justin's grade weights of 1/6 homework, 1/6 per semester exam, and 1/3 final. The first exam was structured very similarly to a Justin exam, except with a Leetcode easy at the end. Oddly enough, this was the only exam I got an A on, despite the fact that I'm typically horrendous at Leetcode. Regardless, people were vocal about despising it, so Max changed the exam structure entirely for the following exams. Each of the following exams had a few Justin-style "run through the algorithm" questions, but were majorly based on more theoretical questions which I turned out to be terrible at. Exam 2 had 30% of its score determined by 6 multiple choice questions, and some of the questions were poorly written and/or relied on knowing niche facts before you could even come close to a valid response. Exam 3 was mostly fine, but two questions in particular emphasized memory, which isn't something we really practiced in class in any capacity. The final was mostly fine, but a few of the questions were weighted a crazy amount, and there were a fair amount of gotchas with small, but significant point reductions throughout the exam. I did not clutch up on the final, and I screwed up so much compared to how I wanted to do that I only qualified for an A- with a small unknown curve. I'll take it, but at the same time I wanted to do better in this course, but I didn't know how to prepare for the exams. I'll accept that this is a pretty big skill issue, since the exam distributions throughout the semester were honestly pretty high for both professors (Justin's were typically a few points higher on the mean, with exam 3 having an 8 percent mean disparity, but Max's averages weren't bad). However, I also don't think this class structure was setting most people up for success, and it didn't seem that we were given much leeway while Max was figuring out what he wanted his exams to be like. It's honestly a shame, because I can see what Max was going for with the exams. But they simply don't work with the grade weights we were given, and after exam 1, they were mostly independent from Justin's homework which we had to do throughout the semester. I'm conflicted. I want to give Max a higher rating, because I genuinely believe that this class wasn't designed to hurt the students. Max may have some amount of arrogance or whatever, but he is genuinely willing to hear you out on issues you may have, especially if you have valid points when it comes to regrades (personal experience). However, what keeps my rating low is that this run of CMSC351 was just rough. I feel like a lot of decisions were made just to be made, rather than for the benefit of the students. In a sense, it was almost like taking two different algorithms classes in the same semester. For homeworks, we had to be good at Justin-style questions, which tended to be very specific in what they were asking and the answers they wanted. For exams, we had to be good at Max-style questions, which tended to be far more vague and/or theoretical, but the answers they expected were still very specific. It was very tiring.
Maksym Morawski
CMSC351

Expecting an F
Anonymous
05/23/2024
Funny guy. Was "co teaching" with Justin. We had the same homework as Justin. However, instead of making the exams have a connection to the homework, like Justin's exams, Max wanted to be different the entire semester, resulting in lower exam averages, especially comparing to Justin students.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/22/2024
his exams are so unrelated to lecture materials
Maksym Morawski
CMSC351

Expecting a B+
Anonymous
05/22/2024
Max is a really nice guy but he's a terrible professor and tries to make up for it by trying to seem like our friend. He seems really smart but can't articulate ideas properly. Multiple times, he would try to lecture on a topic, forget/not know how to explain, and then just say forget about it it's not on the exam or to refer to Justin's notes. After the first exam, I stopped going to class altogether because it was completely useless. Furthermore, his handwriting and lecture notes are terrible and therefore impossible to follow. Ultimately, you end up reading Justin's notes to teach yourself all the material. This class was supposed to be cotaught so this shouldn't be an issue. However, despite Max's inability to teach, he wants to be quirky and ask us questions that are not reflective of the material we learn all semester. Though the class is cotaught, the only similarities between Justin and Max are the homeworks, which are common between the two. The problem here is that Max makes his own exams despite using Justin's homework but doesn't give us proper practice so you can't really prepare for Max exams when you are studying. All these issues led to a massive grade discrepancy on each of the midterms between Justin and Max(totaled to about -7-8% of ur final grade if you took Max). He did not release his final averages so I can't really say too much about that but throughout the semester, it was blatant how unfair the class was and how unreceptive Max was overall. This would all be ok if Max decided to account for this discrepancy when setting grade cutoffs at the end of the semester to "equalize" a class that is cotaught and should be equalized regardless. However, Max being max dropped grade cutoffs by about 2% meaning that you were at about a 5-6% disadvantage if you took Max vs Justin. Max is a nice guy but do not take him for any class if you care for your GPA at all
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/22/2024
Max is a fine professor, might not be the best lecturer but his exams are definitely not as hard as people are making it seem. If you studied the course content throughly you would likely come up across some of the stuff we were tested on. most of the people complaining didnt show up to lecture (where he literally gives out exam answers if your paying attention) or try to talk to him personally which is not hard to do because hes a cool guy. he actively goes out of his way to help students that are struggling including me at the beginning of the semester, 351 is a hard class, but the amount of people complaining this semester wouldn't peak at 25% in kruskal let alone pass
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/22/2024
Max is a good professor, yes his exams are hard to study for but if you throughly study the course content you will be fine on the exams and they likely become questions you think about. 351 is difficult class, I would not say he is the best lecturer but he goes out of his way to aid students that are struggling and guides you in the right direction if you are struggling. Half the people complaining did not go to lecture regularly (where he literally gives out some of the exam answers if you pay attention) or speak to him personally which is not hard to do because he is a cool dude. If these kids had kruskal they might not even hit 30% let alone pass
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/22/2024
He's not the most organized lecturer but he cares more about your understanding of the material than your memorization of trivial items. I really liked his exams because in order to do well on them, you had to actually fully understand the material, and not just regurgitate a formula memorized in class. The leetcode question that other people are referring to is a question Max gave us very fair warning about (he basically told us it would be a DP leetcode easy) of which there are only a few. So if you practiced those beforehand (or even tried to figure it out on the exam), you likely would have gotten it. Overall his exams really made you think hard about the content that you learned, which is arguably more valuable of a skill than, say, memorizing time complexities without understanding WHY they are what they are. This guy gets too much hate.
Maksym Morawski
CMSC351

Expecting a C
Anonymous
05/22/2024
Beautifully chaotic class. Lectures aren't too great for learning and is honestly more worth to study off of Justin's op notes, but I will say Max's lectures have a very inclusive feel with his quirky and funny personality. Records lectures but you need to email him for it to promote more people coming to class. This semester, despite co-teaching Justin's class, Max decided to do his own thing. This includes straight up teaching a few different material than Justin, even teaching one concept his own way that is required for the exam, and creating completely different exams which were noticably more difficult to study for. His first exam had a leetcode problem that was told in advance to only those attending his lectures, his second one had a large proportion of your grade in a few mc questions, and his third one was half straightforward do the algorithm types of questions while the other half were difficult conceptual questions. The third exams format was the same style as the final, which was really well written in a way that actually makes you think. Tldr: Take this class if you are low-key a masochist and like more challenging exams that are less on regurgitating info and more conceptual thinking.
Elizabeth Qiu
CMSC351

Anonymous
05/22/2024
Bad TA who rips students that hold any views other than what the instructors demand. Non-receptive to student feedback and reports students to the instructor that raise concerns about the class.
Elizabeth Qiu
CMSC351

Anonymous
05/22/2024
She got upset by a student's Piazza posts criticizing the class discrepancies. Then, wrote up an entire document of posts and reported it to the instructor. Hence, she does the opposite of advocate for the students.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/21/2024
A class of all time. As the below reviews have already said, his teaching is basically him reading off of Justin's notes (not it). His tests are well ... interesting? They're definitely the most unique tests I've ever seen and are way more conceptual. People did get very annoyed at his first test due to a certain question, and he changed his future tests to account for that. Still, I found the class, in general, to just be so stressful due to the fact that the tests are 5/6 of your grade. He is sometimes funny during lectures, but also half the time it comes off as sorta egoish (as the below reviews also say).
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/21/2024
Made 351 so easy. Love this guy
Justin Wyss-Gallifent
CMSC351

Anonymous
05/20/2024
Great lecturer, homeworks are really good often taking 2-4 hours a week depending on complexity. Exams are good, but with no leniency (not in terms of grading) which if you mess up a bit, your grade will take a hit. I am taking away a star for the way hes making a TA (Elizabeth) hold a lot of weight to the class often working tirelessly to help everyone.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/20/2024
Don't listen to the reviews down below, people are over exaggerating how bad Max is. In actual honesty, max on the outside may be seen as tough due to the nature of the problems he gives on the exam, but on the inside, he's someone who deeply cares about making sure you truly understand the material taught in class by asking you questions which requires you to think deeply about the properties of the algos we learned in class. In terms of my performance, I skipped a lot of classes and procrastinated at the last minute for the majority of the class so that didn't help in terms of my grade but I currently don't know there is a curve so my grade could be higher. However, in terms of teaching he's decent for the most part except for the fact that he basically banks on Justin's lectures/HWs. In terms of exams, the content was split into 40 - 50 percent "Justin'' style problems which are just performing the algo such as run one iteration of quick sort, run prims, etc which are basically free points and the rest were conceptual problems which test how well you actually understand the algos. Overall, Max is fine and definitely not as bad as people make him out to be and if I wasn't a major dumbass, I could've done better overall.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/20/2024
Don't listen to the reviews down below, people are over exaggerating how bad Max is. In actual honesty, max on the outside may be seen as tough due to the nature of the problems he gives on the exam, but on the inside, he's someone who deeply cares about making sure you truly understand the material taught in class by asking you questions which requires you to think deeply about the properties of the algos we learned in class. In terms of my performance, I skipped a lot of classes and procrastinated last minute for majority of the class so that didn't help in terms of my grade but I currently dont know there is a curve so my grade could be higher. However, in terms of teaching he's decent for the most part except for the fact that he basically banks of Justin's lectures/HWs. In terms of exams, the content was split into 40 - 50 percent "Justin" style problems which is just performing the algo such as run one iteration of quick sort, run prims, etc which are basically free points and the rest were conceptual problems which test how well you actually understand the algos. Overall, Max is fine and definitely not as bad as people make him out to be and if I wasn't a major dumbass, I could've done better overall.
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
05/20/2024
Hands down the best at UMD. Yes, his exams are hard, but you learn a lot. He's organized and genuinely cares about his students.
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
05/20/2024
Wanted to give a 4 but as a professor, definitely worth 5 stars based off teaching ability and personality. Nice guy, can teach topics extremely well. Why did I want to give a 4? He is not very forgiving for things like homework extensions. you could be dealing with medical/hospital issues but justin still wont give an extension on the homework (true story).
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/20/2024
His exams are fairish (they are a lot more conceptual than other exams so you cannot just memorize the algorithm and do well, need to think), but only take the class with him if you know you can learn the material on your own. Bad lecturer and he seems like a friendly person, but you will eventually realize its a facade. Things to take note of that happened with him this semester: impossible question on the makeup for exam 1s (seemed like something went wrong in their exam making process, so prob won't happen again, but still good to know), often told students to go to the other professor's lecture if they didn't enjoy his, would mostly learn most of the stuff he was teaching during class (this wasn't as bad as it was in 250), not very passionate for the material. He did make some improvements since when he taught CMSC250, but still not good. I learned more from Justin's notes than his lectures. Honestly if he wasn't a bad lecturer and very arrogant/egotistical then I would've probably given him a high rating. I liked his exams.
Maksym Morawski
CMSC351

Expecting a C
Anonymous
05/20/2024
He is a pretty unexperienced funny lecturer. Max took all the material from the main lecturer (Justin) and then proceeded to explain it in the way that he wanted, which was kind of sloppy at times. For instance, he would end class early because he considered there was nothing else to talk about (even though Justin's notes contained more material), he would have one of the worst handwriting I've ever seen, which did not make things easier (no offense), and he would run out of battery on his iPad in multiple occasions, interrupting the flow of the class. He would also talk about hypothetical scenarios in algorithms that he would just love to put on his exams, which ended up being more ambiguous than Justin's, leading to a lower average in every single one of his exams. The Piazza went crazy multiple times just because of his methods and the kind of questions that he would put on his exams. Now, from a personal perspective, this was one of the hardest CS classes that I've taken. I just felt that no matter how much I studied for each exam, there would just be this set of questions that you would just not be prepared for, which was really frustrating. You would have the same homeworks as Justin's section, which saved my grade because I did really well on those, but they barely correlate with what you need to be prepared for in the exams (Which is 83% of your grade!!!). I ended up just barely passing the class despite having solid A's and B's in all my other classes and allocating significantly more time to this class. This professor was just not for me, and I really tried to be as objective as possible here, as I see a lot of the reviews are just so emotionally charged.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/20/2024
He doesn't show up to lectures lots of times for unknown reasons and even if he does, he has screwed up many times to the point of confusion. Also doesn't teach content thoroughly enough for his unreasonably difficult exams. I have put a lot of effort into this class and still felt like I fell entirely behind in his exams. For the final, he taught a different algorithm method from Justin, whom he was supposed to CO-TEACH with, as well as added multiple different algorithms from Justin. At that point, bro didn't even co-teach, and he made this decision in the middle of the semester which was very stressful. I am very grateful for the TAs in this class: I don't think I could've passed without them, but I can't help but think that the TAs in this class would be less stressed if Max was more organized. He's also lowkey annoying and arrogant. If there was one good thing, it's nice that he put an emphasis on the conceptual aspect of this class, but this barely trumps all his downsides.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/20/2024
steer SO fucking far away from this professor. like i mean run the other way if he even walks by you. this man is geniunely the laziest, sleaziest, worst lecturer ever. In my history of being in this university, this is the worst worst worst lecturer by far I have seen and it does not even come close. Cant even make his own homework and you have to do justins homeworks although justin has a completely different question style so his homeworks do not prepare you for the exams whatsoever(the first time you are exposed to his question style is in the exams, how lovely). LITERALLY IF YOU CANT GET ANY OTHER PROFESSOR BUT YOU HAVE TO TAKE HIM THEN DONT TAKE THE CLASS, JUST CALL IT AN L AND TAKE THE CLASS NEXT SEMESTER WITH A DIFFERENT PROFESSOR. i dont know how this man is allowed to work in any institution, hes not a professor hes a JOKE. he deserves -5 stars but unfortunately this isnt an option on planetterp.
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
05/19/2024
A very fair professor and very professional. If you understand the homework and go to office hours you will definitely pass with him at least just make sure to keep up on content and stay engaged in the class. There is no better way than from his notes as he keeps them very professional and clean. A great teacher overall.
Elizabeth Qiu
CMSC351

Anonymous
05/19/2024
I don't even have Justin, but Elizabeth is probably the greatest TA I've ever seen. She answers every piazza question, makes extra material to explain questions and concepts, and has awesome office hours (it would be harder for me to find something she doesn't do). The reviews below already say enough, but really, she is legendary.
Justin Wyss-Gallifent
CMSC351

Anonymous
05/19/2024
Disclaimer: Justin and Max were coteaching this semester, and I had Max. What this amounted to this semester was that homeworks and grade weights were the same, while exams (including the final) and final grade determinations were separate. Also, at this time, I haven't received my final grade, so I will review Max at a later time. However, since Justin determined a pretty good portion of the course, I feel it is appropriate to review him at this time. In terms of the good, it's mostly the lectures and online notes. I had Justin for 250 last spring, and everything's pretty much of a similar quality here. Unlike 250, I didn't go to many of Justin's lectures, but the few I went to were well-delivered and what they needed to be, like they were in 250. The online notes were consistently useful throughout the entire course. I highly recommend anyone in 351, or even anyone just interested in learning elementary algorithms, to read his notes. The homeworks were honestly quite tedious this semester. Way more than in 250, these felt designed to be easy to grade over being well-designed. We had to use the templates for each homework, which isn't an issue on its own. However, specifically for open-ended responses, this could create a lot of space constraint issues we wouldn't otherwise have, which is difficult to deal with when the answers the rubrics want are so specific sometimes. It was an issue throughout the semester not knowing what was being looked for, and I think visuals would have been a good supplement for some of my answers, but I mostly avoided them because of the space constraints. Also, the proofs could get really tedious sometimes, especially in the second half of the course. And it's been echoed by the professors and TA's that we didn't need to prove too rigorously, but given that I have a poor foundation in proofs, it never seemed enough to be succinct because I might miss an edge case or something. So I just yapped (logically) to try and cover all my bases, which must have been miserable to grade. The grade weights are... not favorable. It's unlikely to change in the near future, so you're likely seeing 1/6 homeworks, 1/6 per exam (3 exams), and 1/3 final. This can make the class unnecessarily stressful sometimes, and the only compensation is that Justin's exam averages are pretty high all things considered. This isn't too new to me, since similar weights were used for 250 last spring. I didn't like it much then, and here it's even worse, since much less partial credit is given. Actually, more partial credit was pushed for this semester in all sections, and it still felt stingy due to how much assignments are weighted. My main problem with the way this course was run is that I don't feel that I got much out of it. Of all the undergrad CS courses I've taken so far, this one seemed to be the least useful, which is very surprising. CMSC132 may have spent too much time being "Java 2, the class," but when it got into data structures with a dash of concurrency and algorithms, it served as a very useful foundation. CMSC216 served as my introduction to low level programming as a whole, being my gateway into data representation in memory, assembly, and system calls. CMSC250 was a flawed, but still reasonable introduction into logic and proofs, with a hint of combinatorics and probability which I don't think were taught particularly well, but they were there. CMSC330 served as my introduction to functional programming and programming language theory, which fueled my love of programming languages I currently have (particularly functional programming). All of these classes had their own flaws, but I can say with certainty that I got something out of each one. Meanwhile, I don't think I got much from this class as a whole. Unlike the content in CMSC250, I believe algorithms, at least in an undergrad computer science perspective, really needs a computational supplement to really be useful outside of the academic context. As it stands, this class serves as a fairly shallow overview of some of the major algorithms in computer science, and doesn't really serve to go much beyond the few things my 132 class did have (I heard it's even less favorable for the people who had Fawzi, as apparently he had students drilled on the major topics in this course). We mainly covered sorts for far too long, which I understand is a 351-wide issue, but we didn't go as in-depth into the sorts to make how long we took on them worth it. Time complexity was heavily emphasized, but space complexity was mostly ignored, and caveats to the big Theta runtimes of algorithms mostly seemed handwaved away. Most importantly, I don't feel very equipped to use the material from this class in a meaningful way. I don't feel equipped to use, modify, or create algorithms from this class because everything felt so shallow, which is a shame because I came into this class knowing I was terrible at algorithms. I'm making these arguments knowing that I'm biased because I grinded LeetCode last summer (which I'm still terrible at), and I'm trying to put aside my biases when making these arguments. But truthfully, everything there is to gain from this course is in Justin's notes, which I did not feel the same way about 250 (not because those notes were bad, but because the skills we were intended to gain from that class needed to be practiced, whereas 351 you can get most of the content with a halfway decent overview of the algorithms). Overall, my score is middling. Justin is a great lecturer, and his notes are fantastic. However, I don't think that the course structure or content are anything to write home about.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/19/2024
Ignore all these 1 star reviews, they’re probably the students that were complaining and causing drama in the course Piazza. Max is a great guy that is more personable than almost all the rest of the CS professors combined, with great knowledge about the course topics to boot. Sure, his class wasn’t even 40% as organized as Justin’s class, but what the people in this review section fail to realize is that Max and Justin’s exam averages were pretty similar, Justin’s averages being only 2% higher at most. The only discrepancy in this is exam 3, where which there was an 8% difference in averages, but I feel that Max recognized this and made the final exam a bit easier and more fair to compensate. Most of these reviews are complaining about a singular Leetcode problem on the first exam, which, in all regards, was unfair, but after that point, he swore to not include any more of those types of questions, or even pseudocode questions for that matter. Max’s exams are different, in the sense that they test a lot on how well you can dissect a concept and see if you really understand it, which I think is a much better way of getting students to learn the content, as opposed to mindlessly doing problems as quickly and efficiently as possible. The people that leave reviews complaining about this are missing the point of his exams as a whole.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/17/2024
Max is really disorganized and inexperienced as a lecturer. He frequently makes mistakes during lectures and seemingly doesn’t care about/understand 351 material as well as you’d expect. This makes the class significantly harder than it has to be, so I’d recommend relying on outside sources (such as Justin’s notes for 351) to learn the material. On the plus side, he is one of the more entertaining CS lecturers, his exams actually rely on applying the theory you have learned rather than memorization (some people don’t like this), and he is willing to take feedback. I’d recommend taking a different professor for most classes, but given that he has consistently improved over the two classes I’ve taken with him, he could be much better in the future.
Maksym Morawski
CMSC351

Anonymous
05/17/2024
Steer clear from him if possible. He doesn't teach very well (he ended multiple lectures with "I don't think I taught that right", told us he tried to do the homework and couldn't, and frequently skips problems mid way through because he can't complete them.) His exams are to "show mastery of a topic" but he himself barely scratches the surface while teaching. He doesn't give adequate practice material. He also has a terrible ego.
Justin Wyss-Gallifent
CMSC351

Expecting a B+
Anonymous
05/17/2024
Justin is great at lecturing and compared to my 250 HWs, the 351 HWs were much more reasonable. However, his average the previous semester was too high and he compensated by grading super harshly(with rubrics that were very unclear). In addition, you were expected to know things taught in his 250 class that weren't necessarily taught in all sections. Towards the end of the semester, grading started seeming a lot more fair(could have been more fair grading or maybe I finally figured out what the TAs were looking for. Also his latex notes are awesome. Personally, I think these issues are the departments fault not Justin's and that the department should recognize that people do well in Justin's class because he can teach very well and is more organized than say Kruskal.
Maksym Morawski
CMSC351

Expecting a B+
Anonymous
05/17/2024
I don't get all the complaining. Sure he ain't the best professor in the world and some of tests were a little odd, but not expecting to actually do an algorithm is wild. All these kids complaining are mad they couldn't figure out a question on exam 1 where the answer was just the Fibonacci sequence! It's an algorithms class!
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/17/2024
People will complain about the leetcode question, but his issue was missing lectures in key parts of the semester. Specifically, the last week of school. In a time where student seek last minute help or exam logistics, he went ghost. Lectures were watered down Justin lectures that lacked clarity.
Elizabeth Qiu
CMSC351

Expecting a B-
Anonymous
05/17/2024
The best Head TA I've seen out of any class I've taken so far at UMD, will literally stay up all night before an exam (if she feels) to help students out! Even records full-length videos on questions that the class collectively has!
Justin Wyss-Gallifent
CMSC351

Expecting a B-
Anonymous
05/17/2024
Justin is a very engaging and good lecturer, don't get me wrong, probably one of the best I've seen in the CMSC department. Here are some Pros and Cons of him: Pros: Good lecturer, as mentioned before Engaging, as mentioned before Says curse words every so often (biased since I enjoy lecturers who do that) Interacts with students nicely Handles situations nicely Quick to respond to situations as well (ex. fixing an exam answer key when students said that an answer was wrong) Has his own lecture notes posted on his own website (some UMD link with ~immortal on that link) Cons: Simply put, the big thing about this class is the weight of assignments. There are only two things in the WHOLE class and it's Exams, in which midterms make up 50% of your grade, and the final makes up 33.33% of your grade, with HW being the last 16.67%. It does seem extreme, but there are many tips to not have to think about the weight. In terms of tips, number one, go to OH! The Head TA (assuming she stays, who is Elizabeth) is super good, and so are the rest of the TAs. I personally did not take advantage of OH but if you ever run into trouble, they will help. Number two, take advantage of the sample exams, and I mean TAKE ADVANTAGE OF THEM! A lot of Justin's exams will be SUPER related to the old exams he had, so make sure to look at those. Number three, work with others on the HW. Even though HW isn't a big part of your grade, it still is important and sometimes those questions will pop up on the exam, so make sure to do the HW, even if the class allows 2 to get dropped. Make sure you do it! Lastly, do not underestimate the exams. At first, the class may seem easy as it is stuff from past classes (if you took CMSC131, 132 and know Big-O notation really well) but trust me, you do not want to think that way. That is part of the reason why my expected grade is a B-, and not anything higher. With that said, I highly suggest you go for Justin for 351, and definitely utilize the tips I mention in this post.
Maksym Morawski
CMSC351

Expecting an A-
Anonymous
05/17/2024
Warning: If you're looking at Spring 2024 semester reviews, you're gonna get a lot of bootlickers and people giving dramatic one-star reviews. Unfortunately they became very very vocal during the semester on Piazza and took over the entire class. So be aware when people are going overboard criticizing or praising Max. Some people may not like his personality (not sure how to describe it, it can come off a little cocky), but he's a nice person. The issue is that his class is run like a disaster. Class notes don't get posted for months and they're fairly nonsensical to follow. He clearly makes no effort to prepare for lectures ahead of time; he made a ton of mistakes that caused lectures to contradict each other and cause a bunch of confusion unnecessarily. To add insult to injury, his UNDERGRADUATE teaching assistant taught better than him when he was absent. There were also some serious incidents involving TAs that got swept under the rug. Two TAs were straight up shit-talking students vocally and there were no repercussions except a "hey, don't talk about that in office hours" from him. The exams asked very vague questions that contradicted lecture material sometimes and oftentimes had multiple possible answers, but only one deemed correct. He also asked some questions about developing algorithms to solve problems. If we're going to get questions like that on exams, homework assignments or lectures should build those skills, as this is an analysis of algorithms course and it's not the main focus. Max has his fans—I think it's great that he tries to build a community with interested students in such a large school. But I think he's emblematic of this UMD CS' institutional failures to provide consistent, quality instruction to undergraduates. That any instructor can exhibit such seemingly acute indifference to the material and helping students succeed is a total embarrassment to this university's claims of supposed high rankings and talented, accessible faculty.
Elizabeth Qiu
CMSC351

Expecting a C-
Anonymous
05/16/2024
Elizabeth was such a great TA! I've never seen a TA put this much effort into helping their students before, but she was always on top of answering question on piazza, and would make videos and long explanations for us all the time. I was always going to piazza to see her response to students with the same questions as me, and it was an enormous help.
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
05/16/2024
Justin is great. However, he is not the infallible professor that many UMD students make him out to be. In my opinion, the standard for CS faculty at UMD is so low in students' minds that any instructor who is competent at their job is deified. I will attempt to write an informative and balanced review, since while many of these reviews are very kind to Justin, several are not very useful to prospective students. Logistics: This semester, Justin assigned a homework assignment on most weeks (11 total this semester). There were three midterms and a final exam. The homework is weighted 1/6th of your overall grade. Each midterm is weighted 1/6th of your overall grade (so 3/6th total) and the final is worth the remaining 2/6th of your grade. We had three 50 minute lectures each week and no discussion sections. Justin drops the lowest 2 homework grades. He has said that the course will only be curved if the overall class average is <75%. He says this has never happened. Pros: - Justin has LaTeX notes for the course posted on his website. These are very comprehensive and are a handy study resource. Sometimes, they are overly verbose. My impression is that Justin is very focused on being as accurate as possible, which is good, but can lead to him making things more complicated than they need to be for the sake of being thorough. - The homework assignments are usually well-aligned with what is tested on exams and are useful for learning the content. They do not feel like busy work. - He maintains a solid and professional team of TAs who are very responsive to questions on Piazza. I did not go to office hours much so I cannot speak to that aspect. Cons: - There is very little room for error in exam grades. On some questions, Justin/TAs are stingy about partial credit. This can result in a small number of incorrect answers lowering your exam grade by a bit more than what feels reasonable. Since each exam is weighted pretty heavily, poor performance on one exam can also tank your grade for the whole semester. - Justin specifically told us at the beginning of this semester that he believes grades in CMSC351 have been too high historically and is actively trying to make the exams harder/grades lower. - I personally did not find his lectures very useful because he tends to start explaining concepts in a very mathematical way that does not click for me. I need to first understand a high-level explanation of an algorithm before I can begin to comprehend its time complexity, pseudocode, pros, cons, etc, and he tends to jump right into things quite in depth. This might just be a matter of personal preference, as I know others who enjoy his lectures. He does not record lectures for personal reasons. Advice: - Unless there are new instructors for CMSC351, Justin is probably your best bet for the near future for this course. - Keep up with the course content as it moves quickly. If you miss a lecture, read the online notes for the topic that was covered. Make sure you do the homework assignments by yourself. They are very useful for learning the content and performing well on exams. Start them early as they are time-consuming. - Study vigorously for exams. Often, classes will either require a lot of memorization or deep understanding of concepts. This course requires both. Do not become complacent because you've heard so many good things about Justin and assume that you will breeze through the class. You will still have to work hard.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/16/2024
Max's lectures and notes often feel messy and incomplete in comparison to Justin's. I started off going to his lectures, and for simple topics, his lectures suffice. But for exams and most of the course material, you have to rely on Justin. My biggest grievance was like most students: from what I've gathered Max's exams were disproportionately harder than Justin's. I understand that most classes have professors who do things completely differently, but when you establish that you're co-teaching with him, I expect similarities whether it comes to exam difficulty, the method of the algorithms, notes, etc. He really wants you to understand the content on a deep level which I appreciate, but the exams punish you if you can't, and since this class is co-taught, it is kind of frustrating to hear when the neighboring professor's students are getting easier A's. Regardless though, a B and above is possible if you really grind so don't be discouraged if you're stuck with him.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/15/2024
His lectures are mid but the complaining is overblown. It just looks bad when he's being compared to Justin, but I would highly advise attending Justin's lectures instead if he's coteaching, because his teaching is hard to follow and the notes he releases are really confusing.
Maksym Morawski
CMSC351

Expecting a C+
Anonymous
05/15/2024
Took him S24, when he co-taught with Justin. So here’s the deal: Max is nice, and he’s a decent lecturer. TAs being rough graders probably happens every semester, and it sucked However: - His exams have been wildly inconsistent in question style and point distribution, but overall the questions were weirdly phrased and not the kind we dealt with on the HW. The rubrics for the questions were not student-friendly. Be prepared to argue on gradescope. - He almost got every ADS student’s final cancelled because he forgot to confirm it on time, which led to all of us scrambling over the weekend. He also once submitted an exam so late that ADS printed the previous exam and had to delay our testing by half an hour to get the right one. - The material didn’t line up with what his co-prof taught, he didn’t record, and his notes were worthless. TLDR: funny and a good person, decent lecturer, but not good at the other aspects of being a professor.
Maksym Morawski
CMSC351

Anonymous
05/15/2024
Class is so disorganized and he makes his exams harder for zero reason. Avoid taking him
Maksym Morawski
CMSC351

Expecting an A+
Anonymous
05/15/2024
you don't have to actually go to class. read the justin notes and then go to his class for the review sessions. he actually hands out the questions at the review sessions. learn the material well - not just surface well, actually know how everything works. AND PLEASE GO TO THE REVIEW SESSIONS. you will most likely get at least a B by just paying attention and understanding everything that he talks about in the review session.
Maksym Morawski
CMSC351

Expecting an A-
Anonymous
05/15/2024
I honestly think he's quite a decent professor. He makes sure that you 'understand' and not memorize. Obviously the gears didn't perfectly align as he co-taught this course with Justin and some misalignment was bound to happen. But other than that, fair exams, fair homework, and fair lectures.
Maksym Morawski
CMSC351

Anonymous
05/15/2024
Do not take Max if you can. This semester was co-taught with Justin. Sounds good, right? Well Max uses Justin's lecture notes which is fine - even if he always (and I mean always) made some mistakes in lecture. We also used Justin's homeworks, so everything seems to be great, right? Well in this class where the exams make up pretty much your entire grade, for some reason Max has decided that this is the one part of the course he wants to be original with. We get next to no preparation on the exams because all our homeworks are Justin's homeworks and while Justin generously gives his students previous semester exams to go back on and study with solutions attached, Max gave out nothing for the first exam, one practice with no solutions for exam 2 and 3, and only a review sheet for the final. It's not that I think Justin should scale back or that I'm not grateful that Max gave out at least something. It's the fact that Max's teaching does not prepare you for his exams. We learned additional topics and a different algorithm for Floyd's than Justin's class, yet the homeworks did not cover this because we were taking Justin's homeworks, and Max only uploads like half of his lecture notes for some reason. Not that his lecture notes help that much in the first place, when I look at his lecture notes I have to go and cross-reference Justin's notes if I can because Max teaches from Justin's notes most the time, yet his notes do not have in mind the fact that 90% of the things he writes is lost when reviewing them outside of lecture. I do not understand why Max insists on co-teaching with Justin just to give unique exams. Max could've improved by realizing that it was probably detrimental to his students in create a separate exam from Justin for this semester at least. At the very least he could've put more effort into mirroring the amount of review material Justin gives, but I guess Max can do whatever he wants since at the end of the day, it is still his class. Even on the final exam Justin was very organized and gave his class the exact topics and weightings of said final exam questions, while Max on piazza said that the exam questions were "chosen from a grab bag of the topics we've covered." and that's pretty much all that we were given. I highly suggest you avoid this class with Max at all costs, or at least until Max shows improvement in understanding how to build good exams and prepare his students to excel on the exams instead of creating obscure exam questions which he thinks are interesting and expects us to do during a timed test. If you end up taking this class with Max, you will only be having a harder time. For people who do end up taking this class, whether by choice or by force, please be nice on Piazza, especially to the TA's. The TA's were here to help us do well and tried their best (remember that they are also students), yet they ended up taking most of the criticism this semester. The TA's already relayed the criticisms to the Professors, so reiterating the same critiques to the TA's did nothing and just caused more frustrations on their end. This also ended up cross contaminating with the 330 piazza which is just ultimately not ok. Max seemed to be very stubborn with how he taught the course so just save the TA's (and your time since complaining on piazza resulted in 0 change) some time and email the professor or talk to them on OH if you can.
Maksym Morawski
CMSC351

Expecting a B+
Anonymous
05/15/2024
The "coteaching" was nonexistent, but I don't think that was bad. Max teaches you a much more intuition-based course than Justin, and consequently, it's much harder to study for, which people complain about. The only thing they shared was homework, and because Max teaches differently than Justin, this certainly led to issues and reading Justin's notes to understand a question. Other than that, I enjoyed his class. The exams were fair but difficult, and it felt like they tested my knowledge rather than inane details of the algorithms. Overall, I think Max's class is more useful in the long term because you will remember most of what he taught you, as they are vibes rather than precise answers. Also, the Piazza was great (shoutout to Elizabeth and her quick answers).
Elizabeth Qiu
CMSC351

Anonymous
05/14/2024
Top tier amongst TA's and people in the CS department in general. She basically single-handedly carried the Piazza and would respond within minutes to pretty much everything. She would always go out of her way to provide nice in-depth explanations of concepts and clear up any doubts you have no matter what it was. The only person that might care more about your success is your own mother and even then, Elizabeth might still care more, she's just that good
Elizabeth Qiu
CMSC351

Expecting a B+
Anonymous
05/14/2024
Awesome TA and even better person. A gem in the CS department!
Elizabeth Qiu
CMSC351

Expecting a B
Anonymous
05/13/2024
Answered literally every piazza question even throughout finals week. The GOAT fr.
Maksym Morawski
CMSC351

Expecting a B+
Anonymous
05/13/2024
Did not clarify an entire approach to an algorithm the day before the final exam. Take the other professor!
Maksym Morawski
CMSC351

Expecting a C+
Anonymous
05/12/2024
He's definitely pretty bad as far as this class goes but I do feel most people are extra whiny when it comes to his class. Yes, he is a subpar lecturer in terms of his depth of knowledge on the topics and he usually goes to Justin's lecture and would attempt to replicate everything Justin did in his class but unsuccessfully. Yes, his exams are wildly inconsistent and generally more difficult than Justins (who's aren't, let's be real) who he co-taught with. However, part of the difficulty of the exams are because the HW's are all Justin's style and they don't prepare you for Max style exams. Now idk if this is his fault and if he even has the ability to interject and make sweeping changes to something like the HW but if the HW's were a little more theoretical than his exams would be easier. I had him for 250 and that class was a lot easier and smooth because you could usually redo the homework's for good exam practice. And of course, most people will cry about the infamous leetcode question that appeared on exam 1. There was enough outrage that the question ended up getting curved off and any points you got from it would be bonus points. His exams in general are very theoretical and don't allow you to rely on memorizing patterns of algorithms, unlike Justin who like any math teacher will simply change the numbers and give you the exact same problem again for an exam. I feel as though part of the issues are just the class structure because Max was fine for 250 when he could do everything his way. Frankly most professors will seem terrible when they have to stand next to Justin and teach the same class so it's not all his fault but still, he has his issues and I'd recommend to avoid
Maksym Morawski
CMSC351

Expecting a C+
Anonymous
05/12/2024
Max is a very engaging professor who loves to crack jokes and is more of a casual professor than a professional professor, he's just a guy. This could be a hit or miss for some but for me personally, I liked it as it made me take the class more as a sport than a super stressful life-changing course if that makes sense. I know some people are giving him loads of backlash about difficulty or disorganization but I feel that when he was co-teaching with Kruskal it shifted his perspectives a bit, so you have to wiggle around that. Pros, Cons, Subjectives !! I put a * next to the important parts which heavily impacted my experience. !! Pros: - Very down to earth. * - The TAs are very good! They care (shoutout to Elizabeth Qiu) and are on our side for success. She even made a Spotify playlist for studying. * - Tells you what will be on the exam quite literally. - As much as it doesn't seem so, he does listen to student feedback. There was a type of question most students disliked and Max has vowed never to give a question like that again. As of today before the final, he has not given us a question like that. - In addition to student feedback, he also interacts with his students. One of the students made a drawing of Max, and that is now his piazza profile picture. * - If you are into his more casual style, he likes to crack jokes or give some experience - Responsive via piazza, and also pretty interactive there. - If he did a really bad job explaining a topic in lecture and you were unfortunate enough to be in there, Max will acknowledge this and put out a recording of the following class which he hopes is much more clear. THIS ADDS A POINT: IF YOU TAKE MAX AND THERE IS ANOTHER SECTION WHICH TAKES PLACE AT A LATER TIME, TAKE IT! THE FIRST LECTURE MAX TEACHES IS PRONE TO MORE MISTAKES! Cons: * - As others said, he is very disorganized, he is still new at teaching the course. * - If you are not into his more casual style, then you may not like him very much (or at all, he can talk a lot) - Sometimes do not post notes, and no recordings unless you are sick. If you were to miss a topic, you will self-teach yourself (Abdul Bari is goated) - Sometimes a review sheet is put out, but there won't be solutions, and students are forced to make an unofficial solutions page. - Sometimes misses his lectures and a TA teaches the lecture. Luckily, the TAs are very good! (Shoutout to Elizabeth and Lana). * - I will say this again: IF YOU TAKE MAX AND THERE IS ANOTHER SECTION WHICH TAKES PLACE AT A LATER TIME, TAKE IT! THE FIRST LECTURE MAX TEACHES IS PRONE TO MORE MISTAKES! Subjective: * - While Max is very disorganized if you were to attend the lectures then everything seems to make sense. You are punished for not going to his lecture, especially since with the point that he tells you what is in the exam in terms of the layout, and the questions it will ask, you are missing quite a lot. I encourage you to go to lecture. It is very beneficial. * - Exams can be very hard. I was able to get good marks on exams 2 and 3 (95%>) but failed the first exam, like bombed, destroyed, so it averages out to a C+. The first exam was on the unfair side I feel (and so did everyone else, peep the reviews from 2024) and additionally the TAs had to convince Max to not put a couple more insanely hard questions. However, for the rest of the exams, Max tries to change it up to favor us. On exam 2, there were multiple choice which tank your grade if you got just a couple wrong so in exam 3, he avoided this by giving us more small questions that gave partial even if you were not fully right. This goes towards the pro I mentioned where he listens to feedback. * - In addition, I felt the exams were fair. THE WAY MAX MAKES HIS EXAM IS MORE THAN MEMORIZATION (Apart from master theorem)! Max loves conceptual questions so you must understand how and why something works instead of memorizing how to do something. I eventually learned how to think this way, but others won't be as fortunate. * - Homework can be a pain because sometimes the stuff on the homework has not been taught because for us the homework was made by Justin. I don't know how this will go when Max starts teaching it fully by himself. Find a homework group! It makes homework very doable. - No discussion personally was a plus, but I know others prefer having discussion to discuss topics more. - Max is a swiftie. I don't know if this is important but probably worth putting. - The students will complain a lot (mainly exams), and for good reasons too. However, sometimes I see people justifying their bad grades from it when really the exams are pretty alright. Max and is way of exams just may be different than what we're used to. * - Yes, Max likes to tell us to look at Justin's notes but only because due to his disorganization, he wants us to look at more material. Additionally, he is relearning everything also which is why he encourages it as well, just so we get correct information. This could be bad for some as it may seem like a waste of time to go to a lecture. I was going to give 3 stars but I am giving 4 stars because I don't think we gave him a fair chance. He is trying his best and he adjusts the exams more in our favor, but designs his exams so that cramming is not beneficial. He also gives reviews, and good reviews too personally. He and his TAs take the time to give videos and exam logistics. I appreciate Max and his TAs for doing their best. The winning aspect for me is Max feels more human. He is not professional by all means but for me that made my experience much more enjoyable (but I know most may not like this). You have to get used to his exams and his teaching style (and accept that he will be messy and disorganized).
Elizabeth Qiu
CMSC351

Anonymous
05/11/2024
Best TA in the world, 351 did not deserve her and the amount of work she puts in.
Elizabeth Qiu
CMSC351

Anonymous
05/08/2024
Single-handedly saving our GPAs in CMSC351, she's so cool.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/08/2024
Not the best when it comes to fair exams (compared to Justin, for example) but I did enjoy some of his lectures. Super fun to listen to about topics that he's interested in and his exams are, while grade-destroying, very interesting to look at in hindsight. It really forces you to understand the algorithms beyond memory, at least. He's a generally understanding guy though - if you talk to him about your concerns, he'll hear you out and give good advice on what to do and how to change what your current study methods are. TLDR: Take Max if you really want to be pushed beyond just understanding algorithms, but don't expect fair exams or clear/concise lectures.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/07/2024
I started the semester liking Max as he seemed down-to-earth and funny. However, he quickly became arrogant and rude towards his students in a matter of weeks. He has made many jokes about how his exams are hard and he thinks it's funny that we are stressed as a result. I also went into his office hours to talk about my grade and he was super unwelcoming, basically rushing me to leave his office. Max puts little to no effort into this class as Justin prepares all lecture material and homeworks for him. He would often forget how to do something or explain a topic so badly that he had to pause class to reference Justin's notes. A few times, he even had to re-explain the topics during the next lecture. The one thing Max did do was write his own exams, which contained extremely hard questions and were pretty unfair based on the fact that Max students only had Justin type questions to practice with. (Justin would also give out 3-5 practice exams per midterm, while Max students would be lucky to receive a sloppy, last-minute thrown-together practice) He has set up this class so it is extremely hard to get higher than a B-. It feels like every assignment has been graded subjectively, where graders are looking for any reason to take points from students. Max has also made it so that many of the homework and exam questions are graded all-or-nothing style with zero hope for regrades. Based on the fact that 83.3% of your grade in this course is based off of exams, exams are made based on what Max is feeling at the moment with little practice provided, and homeworks are graded as harshly as exams, Max does not have his students best interests at heart. DO NOT TAKE HIM!!!!!
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/07/2024
Asks vague open ended questions on exams and expects you to think exactly like him. Consistently have to regrade request +10% points on every exam, you better pray your grader is having a good day.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/07/2024
In theory Max's class should create a better learning environment because he prioritizes actually understanding the concepts at a deeper level rather then just being able to 're-run' the algorithm on a new set of numbers. However in practice the class is terrible. He is a bad lecturer that gets off topic very often and copies straight from Justins notes. He teaches the same content as Justin and has the same HW, but creates his own exams. This makes it impossible to expect what type of difficult questions we can expect on the exam.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/06/2024
idk why ppl hate on him so much! GOAT. he is someone u can talk to about anything and i get it his exams are hard but he tells u everything thats gonna be on the exam! u just need to attend his lectures thats something u wouldve done even if u had justin so not a big deal. i could be biased but this man is freakin amazing man. take him if u actually wanna learn how to solve problems cuz his exams focus more on how the algorithm performs so one never forgets what they've learned.
Maksym Morawski
CMSC351

Expecting a B+
Anonymous
05/02/2024
- Disorganized - Exams are not hard, but are confusing - questions on exams test for irrelevant and unrelated material - rubric/point system for his exams express that you only need to get the exact answer down. Displaying a 90% understanding in the material results in 0 points. All he does is regurgitate Justin's notes but he can't even do that well as he's always skipping over things. This honestly just show's how he's terrible at his job especially when his peers are significantly better professors.
Maksym Morawski
CMSC351

Expecting a C-
Anonymous
04/30/2024
If you were not able to take Justin, drop the class! Max doesn't even do the bare minimum when teaching, yet he goes out of his way to make exams extremely difficult. He wants to "challenge" you, but the execution is terrible. You go through the entire course reading Justin's notes, doing his homework, and practicing his practice exams, yet somehow you're supposed to understand the nonsense that Max puts on his exams. His exams are nothing like what you've practiced in the homework or practice exams. They're really long and theoretical based, which is basically impossible to do within 90 minutes. If you end up taking him, just know that you are not stupid. 351 is genuinely a hard course and Max just does anything he can to give you a hard time.
Maksym Morawski
CMSC351

Anonymous
04/30/2024
This guy bro. He "coteaches" with Justin, this means Justin does all the teaching and provides the textbook as well as practice exams. Max provided a single practice exam for exam3 and that too without an answer key to study off of. Then when we finally take the exam they give us barely any partial credit (also don't specify to simplify a function then take off points regardless of equivalence) and the questions were completely unrelated to the content we consumed from Justin's notes, which as some of the other reviews also mention Max told us to use and go to Justin's lectures. I honestly have no clue how he's being paid at this point he's farming free money from the university without putting in any effort into teaching or even making the tests. Taking this class with him makes me feel bad about paying my tuition knowing any of it is going to this guy.
Maksym Morawski
CMSC351

Expecting an A-
Anonymous
04/25/2024
I seriously don't understand why Max gets so much hate and rudeness. He's a funny and engaging lecturer who has a lot of experience and down-to-earth advice about the software industry and where 351 fits in. For context, I took 351 with Max in the Spring 24 when he was co-teaching with Justin. Half the piazza posts were Max students complaining that they couldn't be in Justin's class, or just complaining about the TA's, exams, or class in general which really rubbed me the wrong way and I assume most of these reviews were written by the same people. Trying to be as unbiased as possible, here are my pros and cons for Max: Pros - Funny lecturer who will often regain your attention with a well-timed f bomb - Adapts throughout the semester based on students needs (got rid of pseudocode questions on exams) - Him and his TAs are very responsive on piazza (shoutout Elizabeth) - Is very understanding with questions in class - Lots of real world/tech job searching experience (former google employee) - Can be manipulated to give you leniency (his words not mine) Cons - I'd argue that exams are unpredictable, not "hard" like everyone says. I whiffed on his first midterm with a 70 after studying throughout the week then got a 100 on the next with only a couple hours of studying. - Had a little trouble explaining some concepts, seemed a little unprepared to lecture on the day's topic at times P.S. the "leetcode question" people are alluding to in other reviews was to code the fibonacci sequence using dynamic programming, just worded a little differently. Climbing Stairs #70 on leetcode if you want to see how "bad" it was.
Maksym Morawski
CMSC351

Anonymous
04/23/2024
Co-taught with Justin = copying off him and getting things wrong. Takes odd pride in hard exams, acts as if TAs have to hold him back. Take Justin at all costs
Maksym Morawski
CMSC351

Anonymous
04/23/2024
Now if you have to take him, you'll live, but if you have any other options avoid like the plague. He's extremely disorganized, so much so that he doesn't even have a plan of what he's going to teach. Instead he goes to Justin's lectures, takes notes, and regurgitates them to us. He makes it very clear he doesn't know what he's doing. He has even admitted a few times that he didn't know how to solve some of our HW problems. His ego is extremely off-putting, he knows his exams are challenging and that we're not well prepared (both because of the lack of teaching and the lack of any type of practice materials in the format he's looking towards) but he laughs that we're frustrated with him. To put in perspective just how unpredictable his exams can be, he was going to DEDUCT points if we got a true or false question wrong because they're just "free points". I understand his teaching philosophy, rather than memorizing he wants us to understand things conceptually, but he doesn't have the skills to teach like that. I really wanted to like him, he can be funny at times, but most of the time he's just downright distracting and way too arrogant for his teaching style.
Maksym Morawski
CMSC351

Expecting a C
Anonymous
04/21/2024
Constantly changes the exam structures and is very disorganized. Thank god Justin was co-teaching so he posted his notes and stuff which we could use. The 3 midterms we had so far have has 3 totally different structures. Only good thing is for the midterms he gave good hints about what was gonna be asked. For the second and third midterm he made his own study material which helped. Maybe he's getting better as the semester progresses, but my grades are already bad due to having a hard time on what to expect. Hopefully he can improve the course in the future.
Maksym Morawski
CMSC351

Anonymous
04/17/2024
Doesn't show up for lectures multiple times, relies on 1 TA to do everything. Lectures are horrible and puts leetcode coding interview question on the very first exam. WTF dude.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
04/17/2024
Puts a leetcode question on the end of an exam and expects us to know how to do a coding interview for a job instead of mastering the material learned in lecture and in homeworks. TERRIBLE LECTURER!
Maksym Morawski
CMSC351

Expecting an XF
Anonymous
04/15/2024
Amazing professor! The problem was me.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
04/10/2024
I didn't think 351 with Max was very difficult. I got an 84% on the second midterm despite doing ZERO studying ¯\_(ツ)_/¯ (median was 79%). Still, I didn't enjoy this class because of Max's poor lecturing. Max evidently cares little about 351, and this is reflected in his shallow lectures. This class was co-taught with Justin, and while I never attended Justin's lectures, I got the feeling that Max's lectures were simply a watered down, superficial version of Justin's lectures. As a result, I mainly relied on self-studying from Justin's notes. Max still earns 3 stars because he is far from being a terrible professor, although I'm unsure exactly how much of my success is due to the class being co-taught by Justin. Overall, I do recommend Max as a professor. Spring 2024
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
04/09/2024
Professor Justin is very overhyped, he teaches fine but his exams are brutal and he is not considerate at all. I would recommend taking a different 351 professor but going to justins lecture to get the best of both worlds
Elizabeth Qiu
CMSC351

Anonymous
04/09/2024
I don't usually review TAs, but Elizabeth easily stands out as one, if not the best I've ever seen. To say she goes out of her way to help nearly everyone she can is almost an understatement here. She's super helpful and responsive on Piazza, keeps up an astonishing level of communication between both the students and instructors, stays open to feedback at all times and forwards them to the instructors, and is just overall pleasant to interact with. A review like this could never really do her justice. She's awesome, and everyone in the class knows it.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
04/08/2024
All these poor reviews are from people who don't put in the effort this class requires. Max is a chill guy and his exams are more than fair. My only negatives would be that he messes up his notes pretty often and that he has a bit of an ego.
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
04/04/2024
I learned something at UMD; he is the best professor.
Maksym Morawski
CMSC351

Anonymous
03/29/2024
I'd give this guy 0 stars if I could. His exams are insanely hard for no reason. He expects you to memorize every little minute thing that would never be useful in real life and his lectures suck. At least for cmsc351, he is teaching exactly the same content as another professor (Justin)... just worse and his exams are considerably more difficult. In the past for other classes he's tried to raise the grade requirement for the letter grades (as in an A- would be a 91 instead of a 90 and a 90 would be a B, a B- would be an 88 minimum instead of 87, etc.) and the only reason he didn't was because his TAs all organized against him doing it. He made an exam that had like 20 potential questions and his questions were so bad that the TAs ruled out 15 of them for being overly confusing and impossible to understand. He literally advises all of his students to go to the other professor's lectures and "jokes" about how bad of a lecturer he is. He's god awful, I genuinely cannot understate it. This man has singlehandedly caused me an insane amount of stress this semester. DO NOT TAKE HIM.
Elizabeth Qiu
CMSC351

Anonymous
03/28/2024
Elizabeth is the best TA I've ever had. She is organized, responsive, goes out of her way to help students, and so thoughtful. You can tell she really cares about students and their academic success. She is also so chill, approachable, fun to talk to, and explains concepts in just an easy digestable way. 351 is pretty hard this semester and I think I speak for my classmates as well when I say we are SO SO SO lucky that shes a TA. We love you Elizabeth!!!!!
Maksym Morawski
CMSC351

Anonymous
03/14/2024
Max has many issues which keep him from being worth taking at all. His first issue is that he is basically a glorified substitute teacher for the better professor who is Justin Wyss-Gallifent. All Max does is rehash his notes in a worse and confusing manor. He also takes the homeworks directly from Justin, so you begin to wonder what he actually does. Then when the exams come around you find out this is the only reason he wants to teach. He likes to make his exams as difficult and unorthodox as possible. He will put questions that were not remotely covered in class as he teaches the material from Justin's notes word for word and then tests us on questions he personally likes. The other problem is he puts very little effort into it as he just generates the questions using LeetCode then lets his TA's attempt to convince him out of giving some of the terrible questions that are generated. My main issue is that there is no textbook or notes provided from Max to learn how to do these weirder questions that he asks on the exam. Maybe for example if he made his own homework instead of just giving us Justin's, then we would be better prepared for his exams. Due to this 'co-teaching', which is basically copy and paste from Justin, we are prepared for Justin's exams and not Max's exams in the slightest. I would strongly advise against taking him for any class.
Maksym Morawski
CMSC351

Expecting a C+
Anonymous
03/13/2024
He isn't the worst professor in the CS department, but he's close. He has told us multiple times in lectures to review other professors notes, slides, or practice problems because he isn't able to explain or define the topics clearly himself. His exams are made to be tricky and he puts leetcode style questions throughout, making the exam obnoxiously difficult for no good reason. He is a funny and good guy personally, but is very disorganized and hard to follow during lectures. I would advise taking another professor for 351 if possible.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
02/26/2024
Horrible teacher never take him. Bro tells us to attend different professors lectures, read their notes, and then study their practice materials but has the audacity to make his own exams when he's not capable of teaching the course. He should let the big boys like Justin handle the real work next time like making the exams.
Maksym Morawski
CMSC351

Anonymous
02/23/2024
literally a younger version of kruskal. funny and chill, but as the review below says, arrogant and annoying. also very messy and unreliable. bro yaps way too much and tbh i've been going to the TA's to learn the stuff.
Maksym Morawski
CMSC351

Anonymous
02/19/2024
Maksym is funny, but he is a mess of a professor. He's disorganized, chaotic, and EXTREMELY egotistical. Even if he messes up, don't expect an apology from him! I feel bad that everyone is comparing him to Justin but Justin's on a whole different league. Justin kids hit the lottery frfr.
Maksym Morawski
CMSC351

Anonymous
02/16/2024
This is the first Professor and class where I felt exams weren't just based on memorizing information. The first exam taught me more in an hour than all of the other professor's notes all semester. I really like these exams since they set us up to develop problem solving skills in the context of coding/jobs and it's definitely worth it if it costs us a couple points. The only issue I have with this is if the curve is based on both professor's classes, since one class had easier exams. Apart from that Professor Morawski is very good at designing a course meant to actually teach you the concepts and the thought process rather than just regurgitating information that is hand-fed to you.
Elizabeth Qiu
CMSC351

Anonymous
02/16/2024
I had Elizabeth last semester and she helped me out with the homework and studying for exams very often. She was very active on piazza and answered all my questions during OH.
Elizabeth Qiu
CMSC351

Expecting an A+
Anonymous
02/16/2024
OMG THIS GIRL IS A GOAT!!!!! SHE CARRIED ME THROUGH CMSC 351!!!!! THE ONLY REASON I GOT THE GRADE I DID WAS DUE TO HER HELP!!!!! I WISH SHE TA'D FOR OTHER COURSES I LOVE HER
Justin Wyss-Gallifent
CMSC351

Expecting an A+
Anonymous
01/30/2024
He’s known as the GOAT for a reason. Highly recommend any class you can get with him!
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
01/25/2024
GOAT
Clyde Kruskal
CMSC351

Expecting an A-
Anonymous
01/22/2024
Kruskal actually challenged me a lot this past semester (Fall 23), but I feel like I became a better student because of him. His class is challenging, and his lack of administrative intiative is frustrating at times, but he will teach you important concepts, and also concepts that you simply ask him about. His class doesn't spoon feed you, so if you do end up taking him because the other classes are full, how you do is solely based on you. If you work hard, you can do good. If you're just super smart, then it'll be very doable. Many smart students would get 90s or 100s on his exams, when the average was a 50 or 60. Personally, if you just put in the work and study you can score around 1 standard deviation above the average which will get you close or at the A- to A range. A lot of the questions on his exams ask you about certain techniques covered in his lectures and homeworks, others are more creative algorithm questions but if you miss those, it's fine. A lot of people do, and since the class is curved, missing those doesn't kill you. I could go on and on about Kruskal, but to sum it up, he's a smart old computer scientist who can help challenge you to become a better computer scientist. It's possible to do well in his class, you just have to work hard.
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
01/03/2024
amazing professor. this class is supposed to be one of the hardest cs classes, however, justin makes it so manageable. his exams are very fair, homeworks are pretty easy and don't take that long to do (you can work with friends too). i just studied a day or two before each exam and was getting an average of 85% on them, and this was after I completely stopped attending class altogether. i just did his homework and actually understood it, and did the same thing with practice exams. if you feel that you are getting behind or not understanding stuff, go to his lecture. otherwise, no need to attend.
Clyde Kruskal
CMSC351

Expecting a B
Anonymous
12/31/2023
This semester Kruskal has changed. Students call him Lord Kruskal most of the time. Style: attendance is optional. Students watch recorded lectures, take a quiz on GradeScope, and then go to class if they want to discuss and review the topic. You have 8 regular HWs (5%) + 6 NP HWs (regarding NP-Completeness which we study from time to time) (5%) + 31 short quizzes on GradeScope (10%) + 2 midterms (25% each) + non-cumulative final (30%). If a student asks for an extension, he gives an extension for the whole class. One time he extended a HW 3 days that was already extended 4 days just because a student wanted to go to a party on a Friday night. The average was 50 for Mid_1, 60 for Mid_2, and 57 for final. Don't worry, the curve average is B. Organization: At the beginning of each week, he posts a schedule for topics of the week, what recorded lectures to watch, what quizzes to solve, and what deadlines are upcoming. TAs graded HWs at a good pace, around every 3 weeks maybe. We finished the semester with only one NP HW not graded yet. I highly recommend taking 351 with Kruskal.
Herve Franceschi
CMSC351

Expecting an A
Anonymous
12/28/2023
Herve is a very kind professor and goes through a lot of examples in class to help you work through everything. 2/3 exams were very fair and reflected what we had gone over in class, past exams, and the homeworks. However, one exam was unexpectedly hard compared to the practice exams we were given, causing a lot of students' grades to go down. He is very helpful and so are the TAs in office hours, so they will work with you on the homeworks and ensure you understand the concepts. Study and prepare well for the exams because the class grade depends entirely on your exams rather than other assignments.
Justin Wyss-Gallifent
CMSC351

Expecting a C+
Anonymous
12/26/2023
justin is such a good teacher that if i failed his class i would’ve thought it was my fault instead of lashing out of disappointment and blaming him. class by default is hard and some problems on exams you REALLY need to read carefully but if you get this guy for 351 you can pass. started my first exam with a 60 then saw an increase to 75 to 87 and an 80 on my final. seriously great teacher and an average person like me was able to get thru this class cus of him. if you have no choice but to have kruskal good luck, seemed like dudes class was garbage on fire
Justin Wyss-Gallifent
CMSC351

Expecting an A+
Anonymous
12/25/2023
Lectures were a waste of time, especially at 9 am. Homeworks and exams are on the easy side. You can do well by reading the online notes and taking all the practice exams.
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
12/22/2023
Justin legitimately knows how to teach. I have no confidence in math and was dreading 351, because everyone made it out to be impossible. But with Justin, I'd honestly say this class isn't bad at all. His notes are well-organized, his homeworks and exams are fair, his lecture style is clear and concise and well-practiced, and he runs a tight and well-organized class. Usually exams have 1-2 challenge problems that involve proof solving or creative thinking, and the other questions are variations on the homework. He dropped cutoffs by about 1%, even though the course average was high. Excellent instructor, worth the hype.
Justin Wyss-Gallifent
CMSC351

Expecting an A+
Anonymous
12/22/2023
good
Clyde Kruskal
CMSC351

Expecting a C-
frankMiller
12/21/2023
I took CMSC351: Algorithms (requirement CS course) with Clyde Kruskal in Fall 2023 On your journey towards that sweet six-figure SWE FAANG job, you will encounter one of the most notorious bosses - Clyde Kruskal. Is he really as bad as the other reviews make him out to be, you wonder. Surely he can't be that bad? No. Over the years he has just gotten worse, slowly giving up on giving any pretense of actually a decent education. e.g. in Fall 2019 there was a class website, syllabus, practice problems, everything https://www.cs.umd.edu/class/fall2019/cmsc351-201/ In Fall 2023 there wasn't even a syllabus. He will shatter your already low expectations in the other direction and demonstrate that he is even worse. But you probably know all this already. Nobody takes Kruskal willingly. You are only here because you have no choice and you do not want to delay taking CMSC351 to next semester to get a better professor (which you could if you plan it right, but I never did). So here is what actually matters which is advice on how to survive Kruskal / what I would have done differently if I could do it again: - Give up all hope that you will be helped by TAs / Kruskal office hours. TAs will either be very kind and nice but not know anything, or just find it very funny that you are suffering, or not show up. As it is there are not enough TAs for anything. Kruskal used to be helpful in the past apparently (as per previous reviews) but these days is just very snarky and refuses to even give a basic response in the right direction. Sure Kruskal you can't just give me the answer but I would have really appreciated if you just guided me in the right direction otherwise what's the point of coming to your office hours? - Go to lecture the first week, then never again. It is a waste of time. - Take those three hours you free up each week, add three more, and MAKE SURE YOU GRIND HIS ONLINE RECORDINGS LIKE A MANIAC. This is your new religion, make sure you MASTER those videos. - Join the dominant Discord server for the class. - Take the thrice-weekly multiple choice quizzes as an opportunity to make sure you learn from the videos and watch the videos (as he intends you to). Do NOT do something like try to do them at the last minute by coding up the sorting algorithm or asking your friends, the most important thing is that you master the videos. - Your friends in the Discord server are your only resource and hope. Share all your homework answers with them (don't worry it's allowed) and make sure they share with you. If your friends don't want to do that then join another Discord server or find new friends. - Post on Piazza if you want but estimate only a 10% chance of actually getting useful information in return. - If falling behind, ask for an extension on Piazza for whatever (he is generous with that on a whole-class level at least, so be bold and ask). - Religiously practice the homeworks done before each exam. Remember that the exams, including the final, are NOT CUMULATIVE. Kruskal will never clarify the syllabus but it will be based on the practice exam (x1) and the homeworks that immediately precede that particular exam. - Do not worry about your quizzes, they are worthless anyway (0.2% each, lowest dropped). It's a red herring, the biggest fish to fry are the exams (2 midterms, 1 final, all two hours each). - The class is graded on a curve, the median is B- one standard deviation above is cutoff for A (or A- I forgot), one deviation below is the cutoff for passing (getting a C-). The only indicator of your progress the entire semester that you should insist and fight for (everything else give up on) (forget about it, you're not getting that homework graded before the end of the semester) is the statistics for the exams. Ensure that you are within one standard deviation from below for the class to pass. - Accept that 50% is the average. Literally 50%, if that is the median, will get you a B-. I don't know why everyone worries about this, this isn't your Nelson class where you can get a perfect score on every exam. Don't be ashamed, remember the bigger picture. Good luck
Herve Franceschi
CMSC351

Expecting an A-
Anonymous
12/20/2023
Really helpful slides and straightforward exams
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
12/20/2023
If you want to learn content then he’s the best instructor no doubt, but exams are just copy paste from last semester. Pretty uninspiring to learn all the material when you can just learn the past exam material and do well.
Clyde Kruskal
CMSC351

Expecting a B+
Anonymous
12/20/2023
Kruskal is my favorite professor in the CS department, his lectures are really informative, engaging, and its coming from the person who helped develop a lot of the content you are learning about. The course is weighted 90% for midterms and the final, and I truly believe that if he graded easier he would have much better ratings. The exams are not hard if you understand and do the homework. The homework and NP problem set were really interesting assignments that often covered material not taught in class. I can understand that people don't like guessing what they need to do for homework, but I really enjoyed the problem-solving aspect of them. Overall, cool dude and interesting class. You will learn a lot if you take the class with Kruskal.
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
12/17/2023
One of the best classes I've ever taken. Rating speaks for itself- take him!
Herve Franceschi
CMSC351

Expecting an A
DenialWhammy
12/16/2023
He co-taught with Justin this semester, which I guess this might be a review more for Justin. I didn't go to class and just studied from the online notes, which saves a lot of time and provides all the information you need for exams. Piazza helps a lot.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
12/16/2023
Really good teacher and lecturer. Makes concepts easy to understand and regularly answers questions during lecture to ensure everyone understands the topics. His homeworks and midterms reflect what we learn in class, and both are very fair. In the end, I think ~80% of your grade is based on the three midterms + final, so they carry a lot more weight than a traditional class, but Justin provides good resources that will help you succeed.
Herve Franceschi
CMSC351

Expecting an A-
Anonymous
11/15/2023
Kind and very passionate. He kindly replies all the Piazza questions for students.
Herve Franceschi
CMSC351

Expecting a B+
Anonymous
11/09/2023
Herve has the easiest exams and the best slides I've ever seen. He basically reads off his slides in lecture but I don't blame him cause his slides are so good. At some point, I stopped going to class and still did well because of his slides (he does not record lectures). I originally had Maks co-teaching with Kruskal for 351 but I dropped it to take it with Herve over the summer and it was the best decision.
Herve Franceschi
CMSC351

Expecting an A+
Anonymous
07/15/2023
Love his French accent.
Herve Franceschi
CMSC351

Expecting an A
Anonymous
07/11/2023
amazing professor!! he explains concepts so clearly (and basically follows justin's notes while adding some additional interesting concepts along with way). lectures are very clear and follow the slides. sometimes he has minor typos on homeworks and slides but they're easy to catch and trivial because if you point them out he'll correct them so it's not that big of a deal. the TA's are great and generally we get our questioned answered fairly quickly. 351 is a hard class but his homeworks help reinforce concepts - nothing is busy work. exams are incredibly fair but beware if u make small mistakes you'll easily lose 10% or something so make sure to practice a lot, clearly read questions, and not make tiny algebra errors. also his fits + kicks are fire!! really cool chill dude
Herve Franceschi
CMSC351

Anonymous
07/11/2023
Herve saved me from taking the devil of 351(Kruskal). His homework is fair in terms of the work and the deadline to finish it these aren't bad at all. He does recordings so missing a lecture isn't a problem and is super helpful during office hours and can meet outside of office hours. His exams are easy asf cause the style match to the practice he's going to give and it the questions are not bad at all. Some of the improvements he can make are that sometimes the hws and solutions can have errors and lectures can get boring as he reads off the slides. In the end Herve is also chill so with him and Justin teaching 351, it's honestly an ez class for a A/B
Herve Franceschi
CMSC351

Expecting an A
Anonymous
07/08/2023
Herve is honestly the best CS teacher I've had. The way he teaches in lecture is amazing. I had Justin for 250, and even though Justin great, Herve just breaks down content and explains concepts much better. He's extremely approachable. He's always willing to help you out in office hours, even outside the scheduled times. His TAs (especially Nikhil) are truly amazing at teaching and helping you out. Exams are extremely fair and really similar to the practice exams. Honestly, I was so nervous for this class, but this has got to be the most engaging, interesting, best designed, and well taught class I've taken. As someone who has taken both Herve and Justin, Herve is the way to go!
Herve Franceschi
CMSC351

Expecting a B
Anonymous
07/07/2023
Great professor for 351. Teaches straight from Justin's notes an provides decent examples during lecture. I had taken 351 with him over the summer, so the class was mostly online. Being online, most of the lectures were just him going over the slides and focusing on certain topics when they were very theory heavy. He would do a great job of explaining the tougher concepts and it would leave me surprised that I am actually understanding everything; even after every single person I know telling me 351 is going to be near impossible. The homeworks are not very theory based at all, so as long as you can grasp the concepts taught in class, the homeworks will be pretty easy. This extends to the exams too. The exams in this class were very fair. If you spent a good night or two studying over past homeworks and sample exams, you would be fine for any exam. Definitely take 351 with him if you can. I think his class is one of the better ways to get through 351.
Clyde Kruskal
CMSC351

Expecting an A
Anonymous
07/03/2023
I had Kruskal for 351 when he was co-teaching it with Morawski. Pros: - His recorded lectures are pretty decent. Some are recorded in the classroom and the video quality isn't great, but some are great, very clear, and with helpful slides. - He is apparently helpful when you go to office hours in person. - The class is pretty tough but there's a decent curve at the end that takes it into account. Cons: - His in-person lectures, unfortunately, are not great. He spends around half the class on tangents about unrelated things, and a good chunk of the other half is spent on going over the homework. Going over the homework is great, of course, but I found he spent a lot of time on the things that weren't as necessary to explain in detail, and not a lot on things that were necessary to explain in detail. - The fact that we had to watch both recorded lectures and in-person lectures meant we were supposed to spend almost twice as much time on 351 as on normal classes. Eventually, I stopped going to in-person lectures, but that did mean missing out on answers to past homeworks/quizzes/exams. - Some concepts are overcomplicated, such as recurrences (the whole president/vice president/supervisor thing just made it harder to understand) - He also often doesn't tell you the intended answers to tough quiz/exam questions when discussing the quiz/exam afterwards. - His responses on Piazza were often not very helpful (he found it hard to understand students' questions) - Administratively, the class is a mess. There's not enough TAs, it takes a ridiculously long time for grades on anything to come back, instructions on homeworks are often unclear. - The final exam is a huge part of your grade. - He soemtimes uses terms with his own definitions, so when you Google it, either nothing relevant pops up or it turns out everyone other than Kruskal uses that term differently. Overall, not the worst professor ever, but take someone else if you can. The fact that his class is harder does NOT mean he is a better instructor and you'll learn more - you'll have to do a lot of self-studying. That said, he isn't as much of a nightmare as people make him out to be, as long as you're okay with a minor hit to your GPA.
Clyde Kruskal
CMSC351

Anonymous
05/29/2023
I was in Maksym's section, but both Kruskal and Maksym co-taught 351 and the class was run pretty much exactly like Kruskal's class except for a different curve, and having been to Kruskal's lectures, office hours and studying his material for the bulk of the semester, I figured it's better to write a review for Kruskal's class here as well. I think Kruskal's material is fine. His homeworks are definitely hard, but if you go to the TA's or especially Kruskal's office hours, they will explain what the problems mean. And that's really it, Kruskal's problems are all about understanding of the material. What this problem wants us to do, what this algorithm does, why this algorithm behaves such a way, what this problem accomplishes, and why this problem is relevant, etc. If you truly understand that, then Kruskal's 351 homeworks and exams will come off pretty easy. As for the notorious last "coding interview" problem on the exams, if you can do Leetcode problems without difficulty, you will do well :). But jokes aside, these "interview" questions get a lot of hate because there's really no way to prepare or study for these questions, but like I said, if you understand what this problem is trying to accomplish, then they should come off pretty easy. It's all about critical thinking, testing whether you can come up with an efficient solution, and you will get partial credit even when you write a brute force solution. Kruskal doesn't want you to write 50-100 line of code that does complex stuff, the solutions to his coding problems are always simple pseudocode. Kruskal may be very disorganized and just not good at administering class, but he is seriously one of the most knowledgeable people in the faculty, and you will learn a lot when you go to Kruskal's office hours. He's been teaching and researching algorithm and theory for decades, and it shows. Kruskal emphasizes in thinking about the problems and how to solve them creatively. You won't do well on the exams from rote memorization and regurgitation. The problems may be challenging, but you gain so much once you solve them. I don't think Kruskal's 351 is impossible. What decides on your performance in this class is psychological. If you approach this class by just mindlessly taking notes and cram the night before, you are not going to do well. If you rely on simple memorization, you are not going to do well on the exams. Also, getting 65 and 70 is a good thing. Whether this grading system is a good idea is debatable, but don't stress about the raw score just because you were used to getting scores of 80+. It's all relative, and I don't think it's a bad thing. The interview question at the end of the exam, which is something not a majority of the students get full credit in, is also accounted for, and the class is heavily curved. The pass/fail rate for Kruskal's 351 is also comparable to any other CS classes. What I'm saying is that you don't need to be too scared when going into CMSC351 with Kruskal. It's really not that bad, and it has its reputation because the class is just, different. CMSC351 is one of the first CS classes that requires you to think critically unlike 100 level and 200 level classes. If you figure that out, you will do well. One thing I will note about 351 is that it is very poorly structured. It's not about exams taking 80%+ of the course but really more about the content of 351. 351 is too much math and analysis heavy, and I do wish the class teach more interesting stuff like dynamic programming instead of spending too much time on sorting algorithms, constructive induction, and NP etc. The way Kruskal structured 351 is pretty unique and arguably odd compared to algorithm classes at other CS schools. But then again, the whole CS curriculum at UMD needs some fixing. Also, Kruskal is quite sarcastic and a pretty funny guy. He'll be very helpful when you go to his office hours, so don't be too harsh on him.
Maksym Morawski
CMSC351

Expecting an A+
Anonymous
05/29/2023
Maksym's 351 was co-taught with Kruskal, and this whole class was basically run as Kruskal's class with Kruskal's homeworks and exams. Max was forced to co-teach with Kruskal, in which Max was not very happy with as far as I know, because Max had little to no control over the material. Kruskal and Max were both discontent at each other, because Max didn't want to follow what Kruskal does. I think Kruskal's material is fine. His homeworks are definitely hard, but if you go to the TA's or especially Kruskal's office hours, they will explain what the problems mean. And that's really it, Kruskal's problems are all about understanding of the material. What this problem wants us to do, what this algorithm does, why this algorithm behaves such a way, what this problem accomplishes, and why this problem is relevant, etc. If you really understand that, then Kruskal's 351 homeworks and exams will come off pretty easy. As for the notorious last "coding interview" problem on the exams, if you can do Leetcode medium without difficulty, you will do well :). But jokes aside, these "interview" questions get a lot of hate because there's really no way to prepare or study for these questions, but like I said, if you understand what this problem is trying to accomplish, then they should come off pretty easy. It's all about critical thinking, testing you whether you can come up with an efficient solution, and you will get partial credit even when you write a brute force solution. Kruskal doesn't want you to write 50-100 line of code that does complex stuff, the solutions to his coding problems are always simple pseudocode. Kruskal may be very disorganized and just not good at administering class, but he is seriously one of the most knowledgeable people in the faculty, and you will learn a lot when you go to Kruskal's office hours. He's been teaching and researching algorithm and theory for decades, and it shows. Now, onto Max. Like I said, Max wanted to go with Justin's material to teach his class, so him being forced to follow Kruskal's material was probably stressful for him. I'll give him credit for trying his best. He's definitely someone who wants his students to pass the class, although that is not evident in his teaching, but in the curve. He gave a lot more substantial curve than Kruskal's even when Kruskal's curve was pretty large, which was about one letter grade difference, although the pass/fail cutoff was comparable for both of them. Does Max teach well? Well, that's another matter. I think the problem with Max is that he severely lacks knowledge on the material. It's not that Kruskal's material is different from Justin's or whatever, he just doesn't know the subject well enough to lecture it. I'm sure Max is very competent when it comes to an actual practice as an engineer given his career, but I think his teaching is very shallow, although he has potential to improve. I definitely think Max wants to become the next Justin, someone who is approachable to his students, explains the concepts well, and have the majority of his students get an A. The thing is, I barely learned anything from Max's lectures. Pretty much the entire knowledge I learned came from Kruskal's recorded lectures and his office hours. The difference in the level of quality in answers you get from Kruskal's office hours and Max's office hours is pretty significant. I definitely think that Max will improve a lot, but I can't say that I learned a lot from him. Despite the co-teaching, there is a pretty huge difference in the philosophy of teaching 351 between Kruskal and Max. Kruskal emphasizes in thinking about the problems and how to solve them creatively. The problems may be challenging, but you gain so much once you solve them. The way Max seemingly wanted to run this class is like a standard class, where you just take notes and you can do well on the exam just from the rote memorization. The difference in the philosophy of the subject is probably why Max and Kruskal were so unhappy with each other. I personally think that critical thinking and understanding is much more crucial rather than simple regurgitation when it comes to algorithm and theory. This is probably why I learned a lot more from Kruskal and give him more credit than Max. But I think Max has a lot of potential and I definitely do see Max as a good lecturer in a few years. One thing I will note about 351 is that it is very poorly structured and Max did his best for his first semester teaching it. It's not about exams taking 80%+ of the course but really more about the content of 351. 351 is too much math and analysis heavy, and I do wish the class teach more interesting stuff like dynamic programming instead of spending too much time on sorting algorithms, constructive induction, and NP etc. The way Kruskal structured 351 is pretty unique and arguably odd compared to algorithm classes at other CS schools, so I can definitely feel Max's frustration in having to be forced to teach that way only. But then again, the whole CS curriculum at UMD needs some fixing.
Maksym Morawski
CMSC351

Expecting a B-
Anonymous
05/29/2023
Max is a great person, but maybe not the best professor when it comes to co-teaching with Kruskal. This is after-all because Kruskal is Kruskal. This was not worth the hours of stress that this class put me through (especially the final) because the exam structure itself was impossible (Kruskal said the average should be around 65%) and the major delay in grades. This saying this course is mainly a rant against the way Kruskal structured it, Max didn't have much say over the structure or content. He gave us a large curve, but this also was probably the worst class I've taken with the CS department (but its because of Kruskal not Max). In conclusion, Kruskal is the villain and Max was forced to join the dark side.
Maksym Morawski
CMSC351

Expecting an A-
atp236
05/28/2023
351 with Max was a beautiful disaster. First, the review of the class: Max co-taught with Kruskal since this was his first semester teaching 351. As a result, we got all of Kruskal’s exams and homework assignments which are notoriously difficult. Max did not have control over what was being taught and the difficulty of assessments since Kruskal was in charge, and as a result, he sometimes stumbled over content (it’s hard to keep up with a mad scientist). It honestly seems like Kruskal and Max hate each other (understandably so) since there was a lot of miscommunication throughout the semester. To pass this class, this is what I did: I showed up to Max’s lecture with the expectation of getting a simplified overview. I did have to supplement the content to keep up: Kruskal has pre-recorded videos that go into the content in depth, and I binge watched those videos and reviewed the homework’s a few days before the exams. The exams feel similar to the homework assignments, but at the same time they are different, so it felt like a big wildcard, and I found it better to just YOLO the exams than to stress about them. My mantra: take inspiration from the homework assignments and express your creativity on the exams. I had no idea what I was doing on any of the exams, but try to grab the “easy” points and think on your feet. Max as a lecturer: he’s naturally charismatic and has a geeky sense of humor. I feel like he genuinely wants the class to pass. Even though at times Max was confused, at least he was enthusiastic while being confused? He would drop hints about the exam topics during the review which was helpful to dial in on, and his encouragement to keep us going while we were all flopping was helpful. At the end of the semester, his cutoffs were a lot more generous than Kruskal’s. For example, Kruskal’s version of an A- was an 80.5% while Max’s version of an A- was 69%. TLDR: if Max ever teaches 351 with Kruskal again, take it with Max and hang on for dear life.
Maksym Morawski
CMSC351

Anonymous
05/27/2023
The class was messy because of the co-teaching and he even acknowledged how disorganized and difficult the class was but he really cares for how his students performed and was open to change like recording lectures and posting notes online
Clyde Kruskal
CMSC351

Expecting a B
Anonymous
05/26/2023
anyone giving this man a 5 star has to either be a troll, an algorithm crackhead, or Kruskal himself tbh. he's really not that bad as a lecturer (actually he's pretty good and interesting at times), but seriously what the hell are his homeworks and exams? why did it take 2 days after the final grade submission deadline to get our grades back for our FIRST np-completeness homework? why should I have to worry about other people's grades the entire semester to get a semblance of what my grade looks like? his lack of organization and poor class structure plus absurdly difficult exams are the reason why he doesn't get anything above a 2 star from me (i really would give him a 1.5/5)
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/26/2023
Definitely not deserving of a 5-star because of his lack of organization and preparedness for lectures, but he definitely does try his best to make the class less painful with Kruskal. Honestly, if it wasn't for the fact that he co-taught with Kruskal, I'm pretty sure things would've been much smoother than they were this semester, but co-teaching with Kruskal obviously wasn't his own choice
Clyde Kruskal
CMSC351

Expecting an A-
Anonymous
05/26/2023
Course structure was awful. Kruskal changed syllabus last second before final. Many times Kruskal had impossible questions on the exams that no one would be able to answer. Luckily the curve was high so I somehow got an A-. But do not take Kruskal if you do not have to.
Maksym Morawski
CMSC351

Expecting an A-
Anonymous
05/26/2023
Nice guy that cares about his students and wants you to succeed. Seemed he was blind sighted by having to co-teach with Kruskal and wasn't prepared so lectures felt like that, very unprepared. He made up for it with a generous curve which was nice, a whole letter grade higher than Kruskals curve. 351 is a hard class, especially with Kruskal's material and exams but Max made that experience pleasant such that I don't think many people had to worry about failing. Unpopular opinion, Kruskal's content isn't bad nor are his lectures terrible but his exams are extremely difficult but that wasn't in Max's control really. Final average was a 52.5 percent.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/26/2023
Exams were very hard but this professor is awesome.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/26/2023
Honestly, this is the worst class I've ever taken. Max co-taught with Kruskal so it was a given that the content would be insanely hard and the class would be ridiculously disorganized. Max is a great guy though and he really cares about his students, and despite the mess that the class was, he really tried his best to help everybody succeed. Under this co-teaching situation, it was a disaster, but under different circumstances I'm sure he will be really good.
Maksym Morawski
CMSC351

Expecting a C-
Anonymous
05/26/2023
Honestly it's kinda hard for me to fairly review Max given the class was co-taught with Kruskal but I'm doing it regardless to help people who may consider taking him. Max is very genuine, caring and makes lectures engaging but his knowledge was shaky (for 351 at least). His curves are also very generous so if you're interested in getting a good grade, having a nice professor, and don't want lectures to be boring you may like him. If you want to learn at a very deep level and don't mind sacrificing a good grade, Kruskal is for you. The class in general was very unorganized but both Max and Kruskal have that sort of history but unlike Kruskal, Max is new and seeking to improve. Down the line I can definitely see Max being one of the more favored professors but I think he is just having a rough start since he is still new. Ideally I would want to give a 5 star but the class was just so poorly run I cannot despite it might being Kruskal's fault.
Maksym Morawski
CMSC351

Expecting a B
akl2025
05/25/2023
An interesting, caring, and potentially great professor. This was his first semester teaching CMSC351, and he was co-teaching with Kruskal; so the semester was, as expected, brutal. However, he did genuinely try his best to accommodate the students. Pros: - Incredibly welcoming and lovely person: if you want advice, talk to someone openly, or review lecture contents, then come to his office. - Engaging and interactive: the lectures became more interesting (but it was a bit time-consuming, so he might not go over everything he needed to teach and told us to watch Kruskal's lectures) - Understanding: Max curves the final grade generously, especially if you show efforts, such as coming to office hours for help consistently or showing up to class and participating in lectures, then he will most likely bump up your missing 1%. Cons: - Disorganized. Most of the contents I learned from this class were from Kruskal's videos and online resources. I hope Max could become more familiar with the topics over the summer and incorporate a structured approach to teaching in the future. For example, Max, if you're reading this, it would be helpful to have slides containing important notes for the class. While it's great to work through examples during the lecture, including them in the slides would save time (color-coded and animated). It would be ideal if the slides could be shared before or after the lecture. - Exams. Just terrifying. Well, it's not Max's fault because Kruskal wrote them, but my midterms haunted me. - Grading. It was really slow this semester due to the complications with the TAs; but it will improve, hopefully. Advices: - If Kruskal is going to write the exams for Max's classes, then study the homework religiously. There were practice exams, but not really helpful. You should still do it for extra practices, but mostly focus on the homework of all the topics that would appear on the exam. - Go to office hours. The schedule needs improvement, but it's helpful. - Study group. Yep! Teach each other and review together.
Herve Franceschi
CMSC351

Expecting a C+
Anonymous
05/25/2023
The class is challenging, but you can pass it by meeting with TAs and working with other students for homework and exams. Herve's exams can be graded harshly but they doesn't really matter if you ace the homeworks.
Clyde Kruskal
CMSC351

Expecting an A+
Anonymous
05/18/2023
Krukal is an outstanding professor. While his lectures are boring, he has recordings of lectures and they are so easy to understand. I felt like I was very prepared for the exams and was able to finish them with about 30ish minutes to check my work. The exams are made to be difficult but I found that you could easily prepare for them. Just go to the lecture, he gives examples. He is very approachable and will answer everything in. detail in his OH (although I never really needed to go cause I understood everything so well). He does study review sessions. Occasionally gives candy. Amazing prof. Definitely recommend if you want to challenge yourself and actually learn the material instead of just taking an easy professor who you will not learn from. :))
Maksym Morawski
CMSC351

Anonymous
05/18/2023
Honestly, I think people are a bit hard on him here. Yes, he's a new teacher and has a lot of fine-tuning to do, but he does listen to student feedback and tries to accommodate student needs as much as possible if you just talk to him. For this course especially, it's easy to tell that he did not have much control over the course since he was co-teaching with kruskal, so a lot of the course's clumsiness can be attributed to that. But he's a much-needed breath of sympathetic fresh air in the CS department, and it's clear he cares a lot about the well-being of his students. He has everything he needs to become a great professor, just give the lad some time. And while he's still figuring things out he's never blamed his students for any resulting grade discrepancies and reassesses accordingly. I really don't think there's much more you can ask for, especially for his first semester teaching the course and having to coteach w kruskal.
Maksym Morawski
CMSC351

Expecting a P
Anonymous
05/17/2023
I wanna cut Maks some slack. It was his first semester co-teaching 351 with Dr. Kruskal. Overall, it seemed that he didn't have much control over the course structure/material since it was his first time teaching. All decisions were ultimately up to Dr. Kruskal. I don't know the extent that Maks had over the HWs and Exams that were given to us. They all felt as though they were made by Dr. Kruskal. The HWs and exams were insanely challenging. Averages for both midterms seemed to be around ~60%. During lectures he taught us based on Dr. Kruskal's recorded lectures from previous semesters. Maks' lectures were very high-level though, so I still had to watch Dr.Kruskals lecture videos to know the full extent of the material and all the deeper math theory behind specific algorithms. Hopefully, I can make it through this course with a passing grade. As of right now, right after our final, nobody can tell what their grades will be. Maks has potential to be great though! He genuinely cares about his students and relates to us. So he understands the struggles and stress everybody went through this semester. I'm excited to see how he ends up structuring his course for semesters to come. He has the same teaching knowledge as Dr. Kruskal now, so he might be continuing the same curriculum but in his own revised way. Which I can say is definitely useful and important to know! I can definintely say I'm coming out of this course knowing the deeper math fundamentals behind algorithms. So take it with him if you want to learn a lot!
Clyde Kruskal
CMSC351

Expecting an A
Anonymous
05/17/2023
Severely disorganized and absolutely brutal class structure. Around 80% of your grade is exams, 45% weight on the final alone. All exams are awful, but there is definitely a key to success with them. Memorize how to solve the homework problems. Like actually run through them repeatedly until you have memorized how to solve them all. The exams tend to be a similar format, so it pretty much sets you up for success. The last problem on every exam is an "interview problem", which is basically a leetcode medium to hard-level problem completely unrelated to the course content. Unfortunately, there's not much you can do to prepare for that one. Just try and leave yourself enough time to think it through. Kruskal is also a surprisingly good lecturer, and extremely knowledgeable on the subject. You will come out of this class ready to ace technical interviews if you actually put effort in. Unfortunately, his inability to get grades returned (It's the end of the semester and I have ungraded assignments dating back to January), terrible grading scheme, and awful exams lowers him to a 1/5 for me.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/17/2023
Co-taught with kruskal, so I'll ignore many of the issues that come with his content Pros: - Super caring about students. He recognized that Kruskal runs a brutal class, and heavily curved and gave us hints for exams to make up for it - He cares heavily about his assignments and their grades accurately reflecting the knowledge of his students. Since Kruskal's content doesn't do that, he put a lot of effort into making sure nobody failed the class unless they were extremely under the average. He went as far as to curve the average for the entire class up to an A at the end. Cons: - Severe lack of knowledge of the subject. Everything I learned came from Kruskal's recorded lectures - Very disorganized. Didn't prepare for lectures, and basically tried to learn the content along with us Definitely has potential to be an excellent professor when he makes his own content and lectures about stuff he knows about. Unfortunately, this semester was neither. I'm giving him a 4/5 for his extreme willingness to de-Kruskal the class by any means necessary.
Herve Franceschi
CMSC351

Anonymous
05/17/2023
I had him for 216 and it was just a tough class because 216 projects are just hard. Still he gave fair exams and was very pleasant to interact with. I had him for 351 and he is the reason I passed. His style of testing and homeworks is to make the exams manageable. Just a super nice guy and a real win for the CS department.
Maksym Morawski
CMSC351

Anonymous
05/17/2023
I've spoken to several TAs and Max wanted to teach the course using Justin's notes but was forced by the university to teach it with Kruskal (which as we all know, did NOT go well). His lectures didn't prepare us for Kruskal's midterms or homeworks, but then again, Kruskal is really specific in what he wants (I still do not understand why we had to know how to calculate the exact number of comparisons for each algorithm) and I doubt anyone can really teach 351 at the level Dr Kruskal does. It also takes WAY too long to get a homework back (they've actually got 320 TAs grading 351). Overall though, I think Max tried really hard, and he's giving us a generous curve, and he's still new. Give him time. I believe in him.
Maksym Morawski
CMSC351

Expecting a B
Anonymous
05/17/2023
The reviews are all correct. Nice guy but just may be the worst professor of all time. Cancels class essentially when he feels like, has no guidelines for things, and just made the course and overall unpleasant experience with Kruskal.
Herve Franceschi
CMSC351

Expecting a B+
Anonymous
05/15/2023
I came into 351 fresh out of Yoon 216 and you and I know that was a dumpster fire. My first few lectures with Herve felt weird because I had never before expected to immediately understand what came out of his mouth. Felt weird having a good cs professor. The homeworks and practice exams are really really good practice and his slides are pretty good. He and the TAs are pretty active on piazza as well. Very fair professor, take him. You don't want kruskal bro.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/15/2023
very generous with curves but unbelievably corny
Maksym Morawski
CMSC351

Anonymous
05/11/2023
i've never had a teacher more open to feedback and thoughts than him. honestly the class kinda sucked but he clearly cares about the students and what their opinions are on everything going on. he always seems to try and do his best to figure out how to make us feel better and have a good experience in class (even tho again, class sucked but like hes a nice fella). it's a good enough reason alone to take him just cuz of how nice he is. he also curves very generously because of how aware he is that this class kinda sucks. his lectures felt pretty all over the place. he's a very engaging speaker and tries to make the class interactive so you wont be bored and your brain will be moving during it but most people i know and i primarily learned from kruskal's videos rather than maks' class just because of how messy it'd be sometimes. he'd get terms/content wrong and correct himself a lecture later, change up variables, explain things incorrectly, etc. it's probably just cuz he just started teaching here tho, he'll probably have a much better grasp of the content and how to teach it by like a semester or two. it definitely felt like he didn't rehearse or think much abt how to convey new information, but again, he'll probably be good with time. honestly more of a 3.5/5 stars with my specific experience in this course but he'll def be like a 4 or 5 in a few semesters. i rounded up since he's jus a nice guy lol some people on here are too mean. pretty sure he reads these too
Maksym Morawski
CMSC351

Anonymous
05/11/2023
Incredibly nice and caring man. Like incredibly nice and caring! Class is terribly organized because he himself seems a little disorganized but mainly because he cotaught 351 with Kruskal, whose class is always a mess. His lectures are pretty disorganized but if you pay attention to what he says he gives very very very helpful advice, but you have to listen to what he is saying. There weren't any slides which sucks. Averages on the Kruskal written exams were like in the mid to low 60s, but gave strong curves obviously. Great man, improving professor with lots of potential. CMSC 351 is made unnecessarily difficult when its Kruskals course. Not his fault for the class being bad.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/10/2023
Maksym did a fantastic job with this course and made it the least stressful it could've been, given he had to coteach it with Kruskal. He genuinely cares a lot about his students, which shows in his effort! His teaching style is also really entertaining. As Maksym gets more experience at UMD, I think he will easily become known as one of the best professors in the computer science department.
Maksym Morawski
CMSC351

Expecting an A
Anonymous
05/08/2023
Makysm is specialized in data science not algorithms and especially not coteaching with kruskal. He struggles in trying to teach Kruskal's Concepts. He rambles in lectures with his Ipad trying to figure out Kruskal's content. No hate amazing lecturer for data science just not 351
Clyde Kruskal
CMSC351

Expecting an A
Anonymous
05/08/2023
I don't get why he is hated. A simple old man who is a genius trying to impart knowledge. He knows his stuff, posts lectures and exams are very similar to homeworks. The Worse part is TAs, Kruskal is nice so TAs take advantage of him and procrastinate grading. Its the end of the sem and out of 9 HWs only 3 have been graded so far. If you actually work out the HWs and practice his concepts, its basically best practice for coding interviews.
Clyde Kruskal
CMSC351

Expecting a B+
Anonymous
05/06/2023
Don't me wrong, Kruskal is actually a great guy, but I feel like he does the bare minimum for students. I just posts all of his previous lectures onto ELMS and says that nothing covered during in-person lecture will be tested. The dynamic was a bit weird because I felt like I was just reviewing old material and completing homework for the sake of it. Good tip: If you want to do well in this class, make sure that you do the homework on time and understand how it works inside-and-out. Exams are very much a derivative of the work he provides, so if you do well on them, it'll reflect well on the tests.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
05/02/2023
By far the best professor at UMD. He makes every lecture engaging, so even though his notes are good enough to learn the material off of, it was still worth it to attend every class.
Herve Franceschi
CMSC351

Expecting an A
Anonymous
05/01/2023
Herve is a solid professor for 351 in that you know what you can expect in his course. The exams are fair, with relevant homeworks and practice exams to help prepare you, and I found that just knowing how to do those is enough to do well on his exams. His actual lectures themselves can be dry and sometimes seem convoluted, so I didn't do much of my learning in class, but his lectures (proofs and all) seem more in depth than the level of understanding we need to do his assignments and assessments, so it was fine overall. Herve does have a habit of having multiple typos on exams which isn't ideal, but what CS professor doesn't, really. I had him for 216 as well which I've held back on reviewing, since I've realized my suffering in that class was probably more due to that fact that he was co-teaching with Yoon (meaning we had the same atrocious course structure but without their class's curve) than anything on Herve's end. Would recommend Herve for 351 especially over some of his counterparts.
Clyde Kruskal
CMSC351

Anonymous
04/30/2023
pretty interesting guy, and he's a surprisingly decent lecturer. it's just that he should have no part in structuring any class, as the exams and homeworks are unnecessary difficult, and the first 3-4 homeworks had literally nothing to do with what we were learning in class. plus, this class turns into a "calculate the number of comparison this algorithm has" simulator after a few weeks, which is stupid. even if i walk out of this class with an A, I'll walk out knowing even less about algorithms than I did in cmsc132
Herve Franceschi
CMSC351

Expecting a B+
Anonymous
04/24/2023
I've taken Herve for both CMSC216 and CMSC351 and I'm very glad I did. He joined UMD just recently yet he was a much needed addition, as it is rare to find a professor who teaches such hard classes fairly. In both classes, despite their difficulty, the assignments/exams he gave have always been fair. Unlike many professors who teach these courses, he isn't unreasonable with content difficulty or work load. He is very understanding and willing to help students who need it. I got COVID-19 early this semester before a test, and he worked with me on a make-up exam date and even opened his Zoom office hours late to help me with the homework since I no longer could go to office hours. His lectures can be a bit disorganized at times, but overall he feeds you the right information, and everything you need to know can be found on his slides, which are very solid in my opinion. His CMSC351 course structure is very similar to Justin's (since they co-taught in the previous semester) which allowed me to utilize Justin's notes in my studying, which is a very helpful resource. Both CMSC216 and CMSC351 were ridiculously hard classes, yet Herve managed to make both manageable and fair, which is something that not many professors in the Computer Science department do. Some of the most difficult challenges I found with CMSC216 were due to the fact that he was co-teaching with Yoon, whose class was a nightmare. As for CMSC351, there haven't been any unreasonable challenges, and he isn't co-teaching with a professor who likes to make their students' lives terrible. He even opens up Zoom review sessions that he personally teaches which are not only very helpful, but something that I wish more professors would do. He may not seem like a department-wide favorite like Justin and Nelson considering his other reviews, but he is a very solid professor which is quite a rarity for such crucial CMSC classes.
Clyde Kruskal
CMSC351

Expecting an A+
Anonymous
04/19/2023
KruskGOAT!!! Incredibly kind professor, homeworks are fair and really short. You barely have to study for exams, they're so easy!!! I love this class :) <3 !! xD
Herve Franceschi
CMSC351

Expecting an A
Anonymous
04/06/2023
Clear lectures, fair exams that you can prepare with past exams, practice problems, and homework. Homework is fair, relevant to practicing with the material + exam, and derived from his lectures and examples. Records lectures, responds actively on Piazza. Quick grading turn around (within a week or so usually) because there are many auto graded questions. Similar exam averages (80-85%) and style to Justin. Especially helpful during office hours, he's willing to patiently work with you and comes up with examples and go through them multiple times until your confusions are cleared. Highly recommend.
Herve Franceschi
CMSC351

Expecting a C+
Anonymous
04/01/2023
CMSC351 is a tough class. The TAs are hit or miss during office hours. Get started on all the homework early.
Maksym Morawski
CMSC351

Expecting a P
Anonymous
02/27/2023
While we were spending hours working on Kruskal's homework, he didn't prepare for any single lecture. Everything was up to Kruskal so far, hopefully I can pass this class.
Clyde Kruskal
CMSC351

Expecting a C-
Anonymous
01/30/2023
Had Kruskal over COVID in spring 2021. Worst experience in the CS department -- lectures were very disorganized and felt like I didn't learn anything in lectures. Avoid Kruskal.
Justin Wyss-Gallifent
CMSC351

Expecting a B
theGreat
01/19/2023
Obviously Justin has a very good reputation. I think that's mostly from his personality so students tend to overrate him a tiny bit just because he is relatable. That being said, he is still a smart professor and a good teacher that knows what hes talking about. Pros: - Easyish exams all things considered that are not hard to finish on time - good lecturer. Easy to follow, takes great notes, don't have to attend class - very engaging and fun to listen to - drops lowest 3 out of 13 homeworks. - the class is very straightforward which i liked Cons: - homeworks can be hard so start them early - not many TA's available to help with homework
Justin Wyss-Gallifent
CMSC351

Expecting an A
Charl1e1029
12/24/2022
Love Justin, but he's definitely still working out some kinks for lecturing for the CS department. The few qualms I had regarding my semester with him included: 1) Some homeworks were graded very unfairly at times. Like a -20 came outta nowhere every once in a while 2) His exams were many times riddled with typos/errors. On the 3rd midterm, he even had to throw out an entire question 3) He's constantly trying to improve the way he teaches many concepts, but that can lead to him teachning some of them incorrectly/more confusingly Overall, Justin's a great guy. His lectures are engaging, and his lecture notes are some of the nicest I've ever seen. I'm absolutely certain that as he teaches this course more and more, many of the qualms I listed above will significantly diminish if not disappear. I absolutely loved him as a UMD math legend (had him for 241) and he's on his way to being a UMD CS legend as well.
Justin Wyss-Gallifent
CMSC351

Expecting an A
ceremonialgradematcha
12/22/2022
the fact that he ended every class ~15 minutes early and still managed to get through all the material speaks to his prowess as a lecturer, and i have no problem with that. his course organization, however, was disappointing. countless mistakes on both homeworks and lectures were constant sources of confusion. almost every homework had some sort of typo or confusion, needing a midweek announcement for clarification, pretty much undoing a lot of the progress students had in that question. we even had some questions that were completely dropped (looking at you, nim game tree) or some that were never fully clarified (looking at you, floating-point multiplication). tas are also unreasonable with regrade requests, and won't give points back for things justin clarified. exams were mostly fair, but also filled with the same mistakes that plagued the homework. every exam had several typo corrections, and one question was completely taken off. justin said something about how not all tas could be trusted with proofreading, but at least having herve (cotaught) or someone else look at it would help. the final had 3 (out of 15) questions on a topic we covered only for a week, which is poor topic choice for a supposedly cumulative final exam. his exams also involve a lot more wordplay and reading (so little slip-ups will lose you big points), which is certainly a valid thing to do, but i don't think it's that relevant for the course. the two also taught an incorrect version of dft. while i understand that version's easier to analyze, the correct version was just a slight change away and yet there was not even a mention of the tweak in class. that being said, he's a great lecturer and a pretty nice person. i remember submitting a homework late because of a technical issue and still getting credit for that homework.
Herve Franceschi
CMSC351

Expecting an A
Anonymous
12/22/2022
absolute goat. Exams were pretty fair and helped since the final was hard and had a lower average. Holds review sessions before exams and is incredibly approachable outside of class. Very nice guy!
Herve Franceschi
CMSC351

Expecting a D+
Anonymous
12/21/2022
Don't take this class with him... Just dont. Unless you want to be fuel for Justin's curve (Justin is a much better teacher with easier exams, they co-teach the class, and sum both class grades together at the end, fucking over anyone who took Herve) simply do not take his class. You will learn more about the class from the Homework questions than his lectures, which really says something.
Justin Wyss-Gallifent
CMSC351

Expecting a B-
Anonymous
12/21/2022
Communicative doesn't keep anyone in the dark. Fair exams. Top-tier professor overall. Only problems: Each exam has a small mistake or two but they are either dropped or corrected. Lectures can be a bit tricky at times IF you are rusty in math (i might be a special case though) Otherwise honestly still also TOP tier lecturing. Overall just a good experience with him and highly recommend taking him if you are lucky enough to have the option.
Justin Wyss-Gallifent
CMSC351

Expecting a B-
Justacoder
12/20/2022
Love this guy. Great lectures and explanations. The notes are very detailed and helpful. I recommend reviewing his notes before lecture to cement your understanding. Exams were fair and his revierws were helpful. Only complaint is that some of the homework questions are hit or miss. Sometimes they are unclear or ambigous.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
12/19/2022
Great instructor. Clear lectures. Engaging, funny, charismatic guy. Homework clearly translates to the exams. Homework is harder than exams. Exams are easier and really test ideas directly from the homework. True/False section he's a fan of always, could, most type questions here: read carefully. Exam questions are usually variants of homework question principles. Lots of tracing through the algorithms, forwards and back. High exam averages because the exams are FAIR AND REPRESENTATIVE of learning. Actively works to improve. Knowledgeable. Sometimes he makes the equivalent of a typo in his hand written notes but always goes back and fixes it. Breaks up notes into these wonderful sections. Doesn't record because he wants attendance. Overall great experience. I will say that during office hours there's always 3-5 students there. Thus, you kind of get 3-4 minutes with Justin and then wait 5-10 minutes for the next question. This makes sense because he has over 500 students a semester and over 3-5 classes. Approachable. Insightful. Highly recommend.
Herve Franceschi
CMSC351

Anonymous
12/18/2022
Really nice guy who wants you to succeed and his exams are relatively fair and definitely not too hard. However, his lectures are really poor, and it is hard to follow him while he is lecturing off slides.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
12/17/2022
I'm a simple guy. I see Justin teaching, I take Justin. One of the most dreaded CS courses made entertaining and actually understandable.
Herve Franceschi
CMSC351

Expecting an A
Anonymous
12/16/2022
Exams are fair but I didn't go to lectures that often because I couldn't extract knowledge from them compared to Justin's lecture notes. Overall, I had a pretty good time.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
12/14/2022
Along with 95% of what people said here, fair class, fair lectures, amazing personality. Provides entertainment with learning and professionalism, a combo that is difficult to find in the university. As stated earlier take him whenever you get the chance.
Herve Franceschi
CMSC351

Anonymous
12/13/2022
i love this guy; fairest exams out and really smart. also posts his lecture slides at the start of the week and opens office hours whenever people need them.
Justin Wyss-Gallifent
CMSC351

Expecting an A-
Anonymous
12/12/2022
This class was only good because of Justin.
Justin Wyss-Gallifent
CMSC351

Expecting a B+
Anonymous
12/02/2022
One of the sole brightspots in UMD STEM undergrad.
Justin Wyss-Gallifent
CMSC351

Anonymous
10/19/2022
Justin's teaching has probably saved me a big headache while taking this class. Most people have said that this class is one of the hardest classes were required to take for the CS major. But with this professor I actually really understand what is going on. Whether or not my grades reflect it is another issue but thats on my studying. Going to his lectures and not just reading his notes that he posts really helps me understand the concepts and I'm really glad for that.
Clyde Kruskal
CMSC351

Expecting a B
Anonymous
09/24/2022
I took this class with Kruskal in Fall 2021. He's a pretty chill dude but he doesn't teach at all. Whatever material we had to learn, he just posted recorded lectures on Elms. In class he would sometimes give us problems to do, but other than that he would talk about anything else besides class topics. It was really down to us to learn the material on our own. And of course his exams were the most stressful thing about that semester. If you take Kruskal, form study groups, visit office hours frequently (two things I didn't do...), and start the homework early.
Clyde Kruskal
CMSC351

Anonymous
08/04/2022
This man is simply bad at his job. Grades take forever to get back, the class structure is abysmal, and homework/lecture material often has little to do with the ruthless exams. I could go on, but the other reviews pretty much accurately put things into perspective. "You teach your students? I torture mine." -Literally overheard Dr. Kruskal saying this to another faculty member and I don't think I've heard anything more accurate. He may be smart, but this man should not be teaching. Avoid at all costs.
Justin Wyss-Gallifent
CMSC351

Anonymous
07/28/2022
Justin is the GOAT
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
05/29/2022
Really great lectures, he's very caring and truly worries about his students and if you come up to him with questions he will be very nice when explaining and explains topics in a very straightforward and easy to understand way. However as great as he is, I had a very stressful time in 351 because of the grading issues that came with basically every assignment. TA's most of the time if you had something not resembling the rubric in a homework assignment, or just because based on their own judgement, will not take their time to read your answer and will not hesitate to slash off as many points as you can as possible (Many times I have gotten back as much as 20%-25% of my assignment just because the TA did not read my answer entirely, and I've had to explain very thoroughly in my regrades). I know this is not his fault, but he was very aware of the grading issue because we would get multiple announcements about how there would be over 100s of regrade requests for each assignment and exams. This would not be an issue if the grading was more careful in seeing if the student truly understands the topic instead of how close it is to the rubric, or even something as small if simplifying 1 more step would give the same answer. Oh and what the other reviewer below said is absolutely correct, sometimes I would compare homework answers after grades came out on grade scope, and classmates who wrote the exact same I did would get full credit while I would get -50% off or even the entire question wrong. Same thing if they had the same reasoning for more deep thought questions. Mind you sometimes you would have to regrade this multiple times to get your points back if the TA's were unwilling to check, and it wasn't for sure that you would get your points back. Lastly the reason that also made me give him a not so great review even though I enjoyed having him a lot as my instructor, the above issue of getting massive hundreds of regrades because of extremely inconsistent grading, got so bad that during the last weeks of school after the final they said that since regrade request numbers are always hundreds, they would not allow regrade requests for hw12,hw13 and the final exam. Our homework is worth 28% of our grade and people were relying on this to bring up their averages if they didn't drop them, and they even admitted they graded the hw "leniently" and the rubric would even say "anything reasonable even if not correct". My questions were not read, marked off points without explaining any reason because of the shortness of time with regrades from past assignments, and the final exam also had some grading inconsistencies. My final point, Justin throughout the semester said that the cut-offs would be lowered slightly below the regular cut offs to account for the grading inconsistencies, the ambiguous writing of questions on exams and etc. This was only 1% or so when confirming when my friends, which if I will be honest, 1% of the entire class is not enough to account to how extremely bad and up to the TA grading your assignments judgement is. And even if Justin offered to contact him regarding grading on hw12,hw13 and the final exam, he would only do this if you were borderline. Which, is kind of extremely hard to figure out when we did not have cutoffs published.
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
05/25/2022
The actual GOAT. Really made sure we understood the concepts he was teaching. He and Erika cotaught this semester, and they did a fantastic job of making 351 a much better experience than I was anticipating. Would recommend!!
Justin Wyss-Gallifent
CMSC351

Expecting an A-
KDsBurnerAccount
05/21/2022
Lectures were great of course. It's Justin. However, the course could've been managed better, and rubrics for homework's and exam solutions could have been much less ambiguous, as well as the questions on the exam. There can be a time where you work with your friend on a homework, then you receive a 0/15 on a homework problem while your friend receives a 15/15 because the rubric is not as definitive and TA's judge based off their intuition and subjectivity. Same goes for exam problems, besides the fact that you obviously do the exam independently, you can have a solution that follows the gradescope rubric to earn a specific amount of points, but the TA can be subjective and not go off of what the rubric says and even give you a 0 for the problem for what should have been partial credit atleast. This may be a TA problem sure, but Justin leads the TAs and instructs them on what to do, so I feel there's a bit on him too as he could make the rubrics for homework problems and exams more definitive so TAs can't be as subjective. Exam problems were ambiguous as well to an extent, mainly the true/false portion, but some written responses as well, but the true/false was only a few points (typically 10 points an exam). Essentially, there could be multiple interpretations of a question which could make you believe either true or false based on the interpretation you go with. Overall, great professor along with his lectures of course. No doubt about that. He needs to be more straight forward about a few things though. The course wasn't difficult to manage so he did amazing with that, but there would be confusion on the ambiguity from the student and TA side, in terms of grading and interpreting problems.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
05/20/2022
Coming off of 250 with Justin, I was expecting to get torn to shreds with 351, especially with the stigma around the class. Given that I don't think Justin is the best at organizing courses, I think he and Erika had a great duo with her taking most of the nitty-gritty details like Piazza answering and course announcements. The class ran extremely well (definitely some improvements needed on the TAs and their grading in this course, but that's not on Justin) and I can still vouch for Justin's lecturing. Guy is one of the best at UMD, he could explain Dijkstra's to a 5-year-old. Tests and homework were extremely fair, an issue I found sometimes with the 250 homework, and both Erika and Justin made the course extremely enjoyable. I also had him for 241 this semester. Relatively smaller course, pumped out grading and got the concepts where they needed to be. Could definitely tell he was in his comfort zone with this course as his lectures were spot on every time. Tests were extremely fair and grading was good. Overall, 10/10 professor.
Justin Wyss-Gallifent
CMSC351

Anonymous
05/07/2022
best 351 professor ever. Exams are super fair and he is amazing at explaining.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
05/05/2022
Best professor at UMD. If you are going to take 250 or 351, do it with Justin
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
05/04/2022
Great professor as ratings suggest. I had a few cons to how 351 was managed. 1. No recorded lectures. 2. Never can get an extension on homeworks (no exceptions). Other than that, amazing.
Mohammad Nayeem Teli
CMSC351

Expecting an A
Anonymous
03/10/2022
Good professor, class is pretty manageable if you go to OH religiously until you solve the HWs and understand them. Having some level of leetcode prep will help immensely as a lot of common problems are used in the class. I took the coding interview class at the same time and there were times when the HWs had the same problem.
Clyde Kruskal
CMSC351

Expecting an A+
Anonymous
01/06/2022
I honestly don't understand all the hate Kruskal gets. I thought his lectures were usually pretty easy to follow and he is willing to clarify any confusion during class. The homework can sometimes be frustrating but he allows us to work in groups which I would highly recommend doing. He is also a nice professor to talk to after class or during office hours. The thing I feel drags down his overall perception is his exams. The exams expect that you will be able to come up with efficient algorithms that are different than ones seen on the homework which makes them difficult to study for. You can't just memorize and regurgitate information from class and expect to do well, but if that was the case, I think it could defeat the whole point of the class. Overall his class is pretty difficult but it's definitely possible to get a good grade and I believe the content is worthwhile learning.
Mohammad Nayeem Teli
CMSC351

Expecting an A+
Anonymous
01/01/2022
Some general thoughts: Very, very prepared for lecture. Good lecturer, but covered unnecessary content at times. Sometimes he would spend a lot of time covering material that was never on an exam or homework. Homework was usually manageable, but occasionally ridiculous to the point where even the TAs didn't know how to do it (Dr. Teli didn't always provide the TAs with solutions in a timely manner). Really nice guy. Surprisingly generous curve. Painful weighting (each weekly homework 1.5%, each exam 25%, and final exam is whatever remains... yeah it's a lot of weight on the exams). Grading done by TAs (I think exclusively) so a lot of subjectivity. Some TAs were more forgiving with partial credit than others. Just a little frustrating. He's an absolute genius, which sometimes makes it difficult to grasp a topic from his explanations, but he (as other reviews mention) is really really good at answering questions until there's a solid understanding (both in lecture and office hours). Exams were frustrating because they use the same practice exams every semester and the practice rarely helps with the actual exam. It's kinda a matter of if you were lucky enough to study the right things at the right level of detail (it's not really possible to study everything at the highest level because he brushes over some of the really hard stuff). I'm normally good at studying "smart, not hard" but the exams in 351 really threw me for a loop. Thankfully he provides topic lists for each exam that help narrow it down a bit. Overall, I would say Dr. Teli could be a perfect professor if he ran the class slightly differently (which would really just mean making it a bit easier, providing hw solutions earlier on to the TAs, only covering relevant material, and giving more useful practice for exams).
Clyde Kruskal
CMSC351

Expecting a B-
Anonymous
12/28/2021
Kruskal's okay I guess. He's a pretty cool guy to talk to, but the class was disorganized, the TAs were kinda ruthless, and the exams were crazy. If you're gonna take 351, just take Teli if you can. If you have to take Kruskal, try to keep your grade above 50%. If your grade dips below that you're almost guaranteed to fail.
Clyde Kruskal
CMSC351

Expecting a C+
Anonymous
12/27/2021
- He pre-records pretty much all of his lectures. Sometimes the lectures are clear and well-made, but mostly he uses in-class recordings from a couple of years ago, which can be frustrating to watch because of poor audio. The actual content of his lectures are OK though, and I'd say he's overall a decent lecturer. - The class sessions are used to go over assignments and any extra ramblings. This flipped classroom approach seems nice at first, but the problem is that he assigns a quiz that is due before every class, so you pretty much have to dedicate an hour or two before the class to actually watch the lecture and take the quiz, in addition to the time that you're already spending on homework assignments and studying. - Exams are crap. Averages are usually in the mid 50s, and make up around 80-85% of your grade (the rest of your grade comes from homework/pre-class quizzes). The fortunate side of this is that Kruskal grades with a huge curve, so you're usually not at risk of outright failing if you're doing about average. In the past, exams used to be based heavily on homeworks, but that seems to have changed this semester, with exams having new problems that are only loosely based on previous homeworks. He also seems to have added a number of different topics this semester that he doesn't usually cover, and this was particularly frustrating because many of the TAs and GSS leaders did not have any familiarity with the material at the tail-end of the semester. - He outsources pretty much all of his course operations to his TAs, aside from lectures and homework/exam writing. This was probably one of the most frustrating parts of the course, because the TA team is woefully understaffed and left most of our homeworks ungraded until after finals week. I do not understand how 330 had almost 20 TAs and 351 has barely 10, most of whom are other undergrads who have obligations with their own courses. Seriously, this is one of the most ridiculous parts of this class - please hire more TAs. - Kruskal himself is a nice guy and is flexible + willing to help. I would highly encourage people to go to the actual classes/lectures to stay engaged and to get help from him directly. Tl;dr - Kruskal is a nice guy and a decent lecturer overall. This class is highly disorganized, has difficult exams, far too few TAs, and content that is pretty boring and occasionally difficult to understand. If you can take this course with Justin or Teli, take it with them.
Clyde Kruskal
CMSC351

Anonymous
12/26/2021
Very interesting professor in my opinion. He started prerecording lectures for recent semesters which seems to be better in my opinion. He said that he will redo the ones with poor audio quality for future semesters. Basically, all of the actual content is covered in these videos. Class time is for going over homeworks, quizzes, exams, etc, and tangents about interesting puzzles. I highly recommend going to class because I think it helps you practice how to find solutions. The quizzes were often dumb gotchas, but there is one every class, they total like 6% of your grade, and a significant portion of them (maybe around 5) are dropped. Exams are pretty gnarly. Average is usually between 50% and 60%. We had way too few TAs. We had about 10 out of 17 homeworks ungraded on the day of the final exam, which is unacceptable. Kruskal is pretty helpful in office hours and is much more generous with partial credit than the TAs.
Clyde Kruskal
CMSC351

Expecting an A-
Anonymous
12/26/2021
Ave =61%, STD=17%, fail cutoff = 49%, what do you mean that equals 1/4 of the class fails. Other than the extreme cut-off, and how low the exam aves are. Horrible prof, lectures are half tangents that don't relate to cs or anything academic. Explains things poorly. Class is unorganized, our syllabus was finalized day grades are due. He leaves almost everything outside of lect to TAs.He writes his exams the morning of. Half our assignments got graded the day after grades are due. The list goes on
Mohammad Nayeem Teli
CMSC351

Expecting an A
Anonymous
12/22/2021
Teli is a nice and approachable professor. 351 is a pretty difficult class no matter who the professor is, but I thought Teli did a good job explaining concepts. The homeworks were appropriately difficult, although there were a few questions that required a lot of time to work through and understand. One thing I thought was really good was that he lets you work with other students as long as you cite their name. However, the exams are not remotely related to the actual class content. I took this class in Spring 2020 and I felt like the professor just took random leetcode problems off the internet and combined it with unecessarily complicated mathematical problems. There is a pretty fat curve on the class though (at least 10 points from what I remember) which is nice. My main issue with the class, which is partially just the fault of the way UMD has structured the 351 curriculum, is that it is not actually a useful algorithms class. A really huge focus of the class is calculating the exact runtimes of different algorithms, rather than actually focusing on how the algorithms actually work. Unfortunately its still a mandatory CS course, but if you want to actually learn algorithms, take CMSC451. I gave Teli 4 stars because he did his best given the circumstances, but CMSC351 barely deserves 1 star.
Clyde Kruskal
CMSC351

Expecting a B+
vchari
12/19/2021
Rambling. Terrible recordings. Doesn't interact /want to with students.
Clyde Kruskal
CMSC351

Expecting a B
Anonymous
12/18/2021
Kruskal is honestly not a bad professor, but the problem is he's not really organized. When he comes to class prepared, his lectures are really good, otherwise he just spends time talking about other concepts which can be cool, but they don't really matter too much. My biggest problem is the TAs. It honestly seemed like they were working against us, trying to look for any reason to take as many points off as possible. Kruskal is way more understanding than them, and he's actually easier to talk to. I just wish he would do a bit more, like making the grading rubric for exams instead of letting the TAs do it.
Mohammad Nayeem Teli
CMSC351

Expecting a C+
Anonymous
12/04/2021
So you've made it to CMSC351. Congrats! Here's the deal: this course is difficult no matter which professor you take. Teli is a decent teacher and will happily answer questions in his OH or in class but the reason I believe this class is difficult is because of how few resources students are given to prepare for the 2 midterms and 1 final that collectively make up 83.5% of your final grade (yeah, you read that right). The homeworks are really good for helping you understand each topic at a very deep level but aren't good exam prep because the exams don't require you to understand the topics as thoroughly. Teli gives out practice exams that don't contain any relevant problems to the topics of the exam. They are completely useless. Students are forced to go into each exam without the slightest idea of how to prepare or what could be on it. We were given a list of topics for each exam but the list was so large it was practically impossible to study all the possible topics.
Justin Wyss-Gallifent
CMSC351

Expecting a B
Anonymous
10/08/2021
I cannot imagine any other professor has ever taught CMSC351 at the same high level quality as Justin. As someone who took the course with Clyde Kruskal and failed, retaking it with Justin was the biggest blessing in my computer science degree. His notes for this course are so good that I plan on using them for interview preparation and beyond. He made the class exciting, interesting, and erased the dread about algorithms which was instilled in me by Kruskal.
Clyde Kruskal
CMSC351

Expecting a C-
Anonymous
08/11/2021
Avoid this man at all costs. If I could go lower than 1 star I would. Don't listen to any of the reviews for this man that are above 3 stars. All of his lectures are pre-recorded from either a packed lecture hall where all you can hear is the students' coughing, or from his bedroom at 240p quality with tin-can audio that only plays in one ear. His "class times" were just 1 to 1.5 hours of him doing problems that are irrelevant to the lecture or homework material. The homework material was always based on an advanced version of lecture material that you did not learn how to do. The two exams (for my semester) were a grand total of 80% of the final grade, were 6 questions, and consisted of problems 5 levels above what you learn from class material and that I'm pretty sure he cooked up in his evil layer with the specific purpose of making you cry. Our midterm average as a class was a 44. The final exam average as a class was never released, but the entire class' grades were so bad that they lowered the final C range to a 41 in the class. The previous semester had their 'C' range lowered to a 50, which is apparently the normal passing range for his classes. Alongside all of this, Kruskal does not answer emails or his phone. He hardly ever responds to the TA's, but every single bit of communication to you comes through the TA's including his "office hours" which is actually just "TA hours." To top it all off at the end of the semester, Kruskal posted incorrect letter grades to everyone's transcripts based on our unweighted number grades. More than half the class had 'D' or 'F' posted to their transcripts when they had actually passed with a 'C' or higher. It has been over one month since the class has ended and the Chair of Computer Science as well as the Dean of Computer Science have just admitted that they can't fix students' grades because Kruskal will not answer his phone or emails to confirm with anyone from the school that he messed up. Because of this, many students from the class got deregistered from their next semester's classes because they currently (and incorrectly) do not meet pre-requisite requirements. Summary of this review: Kruskal does not care about the students. He is a tenured professor that is forced to show up and provide "something" to his students. He does not care if anyone learns the material, he will not communicate with you, and he seems to enjoy causing immense stress. This class material is already extremely difficult for even for the smartest Algorithm students, yet Kruskal manages to make it exponentially more difficult and stressful. Avoid this man and anything he teaches at all costs for as long as you live. Go to another school to fill this requirement if you have to. It is not worth it to fight through torture with him.
Clyde Kruskal
CMSC351

Anonymous
07/22/2021
I've heard all sorts of scary things about Kruskal so I was pretty nervous going into 351, but he's actually really nice. I thought he was a good lecturer, much more interesting than most CS profs at UMD. I don't know how he does things in person but for the online version the actual lecture material was prerecorded and class time was for him to go over various assignments or just talk about some random topic, usually something 250-related. Overall pretty interesting, he likes to tell jokes and stories or just kind of ramble. I think the main issue with the class is that it's pretty disorganized. Kruskal seems to have outsourced all the course logistics to TAs, with mixed results. Personally I didn't mind this but I can definitely see how it bothers people, so be warned.
Clyde Kruskal
CMSC351

Expecting a C+
Anonymous
05/27/2021
Some of his videos were really good, but there were a lot of lecture videos that had horrible audio or loads of content that did not matter. The class administration is so horribly run I would title this class the worst run class at UMD. Homeworks never graded on time (many graded AFTER the exams that the homework material was on), quizzes randomly showing up (like at 9:00 pm due at 10:00 am, thank god that was fixed), and many more. If these administration problems were fixed this class honestly wouldn't be that terrible. Probably like a 4-star, but those issues are so colossal I can't rate higher.
Clyde Kruskal
CMSC351

Expecting a B+
Anonymous
05/20/2021
I took this class in Fall 2020 Pros: + The professor is very smart, he definitely knows what he's talking about. + The inclusion of quick quizzes is a fast way for you to know if you're caught up on all the content Cons: - Lecture content is posted in the form of asynchronous videos. The video length is often significantly longer than what a lecture would be, so it forces a significant out-of-class time investment - The live lectures were almost completely useless, he spent two months going over basic induction and never covered actual relevant material - Tests are quite hard
Mohammad Nayeem Teli
CMSC351

Expecting an A
Anonymous
05/17/2021
Teli's work was relatively hard to follow online, but he was more than happy to answer any questions people had, and genuinely wanted people to understand the topics. Homeworks are almost copies of lecture work with numbers changed and occasionally new problems, but exams were almost entirely new problems somewhat based on lectures, and unrelated to practice exams.
Justin Wyss-Gallifent
CMSC351

Expecting a B-
Anonymous
05/14/2021
Made arguably the hardest CS class at UMD into one of the most interesting, useful, and honestly kind of easy class there is. Has such detailed notes for each topic that is publicly available (look up immortal umd for his umd website with the links to notes). These were absolute lifesavers and also just demonstrated how much he enjoys what he does, which is another reason why I gave him 5 stars. He is definitely one of the best professors I have ever seen. He is nice in office hours and with questions, but he will come across extremely blunt and sometimes rude in piaza and emails, but he explains that it's the fact he has so many questions and has to go through them. So I was taken aback at first since he seemed a little rude in emails and posts but he is really nice in office hours and just when he is able to actually spend time on answers.
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
05/11/2021
By far one of the best professors I've met at UMD. I was skeptical about joining his class as it was his first time teaching CMSC351 but he went above and beyond during the semester we were learning online. Justin spent a lot of time coming up with online class notes on his own time to explain difficult concepts, and spent a lot of time in lecture going through examples to help clarify content in the notes. Grading and exam timing-wise, Justin was very empathetic and reasonable with students. Do the homework and review his notes before exams and you'll do well in the course!
Justin Wyss-Gallifent
CMSC351

Expecting an A
Anonymous
05/11/2021
Justin was fantastic. He clearly cared about us and wanted us to learn the material without truly worrying about grades. His exams were super fair based on what he taught us in class. The homework was tricky but he designed them so that we would learn the material and think about it in an abstract manner.
Nathan Hayes
CMSC351

Expecting an A-
Anonymous
04/30/2021
I'm honestly not sure how Nathan became a TA. He is a horrible TA who does not care about his students. I had to submit regrade assignments every time he graded my HW. He ignores half of them and I've always had to bring them up with other TA's. His explanations are vague and unclear. It seems like he's just trying to cover up the fact that he does not understand the material. He eats rice and soy sauce during office hours (?). Kusal is a much better TA. I can't believe Kusal isn't the head TA.
Mohammad Nayeem Teli
CMSC351

Anonymous
04/27/2021
This review is based off of the fact that the course is being unfairly graded. The class average is noticeably higher than the past. I have heard from multiple mutual friends that they know other students in large cheating circles, and its likely the cause of the jump in the average. Instructors seem to be unaware of or ignoring this issue, and it is hurting the chances of honest students to pass. Previous semesters had cutoffs in the 40s and 50s, but current students are facing a 64% cutoff. This issue could be dealt with by grading this semester slightly different than normal and accounting for grade inflation with a lower cutoff, but it does not seem like they are going to. It is understandable that cheating is difficult to enforce online, but it should not lead to negative repercussions on students performing average under honest efforts. While the semester is not over, it seems like this issue is not going to change. I understand some people may read this review and assume I am just taking out my frustration, but I am not. This is a serious problem. I like Teli as a person, and he has better lecturing skills than other professors. This issue stems from the inability to properly proctor exams through Zoom. Adapting your class properly in times like these is important, and Teli just is not. I hope he proves me wrong, but as I said before, the way he is seemingly ignoring this issue is disappointing.
Clyde Kruskal
CMSC351

Expecting a B+
Anonymous
04/10/2021
Class is definitely disorganized and needs a major restructuring. Despite this, I think when Kruskal is actually focused on lecturing, he explains things pretty well (like in his 15-20 minute recordings on specific topics). Exams were very difficult and worth way too much, but were modelled very closely to homeworks. TAs are hit or miss. You're likely gonna heavily rely on the 351 Bible (a large set of notes by a former TA that covers nearly every topic), along with some online videos for topics that you are confused about. If you do use these, though, you should be able to pass the class.
Mohammad Nayeem Teli
CMSC351

Anonymous
04/06/2021
Genuinely nice guy and very knowledgable about the material. However, the exams are complete garbage and have nothing to do with anything he teaches or the homework. Alot of the times it feels like he's not even teaching us anything useful.
Mohammad Nayeem Teli
CMSC351

Expecting an A-
Anonymous
03/31/2021
One of the sweetest professors I've ever had. He will go through any step of an algorithm or analysis if a student is confused, no matter how trivial it is. This is especially helpful when covering topics that require a deeper conceptual understanding like analyzing the complexity of different variations of quicksort. The homeworks are good practice and if you can get your hands on any of the past exam questions, I highly recommend practicing with those as well. The exams can be difficult, but as long as you make sure you get all the easy points scattered throughout and dont get hung up on any one question, you're golden. There was also a heavy curve at the end of the class and Teli even extended the lower bound of the standard deviation to allow more students to get C's and pass (Math: final mean was 70.82 and std. dev was 11.78 so realistically, only grades above a 59.04 should have passed. But he extended it to allow students above a 54 to pass). All in all an incredible teacher and great guy!
Clyde Kruskal
CMSC351

Expecting a B
Anonymous
02/10/2021
Had him last semester. Everyone complains because they don't put in the work. I was busy with recruiting last semester so I prioritized that over school. But if you honestly keep up with the work and don't push all the studying until last minute you'll be fine. Everyone complains that the professor is ass but its because the concepts require actually thinking, whereas everyone is used to spoon feeding. Regarding the TAs, its either a hit or a miss. They tend to grade relatively slowly.
Clyde Kruskal
CMSC351

Anonymous
01/16/2021
Kruskal is a great person, and he's a really brilliant computer scientist. In terms of explaining material, he's pretty good as well. This semester he uploaded short video lecture videos asynchronously, which are great because they let you rewind whenever you want. His homeworks are like puzzles, but if you can talk them out with your friends you'll do a great job on them. MAKE SURE you find people to work on the homeworks with you! Otherwise, it's 10x harder to pass the class. Now for the negative about this class: The exams are fucking bullshit. Yeah, they are heavily based on the homeworks, however, the graders show no mercy on some questions. The format of the questions are in a way such that if you are blanking out on a how to solve the problem, you're pretty much screwed out of 5-10 percent of your final grade in the class. I studied and restudied for the final exam so much, but when it came around, I still met some problems where I understood the concept, but the algorithm for solving it, wasn't coming into my head. Personally, I don't know what more I could have done to prepare for the final, and I still got a pretty low score (I passed though). So in summary, clyde is a good professor who gives crazy ass exams. The exams are about 70 percent of your final grade, so make sure you know your shit thoroughly. But at the same time, make sure you are also very well rested before you take the final, or midterm. You want your mind to be on it's A game. The material of this class isn't really too hard to grasp and understand either. I thought that it was going to be based off 250, which I wasn't the best at, but it's a lot easier in my opinion. Just watch out for the exam questions!
Clyde Kruskal
CMSC351

Expecting a D+
Anonymous
12/28/2020
Took him during a pandemic because no other professors were available don't make the same mistake. he uploads pre-recorded lectures from previous years with horrible sound quality and the final was 45% of our grade.
Mohammad Nayeem Teli
CMSC351

Anonymous
12/24/2020
Had him last year, this review is not just for him but also for his TAs. Had a classmate who tried to get help on HW from a TA named Anton who barely helped and had a very condescending attitude, and at times it felt like all of the TAs were like that. Teli's lectures were simply writing math and proofs over white paper, and they were very dry and sometimes hard to read his handwriting. I wish there could have been additional material like slides. Even if you paid attention it seemed hard to figure detail was actually important and what was not. Exams are difficult, and homeworks/practice exams don't really help. What's worse is they are unwilling to provide you with any previous exams whatsoever because they claim it will give the answers away when in reality they could come up with new problems but are too lazy too. Exams felt more like an IQ test where you have to be really clever, and the grading is ruthless. He is extremely stubborn with his rubrics as well; even if both students and TAs feel you have a good argument for partial credit, he's still not gonna give you any points. If I could go back in time I would have taken Kruskal instead because at least his exams are based on his homeworks, unlike Teli and also he seems to be a more effective lecturer who gets his points across and separating them from the non-important points. Only pro I can say is he is nice, but don't make the same mistake I did and think that that means he is an effective teacher.
Clyde Kruskal
CMSC351

Anonymous
12/20/2020
If you don't want to fail, then run! No matter how much effort you put in the class is so poorly taught that you end up not learning anything.
Clyde Kruskal
CMSC351

Expecting an A
tybug
12/20/2020
I think Kruskal only half deserves the reputation he has (or that he and 351 jointly have). His lectures are not great. He often implicitly make assumptions in lectures, leaving you very confused if you don't see the implicit assumption yourself, because he will not clarify it unless asked. And even when asked he doesn't answer very well. I truly don't think he's being malicious, he just can't see student's train of thought and see where the reasoning is breaking down. People who are reasonably "smart" (for some definition of intelligence) will probably see these assumptions and be fine in lectures, but people who are not will struggle with this. I found the exams to be very fair. It might have been because of covid, but our exams did not include a challenge (or "interview") question. Instead they were mostly minor variations on homeworks. Overall, I agree with the vocal majority that the course content is not taught well, but disagree that the exams are unfair.
Clyde Kruskal
CMSC351

Expecting a B-
Anonymous
12/15/2020
Ok, so I know that Kruskal gets a lot of hate. His course is definitely disorganized and he does not spend lecture time actually teaching the stuff, rather going over other topics like probability and induction, and getting distracted by telling bad jokes. Homeworks were vague and were graded very late. Some TAs were great, but others were not really knowledgable. HOWEVER, I will say him and TAs are responsive on Piazza and gave reasonable extensions. Also, the biggest selling point is that his exam questions are almost always variations of the homeworks, which means you can predict what the exam questions may be like in advance. That is the single reason in my opinion why you'd want to take Kruskal over Teli, because his exams, the biggest part of the grade, are predictable enough to pass the class.
Mohammad Nayeem Teli
CMSC351

Expecting a D+
Anonymous
12/15/2020
Teli gives good lectures (especially online where chat makes it easier to ask questions), but his exams are so brutal and completely different from the homework. And the practice exams. Yeah, the practice exams in this class are worthless. This is a class that needs some major changes, but in its current state, I suppose Teli is a good option.
Clyde Kruskal
CMSC351

Expecting a B
Anonymous
10/02/2020
please don't give last year record, really can't hear anything clear about it.
Mohammad Nayeem Teli
CMSC351

Expecting a B
Anonymous
06/01/2020
He handled the switch to online classes very well and ended up using a fair grading system to adjust to the difficulties of the semester. He goes pretty fast through the material, so I always benefited more from the Panopto recording more than attending his live lecture. Besides for that, there was the usual 351 nonsense: some homework questions were nearly impossible to solve and you couldn't succeed unless you did extra studying on your own time by using outside resources such as Leetcode.
Clyde Kruskal
CMSC351

Expecting a P
Anonymous
05/25/2020
Professor Kruskal tries his best to teach the material, and he seems like a nice guy. He has his good moments, and it's in those moments where you can obtain a lot of knowledge about algorithms. However, there are also moments where he rambles a lot, which makes it hard to pay attention to the class. Make sure you try your hardest to understand the course material because it seems fascinating even in a hard class like CMSC 351.
Mohammad Nayeem Teli
CMSC351

Expecting a B-
Anonymous
05/25/2020
The class really sucks. I really hated it. It’s so focused on trivial algorithms and finding the EXACT runtime complexity that it’s just a math class. You don’t really have to worry much about algorithm design, just go on leetcode and see how basic divide and conquer/graph problems are solved and you’ll be able to slide by. Pay close attention to solving recurrences, construction induction, etc. because they’re pretty easy points on exams. In my opinion, the hardest part of the tests are trying to understand what the questions are asking, and sometimes the answers to some problems seem nearly impossible to get in the allotted time. Luckily, everyone goes through this struggle together so the final curve is humongous. Thankfully, Teli is a really good professor. He is so thorough and clear in his lectures, he answers everyones questions, and he really cares about your learning. He will skim over things sometimes, but chances are someone will raise their hand and ask for clarity, to which he’ll happily respond to. One importing thing though is that he records his lectures BUT not the lectures before tests, which are basically him going through any practice exam he gave us (which are hardly ever representative of an exam we’re given). TLDR: Teli good, 351 bad.
Mohammad Nayeem Teli
CMSC351

Anonymous
05/21/2020
Teli loves to focus on the intuition of algorithms and problem solving. Teli is a patient lecturer and often stops to ask if anyone has questions, and he's quite approachable in office hours. In lectures, he works through the book proofs, and in general the exams don't have too much to do with the homeworks. If you are a math wizard then you might get a little bored, in which case I would suggest Kruskal's class. If you just want to get by, Teli's emphasis on intuition will serve you well.
Clyde Kruskal
CMSC351

Anonymous
05/11/2020
The disorganization complaint echoed across this website about 351 stems from a lack of communication between Kruskal and his TA's. There has been a few times where I would get marked off by TA's on homeworks because I did it differently than the grading criteria although I checked in with Kruskal beforehand and made sure my way was correct as well. Although the TA's regraded them, it shows the lack of communication. Also, posts on Piazza regarding how certain problems can be done are usually answered by the TA's with "defer to Kruskal". Like, bro, just make up your mind as a teaching panel and tell us, I don't need another side quest to find Kruskal and ask him the same question right now. Kruskal himself is a very knowledgable professor (dude has been doing research on this area for god knows how long, he's like a fossil). Some lectures he articulates the concepts very clearly and makes it very easy to understand, other lectures he leaves the class a little confused. When the latter happens, please go to office hours before complaining here. From what he told me, he only gets a few visitors per day (TA's might get more). I don't really understand how people can be blasting Kruskal for being a bad professor while they don't go to office hours for help. Unfortunately we can't rate courses, we can only rate professors, and Kruskal is one of the better professors in one of the worst-run courses.
Clyde Kruskal
CMSC351

Expecting an F
Anonymous
01/27/2020
If you have class with Kruskal all I can say is GG
Mohammad Nayeem Teli
CMSC351

Expecting a C+
Anonymous
01/10/2020
The content and class is a mess tbh. But you can tell that Teli cares and wants to make sure that every student gets the idea down. He uses most of lecture time going over the algebra of some analyses, which makes it easy for students to get lost during lecture and find it a pain to sit back down to review everything for the homeworks. Before the final, I was sitting around a 56%. After getting a 67% on the final (wasn't as bad as anticipated), I managed to get up to 60%, for a final grade of C+ (3% away from a B-!!) Moral of the story, if I can do it, you can too.
Mohammad Nayeem Teli
CMSC351

Expecting an A
Anonymous
12/30/2019
Teli isn't a perfect professor, but he genuinely cares about the content he is teaching and about student success. I found his lectures a little boring, but tests and homework felt fair.
Mohammad Nayeem Teli
CMSC351

Expecting a B+
Anonymous
12/21/2019
ok as a lecturer, but i give this rating for the TA's and how he ran the class. Ridiculous and unforgiving grading for a class that has simple material. 48 was a C- this semester.
Clyde Kruskal
CMSC351

Anonymous
12/10/2019
Sometimes he's a good lecturer, and sometimes he just rambles on and on about irrelevant content. Usually he is fairly entertaining when he does that. A counterpoint to some of the Kruskal yay-sayers is that when you get to the gritty, Kruskal actually is a good lecturer. I honestly disagree, as Kruskal explained several key points terribly throughout the course, including but not limited to the tree method, several explanations about the existence of paths and the correctness of the MST algorithms, and solving optimization problems using decision problems using polynomial overhead (which is something that he stated will be on the final). He is an average lecturer at best. The homeworks are decently challenging, but they don't help you learn the theory whatsoever. And honestly the theory for this course is extremely meager. To study for the final I made a topics list and it didn't even cover a full page of content.
Mohammad Nayeem Teli
CMSC351

Expecting an A+
Anonymous
10/10/2019
Energetic and caring professor, but very sloppy. If you're after rigor, don't take Teli. He spends far more time in lecture reviewing algebra than teaching computer science, and when he does get around to explaining some theory, he mostly just waves his hands. That being said, he is likely an easy A. Take that as you will.
Mohammad Nayeem Teli
CMSC351

Expecting a B
Anonymous
10/01/2019
Great, engaging lecturer who put an emphasis on applying the algorithms. Also covered some algorithms not in Kruskal's. Funny guy who is easy to talk to. Curved about 8-10%
Clyde Kruskal
CMSC351

Expecting an A
Anonymous
05/26/2019
Great lecturer, with in general, fair exams. He doesn't award much if any partial credit, so it is important to be 100% confident in your answers. I thought that the course's logistics were not the best, even if they were done by the TAs and not Kruskal himself. We weren't able to get our homeworks back before the final for example, and the final took ~1 week to grade. The final was particularly brutal, with ~45% average, but the other tests averaged about 61%. The other exams felt very fair, and if you could do the homework, it shouldn't be bad. The final was not fair however, so you're always taking a risk on whether you're getting a reasonable exam or not.
Mohammad Nayeem Teli
CMSC351

Expecting a B+
Anonymous
05/20/2019
Spring 19' was the first semester Teli didn't just use all of Kruskal's materials. The lectures were straightforward and the exams were fair and manageable.
Clyde Kruskal
CMSC351

Expecting an A
Anonymous
05/14/2019
kruskal may be really tough and all, and sometimes doesn't completely finish the math when he does it on the board, but his tests are more or less an easier version of the homework. if you understand how to do the homeworks, you can get a decent grade on his tests. i'm not an extraordinary smart person but i didn't think this class was impossible, but again don't underestimate the class either, because some of the homework questions he asks can seem really difficult at times.
Clyde Kruskal
CMSC351

Expecting a C-
Anonymous
05/11/2019
Just keeps on rambling. Always assumes you'll know the concepts and skips over a lot of stuff.
Mohammad Nayeem Teli
CMSC351

Anonymous
04/11/2019
Terrible teacher, please avoid him. the courses are mess and exam are ridiculous. midterms are easy but final exam isn't the same level as the midterm.
Mohammad Nayeem Teli
CMSC351

Expecting a B-
Anonymous
04/06/2019
Class is a mess, but thats 351 for ya. Teli is a good lecturer though and seems to car about his students.
Nelson Le
CMSC351

Expecting a B
Anonymous
02/05/2019
God TA. He held weekly review sessions and was actually f'ing helpful. If it weren't for him, I would've fallen prey to Kruskal's grasp.
Mohammad Nayeem Teli
CMSC351

Expecting an A-
Anonymous
12/25/2018
Mohammad is a solid lecturer. He co-taught with Kruskal (same homeworks, tests, everything), so if you're looking to escape Kruskal, taking Mohammad won't help. He's a very nice guy and usually explains the material clearly and is well prepared. I also felt like he improved his lecturing over the course of the semester (this was his first semester at UMD). The course is terribly managed and run, but that's the fault of the TAs and Kruskal. If you go to lectures and put time and effort into fully understanding the homeworks and study for the exams, you should be OK on the exams.
Mohammad Nayeem Teli
CMSC351

Expecting an A+
Anonymous
12/23/2018
He's a pretty good lecturer, explains concepts fairly clearly. His lecture style is writing out math with a pen on a document camera, so sometimes it gets messy with corrections/multiple pages. That being said, he does make a bunch of mistakes during class that take a while for him to catch, but overall he's good.
Clyde Kruskal
CMSC351

Expecting a B+
Anonymous
12/14/2018
Coming into this class, I knew what to expect with Kruskal because I had him for CMSC250. He seems like a great guy and he really knows what he is teaching, but I do not find him to be a good teacher. However, I can see why others would disagree. His lecture style seems to work very well for some and not at all for others. I definitely fall into the second category. Although I stopped attending his lectures early on, I was able to do well in the class by taking the homework assignments seriously, watching a lot of YouTube videos, and watching the Panopto recordings from the other professor. I don't mind learning this way and Kruskal's exams are very fair (even if they are hard) because they are based almost solely on the homeworks. But if you are someone who prefers to learn directly from the lectures instead of someone who learns by struggling through homeworks, I would not recommend taking Kruskal.
Clyde Kruskal
CMSC351

Expecting an A+
Anonymous
12/04/2018
One of the better professors I've had at UMD CS. He knows his stuff and is easy to understand and follow.
Evan Golub
CMSC351

Expecting an A
Anonymous
07/12/2018
Golub talks a lot during lecture without having a lot of information on the slides themselves. The most crucial information you will learn is what he writes down during class. However, he will not post those notes online, so you can't miss any classes. If you show up to class and take down his notes, you will most likely be successful. Every once in a while, he will post example solutions on the course website - take advantage of them because he will most likely ask a similar question on his midterms. He has many homework and practice questions, but never posts the answers. So make sure that you compare answers with other people before the midterms. Study groups are key since you will never be provided with homework answers. If you go over every practice question and every homework, you will be adequately prepared for the midterms. The midterms are simple compared to the practice questions - just make sure you read the instructions carefully because Golub often asks that you only set up the question and not solve it. He isn't the greatest lecturer, but he will teach you enough to succeed in your class.
Mohammad Hajiaghayi
CMSC351

Expecting an A
Anonymous
05/11/2018
Entertaining, very good lecturer. Provides a reasonable amount of work that is easily doable and leniently graded. Take his class for CMSC351 & CMSC474.
Clyde Kruskal
CMSC351

Expecting a C
Anonymous
04/17/2018
Kruskal is genius but he lacks the ability to teach. He thinks we already know everything. I was in the TA room everyday to get my homework done and study for the exams. Phong saved our lives. Without Phong passing this class would have been impossible. He changed the structure of the class to help students. various office hours to get help. 5 starts for Phong.
Clyde Kruskal
CMSC351

Anonymous
04/12/2018
Kruskal is an awful educator, an irresponsible mathematician, and an unapologetic narcissist. He asks questions in class, which is always a pain. Right before calling on you, he might say something demoralizing like "I don't think you have the right answer, but go ahead and try." After you answer, he may say something like "I knew you had it wrong." or "Google will never hire you." Kruskal assigns a ton of homework. Be prepared to join a study group and meet multiple times a week and have no social life just to complete his homeworks - which, by the way are really vague sometimes. God forbid you ask him to be more specific with what he means on a question - he will say something like "it should be clear from the context what I mean". If you press him further, he will get even more annoyed at you, and never answer your question. The homeworks are vague enough so that a TA in office hours once had to announce to everyone that he instructed people incorrectly on a problem because of misinterpreting what kruskal called "clear from context." A true mathematician is always very clear and specific when defining a problem that they're solving (or asking someone to solve) - it's arguably the most important part in solving a problem. Yet kruskal can't be bothered to specify what he means when his wording could mean two things reasonably and even a TA gets it wrong. If you ever misinterpret kruskal's meaning from context, he will say you're cheating for not "answering in the spirit of the question". He thinks you purposefully misinterpreted the question to make it easier, or something. Don't expect to be able to make regrade requests on much, either. He said something along the lines of "don't make a regrade request just because a TA graded you more harshly than someone else. That's just life". even though that is literally what capricious grading means and there are numerous policies against that and the instructional staff have an obligation to correct any capricious grading like that... One time, he was working on a really hard problem in class. A student pointed out an error he made, and he said "oh. i'm lost and confused. so you are all dismissed" And we just left without the answer, never getting the answer. Kruskal spends all his time spouting nonsense about how students are always wrong yet he can't solve a problem he posed to us himself. If at all possible, take 351 with someone else who isn't a d0uchebag who likes making his students suffer.
Clyde Kruskal
CMSC351

Expecting a C
Anonymous
04/11/2018
This class is difficult no matter who teaches it. It is obvious Kruskal is an algorithms wizard and it worth taking his class, even if it mean night exams and long homeworks. Office hours are a must for this course but more enjoyable because of Clyde
Mohammad Hajiaghayi
CMSC351

Expecting an A+
Anonymous
03/15/2018
Entertaining lectures and fun homeworks/exams.
Clyde Kruskal
CMSC351

Expecting an A
Anonymous
01/30/2018
Clyde is disorganized, and hard to communicate with for administrative issues. He also gives the impression that he does not really care about his students. Despite this, I think he explains the content of the course adequately.
Clyde Kruskal
CMSC351

Anonymous
01/09/2018
I'd like to first clarify explicitly that this rating is of *the course itself* and my experience, and not Kruskal personally. "Clyde," as I sometimes hear other students call him (not my style), is friendly, even solicitous, in person; although at times I was very frustrated with him I never had a bad impression of him as a person. But almost everything else about the course, including his teaching style, left me unhappy and on-edge. Among other things, at the end of the course I received a grade better than a B - the night before, I had calculated the likely cutoff for a C-, because I was *that* unsure where my not-yet-graded final exam performance left me. A member of my friend-group was dumbstruck to receive a 50% on one exam (exams are far-and-away the bulk of your grade in this course), only to discover that he had been misgraded by about 30% - that is, he actually earned an 80. To avoid going over-length with anecdotes, some key complaints/corresponding survival tips: - TAs are perennially unhelpful (make sure you work with other students) - Exam questions draw heavily on homeworks, so successfully understanding homework (no matter how vague or slow-grading TAs might be) is important to get done before exams - Grading is slow and curves aren't specified until the very end (avoid panicking, and monitor where you are with respect to the average; for reference, 75% earned you an A in my semester) - Make sure you understand the rudiments of calculus (how integrals are approximated with sums, for example) and summation-handling, because this knowledge will be largely assumed in derivations - Our final exam was largely *not* cumulative, and what did show up was more trivia we'd all forgotten than anything substantive (all I can hint here is to take note of "space complexity" during the course) - TAs frequently pull the hardest exam questions from websites like "geeksforgeeks," interview-type questions for professionals; studying at least a few of these will give you a fighting chance of solving the problems in real time - The textbook is sometimes helpful but always a pain to read; if you anticipate trouble, start reading in advance - This course often tends towards the frustrating; instead, try to have fun - really the best thing about this course is it encourages on-the-spot facility with making a good algorithm to solve a problem you encounter, which is a cool skill to have Sadly, I could still say more, but I think I've gone on long enough. Kruskal's course by reputation teaches you more than others - I'd certainly say so - but the stress and the "on-your-own" attitude mean that you have to be aggressive about making sure you understand well enough and have enough practice to acquit yourself well on exams. Truthfully, I can't say I recommend Kruskal's 351 - only that it is survivable if you bite down from the start.
Evan Golub
CMSC351

Expecting a B
Anonymous
01/02/2018
Taught me all I needed to know, he had no surprises on his tests and was a great resource when I had concerns about my grade. I failed the first test (like 20%), studied my butt off for the next 2 and the final and ended up with a B.
Clyde Kruskal
CMSC351

Expecting an A+
Anonymous
01/02/2018
Kruskal is one of the best professors I've ever had. Is he easy? No. But his style, for me, just fits. Everything he says has a logical purpose in the lecture. He not only explains everything that's done, but he also goes over it again if someone asks. He periodically stops and asks if everyone is following. If you are lost, and you aren't asking questions, that's YOUR fault. Not his. Kruskal expects you to be intuitive. This may make some students struggle, but to be quite honest, it really comes down to how much work you put in to the class in order to gain that intuition on how to solve a problem. 60% of every exam is basically regurgitated homework problems. As such, if you fail this class, you simply aren't putting in the time to nail down the homeworks to perfection.
Zachary Wilton
CMSC351

Expecting a B-
Anonymous
12/23/2017
He was a TA for Kruskal in CMSC 351. Super friendly guy. Don't expect him to confirm your intuition or your answers, but that is a cardinal rule Clyde gives all his TA's (some follow it more leniently than others however). He can explain things better for you because Kruskals wording on his problems can go over your head some times. Theres no discussion sections in 351 so just rely to see him in office hours.
Clyde Kruskal
CMSC351

Expecting a B-
thunderd568
12/23/2017
Love the guy. He has an eccentric personality but if you get one on one time with him, get to know him and show genuine interest in the material, he is great. I retook this class after not passing over the Summer. Did much better the second time. If you have to retake a second time, fear not. Nearly everyone who retakes Kruskal does even better the second time around because he doesnt change a thing. Hes a creature of habit. The addition of a second midterm in the semester has helped the class be more "pass-able". Clyde is probably the best option for 351. His exams can be daunting in terms of how hard it makes you think, but it mainly just recycles some home work problems with different numbers and one coding interview question. After getting a D+ the first time in the summer, I am expecting a B- the second time around after the curve. It can be done!
Clyde Kruskal
CMSC351

Anonymous
12/15/2017
This man is terrible. His lectures are rambling, he is unhelpful, and he just doesn't give a flying fuck about you as a person.
Clyde Kruskal
CMSC351

Expecting a B
Anonymous
12/14/2017
This class was one of the toughest algorithms classes I've ever had. Clyde is somewhat of a right of passage for UMD, but that doesn't make the class any easier. The professor is somewhat disorganized and gives bogus explanations for things, but you learn a ton about sorting/selection algorithms and complexities in the worst case for most things. The first midterm from this semester was brutal (and I heard harder than last semester), and the average was a 56% with a standard dev of about 15 pts. The second better wasn't too bad and had a 68% with standard dev of 15 pts. I've no idea how the final will be, but I know the class has become more lenient since 2010-2012, so I'm hoping not too bad. They'll apparently test you on MoM, graphs, minimum spanning trees, and np on the final. Good luck to anyone taking this class, and get a study group :)
Evan Golub
CMSC351

Expecting a B+
Anonymous
10/31/2016
Golub was a terrible professor. It was extraordinarily difficult to pay attention in his class because he talked about the material in such a fluffy way. There was no concrete information on the slides, and the copies that he put online were half complete and didn't show the work he wrote in class. Also, he refused to put full solutions to homework and thought questions online, which made it very difficult to study by myself. Overall, I was extremely unhappy with how little I felt I learned from this course. You need a professor who can teach the material much more clearly and in a concrete way, not one where he blabs for half the class. I also don't feel that I learned at all how to apply the knowledge I learned from this class to anything I would see outside of this class. He was also very strict and not willing to be accommodating of student concerns for the most part.
Clyde Kruskal
CMSC351

abolstery
12/20/2013
Clyde is actually very intelligent, and I found it fun to learn from him. While lectures aren't extremely helpful at the time of the lecture, going over the notes and understanding the semantics of every afterwards algorithm helps. Clyde will handwave some things in what he teaches because to him it's trivial. However if you go through the algorithms step by step, you can learn a lot and do well in the class. Overall the material was difficult, but the exams could be manageable given the right type of studying.
Vibha Sazawal
CMSC351

Expecting a B-
Anonymous
12/12/2013
Vibha is an incredibly...alright professor. She obviously knew the material for algorithms, her speech can be understood with no problems, and she is fairly excited about the content. She did a better job explaining the more abstract material, but for more concrete explanations, she wrote down the problem before hand, and copied them onto the board. This is a problem, because then she had no pacing. She went too fast during hard parts and too slow during easy parts. This was by far her biggest problem. She's also a bit harsh on students who make mistakes (for example, failing to take good notes and looking for other ways to get the content). However, this seemed to improve over the semester. Overall, I would recommend taking another professor if you have the opportunity (for example, Kruskal for 351, whose lectures, when I attended, I felt I learned more from), but, if she's you're only option, she's not terrible.
Clyde Kruskal
CMSC351

Expecting an A+
Anonymous
12/20/2012
Dr. Kruskal is a terrible professor. For algorithms, he did not teach nearly as much as any other professor. Looking at material from other semester, he did not cover as much material NOR covered it as deeply. He would refuse to do proofs under the mindset that they were not instructive. Even when he did attempt them, the proofs were so terrible I didn't even bother writing them down. He would always be minutes late, and would often spend the last chunk of classes doing unrelated material further wasting time. This being said, our semester also had many terribly harsh graders for TA's. The class up to the final was pretty straight forward. The midterm was not too difficult, and the weekly homeworks were usually doable and he accepted resubmissions (and very late submissions). The final exam was incredibly difficult and harshly graded. The mean was a 45, and the final cut offs for passing the course was a 37, and for an A-, a 67. In the end, going to lectures and doing the homework is still crucial. He does not offer any other manner of learning the little he did go over in the semester, such as online notes, so not going to lecture makes getting a decent grade nearly impossible. I would not recommend him. He makes the class just as difficult as the other professors, but you end up learning less in the end. It might be a little less work with the somewhat small weekly homeworks, but it is not worth it in the end.
Mohammad Hajiaghayi
CMSC351

Expecting an A
Anonymous
08/31/2012
I actually liked this course with Mohammad. Sometimes the homework seems impossibly hard, but just go to office hours with the TAs and you get through it much quicker. To get do well on the exam, just memorize the homework problems and study the lecture notes.
Clyde Kruskal
CMSC351

Expecting an A+
OtG
03/21/2012
If you're not into math, STAY FAR FAR AWAY. The lectures are incredibly hard to follow, but attendance is still imperative to have any chance of success. The homework is quite difficult and extremely time-consuming; expect to spend 8 hours per assignment and to get a low grade. There is no indication of what to expect or how to prepare for the exams, but fortunately they were tempered significantly to make them fit into the allotted time. They're not easy, but they're not impossible either, which is all-important since the two exams are 90% of the grade.
Michelle Hugue
CMSC351

Expecting an A
Anonymous
11/21/2011
She's just not a good teacher. I'll agree she's a very understanding person and I like her exam style, but we should have gotten way more out of 351 than we did. I didn't enroll in 351 to hear Meesh talk about random stories from her life for the entire class. It's great when professors can provide relevant anecdotes to the material that they're teaching, but Meesh just provided anecdotes about whatever happened to pop into her strange mind at the time. At least the class is really easy though. I mean we only had 4 hws and one small project, which just goes to show you how little we learned.
Michelle Hugue
CMSC351

Expecting an A+
xenonscreams
05/16/2011
This was my second time having Meesh. She is complicated. I'm a firm believer that a professor is not defined purely by his or her lecture skills, and since she's not your average professor, I have to break this down a little. Lectures: Tough to follow. If you learn purely through lectures, you might want to avoid her classes. Exams: Long, but fair. She does not penalize you very much for missing small details. Just don't ever get caught up on one problem. If it takes you too long, skip it. Homework and projects: Also pretty fair. She doesn't seem to believe in secret tests. She isn't as forgiving about stupid mistakes on homework as she is on exams. Accommodations: Seriously amazing. Is your life hard? Do you have other things going on? Do you mess up sometimes, and does that one bad day sometimes ruin your entire grade for a class? Congratulations, Meesh acknowledges that you are human! That test you took half-asleep and sick and stressed beyond belief? Dropped. That homework you couldn't do because you had so much going on outside of this class? Dropped. That day you have two projects due and two homework assignments due and two exams? Meesh is the professor who will give you an extension. Disabilities: If you have any sort of disability it is really nice to have a professor who understands. Meesh will be the first person to realize that you're not stupid; your brain just works differently.
Clyde Kruskal
CMSC351

Expecting an A
rockinbassman
03/21/2011
Kruskal comes from a long line of brilliant mathematicians and he is no exception. However, he forgets that not everyone, especially undergraduates, are not as brilliant as he is. His homework assignments were vague and sometimes his lectures would go off on vague tangents. His midterm and final were very difficult. Average for both was about a 50. Granted, his curve is mean + std. deviation is the B/A line which is nice, but still hard and stressful. If he's your only option, you'll live. If you have other options, take them instead.
Michelle Hugue
CMSC351

Expecting an A
SchrodingersCat
03/08/2011
really guys! I am puzzled, how could anyone give Meesh 5 stars?? Granted her "lectures" can be entertaining but you don't learn anything. She just sits on her fat ass and tells you stories. Her rare efforts to actually teach result in a tirade of nonsense. The only times I've learned anything in her class are when the TA took over. She often comes to class late, and occasionally even misses the entire class. She doesn't even write up her own notes. I am a math, physics, and cs major and in all my classes I've learned one thing - that the CS department needs to do an overhaul of their professors. And the first thing they should do is fire Dr. Hugue.
Clyde Kruskal
CMSC351

Expecting an A-
Anonymous
03/01/2011
The previous two reviews are probably accurate in the Clyde was frequently late, unprepared, and probably didn't care tremendously about the class. I won't lie. I hated the class while I was taking it. Didn't study enough for the midterm and did awful on it. Did really well on the final and ended up with an A-. Look. He is clearly passionate about the material and he is actually decent at explaining it. As much as I hate to admit it, both tests were fair. You got a certain amount of points if you understood the homework and you could figure out the other problems on the fly if you generally understood the material. Also, do yourselves a favor. Don't spout out that CLRS is a useless book too loud. It really isn't.
Clyde Kruskal
CMSC351

Anonymous
12/23/2010
No syllabus. The book is useless. He scribbles random gibberish on the board. Those are your notes for the class. His office is a mess, to say the least. He doesnt give a damn.
Clyde Kruskal
CMSC351

Expecting a C
Anonymous
12/18/2010
Kruskal is a terrible teacher. He never showed up to teach on time, always being five to ten minutes late. He was even late to the final exam. He didn't post the chapters that went along with the material he taught in class, so your class notes were your only study source. I approached him about this and asked if there was any material in the book I could use, and he replied that nothing he taught was in the book. On several occasions he taught the wrong material. The class had no structure, either a student would remind him where he left off the class before, or he would just start in a seemingly random place. The average on the midterm was a 50%, with the standard deviation being 25%. This meant that the grades were so scattered, that a 75 was an A, a 50 was a B, 25 was a C, and 0 was a D. He was such a bad teacher he made it impossible to get an F in his class. TL;DR Kruskal is a scatterbrained, unorganized mess of a professor, and you should avoid him at all costs.
Evan Golub
CMSC351

Anonymous
07/03/2010
This guy is the worst, one of the worst professors ever. Don't pay attention to any of the good reviews, they come from people who got good grades because of his "curve", who studied in groups and did the homework in groups. His curve only benefits people who do well on his exams. Yeah...this class is easy if you study really hard everyday, attend every lecture, studying in a group, ask questions about everything, and pay attention to every little detail Otherwise if you don't do ALL of those things you won't get a good grade, now that's what an easy class is. You are technically not allowed to work together on homeworks but I'm guessing the good reviewers who studied in groups did anyway. You basically have to study in groups or be very good at algorithm theory in order to get a good grade
Evan Golub
CMSC351

Expecting an A+
Anonymous
05/23/2010
I don't know what the deal is with what ALMOST EVERYONE told me but this class has been fairly easy. One thing to note about this class (which is perhaps why I found it easy) is that the material that you learn is actually extremely relevant to the field of computer science. If you tackle the material with that attitude you're bound to do much better in the class. I have had internship interview questions based on material learned in the class -- so learn the material any way that you can! The only thing about Golub's class is that you need to be in lecture. You need to learn how he wants all of the problems' solutions to be set up -- exactly the way he does them in class. Do your best on homework and try to imitate his examples in lecture to get the best grade. Also, definitely do the thought questions -- get a study group. I can't stress this tip enough. His exams seemed to be based much more on the thought questions than the homework questions (how convenient..) -- and if you've done the thought questions, you're bound to ace the exam. Go to office hours if you are confused about something. He actually is very helpful in office hours (not necessarily in class), just make sure that you have notes from class because the first thing some of the TA's and Golub sometimes asks is "okay, well lets look at your notes." If you do miss a class make sure to get the notes from someone else. If you miss some classes you can still get away with an awesome grade, but if you miss even a single one of the classes where he discusses critical material, you're grade will drop like a rock unless you have access to someone else's notes. All three of our midterms were pick 4 out of 5 questions. It was not this way in the past semesters (not for all 3 exams anyway) so don't bank on it, but it did make the class a hell of a lot easier. He also tells you he weighs grading as follows: 17% per exam, 14% homeworks+quizzes+projects, 35% final. For us, he changed it to 12% lowest midterm, 17% middle midterm, 22% best midterm, and for the homework section (which totalled 150 pts), he took the score out of 125 instead. He also seems to curve exams arbitrarily..but everyone else has already touched on how he curves. Our first exam was taken out of 88 points, our second was 95, and third 97 or so. I would have expected a much higher curve for the second exam, which makes me wonder where he gets his numbers from (the 12 point curve on the first exam was unnecessarily high, but I'm not going to complain). Also, the book is unnecessary. I would have given him 4 stars but if you try to ask him questions right after an exam even if it's unrelated, he will yell at you. He is also very condescending sometimes. Even if you have a legitimate question he will cut you off and say "I'm not answering those questions right now" or "I can't solve new problems for you right now" or "that's not relevant to the topic" even if a) it's a general conceptual question, b) you're not asking him to solve a new question, and c) it is relevant to the topic. Golub many times (not always) assumes that his students are idiots and comes off as being extremely mean and as someone else has said, his head can be very far up his ass. Finally, when you're taking a test, make sure to get your question across if you have a legitimate question. Many times the TA's too (and Golub) may think you're fishing for the answer even when you're not. This has happened so many times it makes me want to smack them and tell them to listen to my damn question before cutting me off. You're basically on your own. Also I don't know what the other people are smoking who gave him 5 stars. I ended up with ~99.5% (so it's not like I'm biased against or bitter about his grading) in the class and I still think he was not a very "patient" and "approachable" and friendly guy who cared for his students...
Evan Golub
CMSC351

Expecting an A
Anonymous
05/19/2010
I don't see where the hatred stems from. All the negative reviews about this guy and all the complaints about how ridiculously tough the material is - is complete bullshit. I am by no means, a top student. I merely got a B in CMSC250, and that was with a curve. I found this class to be somewhat enjoyable and predictable in terms of what would be on the exam. I agree with the guy below me, form study groups. Most of the "lone warriors" ended up failing the course, or barely passing with a C. If you honestly go to all lectures, office hours, and do all the homework problems and thought questions intuitively, then you have no problems getting a B or higher. The guy was nice enough to curve exams (although randomly and not by much) and drop 25 hw points. Verdict: Go to every class, attend office hours if you sincerely get stuck, form a productive study group, and do ALL the homework and thought questions. Assuming you aren't the type to choke during exams, you should net a relatively A or B.
Evan Golub
CMSC351

sashah
05/18/2010
This course is pretty easy in my opinion. Especially if you found cmsc250 easy, this one is similar. However, the professor himself is a total loser and a-hole. First of all, he thinks he's the smartest person alive, talking about how he can do pretty much any proof alive and how him and his friends go around cracking systems. He will tell you countless stories every class about how he outsmarted one thing or another. It's funny one kid told me about how we should do a drinking game where everyone takes a shot whenever he boasts about himself. Of course, all professors have some ego but that is not why he's a terrible professor. He can be excessively rude and repressive during lecture and office hours, up to the point where he will yell at you if you ask a question he finds trivial. Personally, I went to his office hours once to explain how he did a certain proof, and he yelled at me, "okay you are not doing this the way i mentioned in class, you have to pay attention!" Forget about even asking any tangential questions, because he will automatically shoot down anything that's not related to the topic at hand. His default response: "we're not talking about that. see me in office hours." Also if you approach him with your own problem and ask him to solve it, he refuses to do so out of concern that others won't get a chance to see the solution. As other people have mentioned, he does not post up lecture notes or worked out examples, so you must attend class or get notes from someone else. the only good thing i have to say about the class is that his exams are reasonable and predictable; there is very little deviation from his homework and thought questions. Also, he is generous in that he allows you to answer 4 out of 5 questions and curves each exam score. I was able to coast through this course with an easy A, but I still hated the professor.
Evan Golub
CMSC351

Anonymous
05/04/2010
Okay number one if your major is computer science you should be expecting hard courses. The teacher is a great teacher, provides plenty of extra help and if you DO NOT wait until the day of the exam you can get plenty of help. He will explain something as many times as necessary until you completely comprehend the topic. He does not post his in class notes online because he wants to encourage student to attend class and once again if you are a computer science major you should not be looking for the easy way out. The class takes place in the afternoon so there is no excuse to not attend class. His Homework’s are fairy difficult however, if you email him or seek help during his office hours he will provide you plenty of help and clues. His test can be Extremely hard or Extremely Fair, it’s all based on how much you have actually learned. It is not impossible to get an A in his class. Also, he is very patient, approachable and does not make you feel stupid for not understanding a topic. Also, he cares about his students!!!! I would recommend him to other students.
Evan Golub
CMSC351

Expecting a B
Anonymous
05/04/2010
Such a lovely person. He's always so nice and smiling to you whenever you talk to him. He made such a amazing adjustment for the percentage distribution to try to help the class. He has a unique way of encouraging students to go to his class and office hours, yet it's really helping people to understand and learn the material. Didn't really appreciate what he did in the beginning of the semester but now I understand why and am truly grateful. Unlike some of the CS professor, he's friendly and approachable. People whoever don't want to make any effort and slack off but still hope to pass better not take his class.
Evan Golub
CMSC351

snooki
03/31/2010
This guy's head is so far up his own ass that he can see out his mouth. He has made 351 to fail you. This is one of those courses where you will have to come to his office hours or the TA's office hours if you want to actually learn anything. If you do show up for office hours, don't expect to get help for about an hour because EVERYBODY ELSE is also trying to get help. Good luck. His slides are absolutely useless. For whatever reason, he does not post his written examples online. Make sure to take good notes. He will do examples in class on his fancy shmancy Tablet PC, but not post them afterwards. He posts extra assignments and examples online, but again, he does not post solutions. Same deal with the homework: NO SOLUTIONS ARE POSTED EVER. This alone makes the course hell for the math illiterate. You want to learn from examples and build up your confidence, but you can't because you have NOTHING to work off of. Exams are generally based off the homework and his "thought questions," the extra problems he posts online without solutions. Don't expect any extra help with those exams because he doesn't post sample exams. (If he did, they probably would come without solutions. So useful.) Of course, how he expects you to master some of theses proofs after one or two examples is beyond me. His exam grading policy is the worst. If you get a problem wrong, you will lose almost all the points if you don't lose them all. Don't expect points for effort. You can write out an elaborate proof and get maybe a couple of points for it. And then his "curving" system... Since he's all into his mathematics, he "curves" by dividing your exam grade by a decimal he magically calculated or pulled out of his ass which is now also his mouth. Now your simple arithmetic abilities should tell you this is an issue. If you got a 100 on the exam with a curve of .90, you'll enjoy an extra 11 points. If you're the unfortunate guy that only got say a 50 on the exam, you get a mere 5 extra points. So if you do well on an exam, you get an extra boost. If you're already failing, expect to be failing even more. The rich only get richer in his world. This guy always talks about how he's "clever" yet he doesn't do a damn thing to endow his students with his "clever"-ness. This guy is incompetent as a teacher. Just dodge him for your own sanity.
Evan Golub
CMSC351

Expecting a ?
Anonymous
03/26/2010
This is the worst professor ever The book does not cover the material on the exams The slides also do not cover the material on the exams All of his posted examples are either half of the problem or very unclear and vague All of the most important real work he does in class on a note pad for a few minutes but he never posts these notes online on the slides at all, instead he just assumes you get it You are not allowed to study together on homeworks or use notes from online This makes this class nearly impossible to study for Overall, one of the worst experiences so far
Clyde Kruskal
CMSC351

Expecting an A
Anonymous
07/19/2009
Professor Kruskal was a good teacher for this class. Especially when you consider that Prof. Golub is the other option. Kruskal taught pretty well. I think an average student should have been able to understand most of the topics we covered. Though his tests are not easy. They are between average and hard. He curves grades like most comp sci classes. For this class, make sure you do his homeworks and the practice exams. Though tests may not be very similar to them, but they do help you build a strong foundation for the test. He does show off his intelligence at times and can be slightly rude, but if you don't ask questions, you won't get much out of him any way. But he wants you to learn. Definitely recommended for CMSC351. He is after all related to the guy who came up with the famous Kruskal's minimum spanning tree algorithm. :).
Evan Golub
CMSC351

Expecting an A-
blackshellbowser
05/26/2009
Oh Golub... His lecture notes aren't the best in the world. He'll show how to do a proof on his Tablet PC...but not post those notes online. Sure it discourages the class-skippers but what about those who actually take notes and need to review them? He might have the occasional "generic" proof posted online but thats about it. His exams are painful but doable. The biggest thing is reviewing all those homework/thought questions he gives and manipulating them. Practice practice practice! One of Golub's bright spots: He'll happily answer "any" questions in class. If you missed something in the examples he does, he'll gladly go over it again until you get it. Please don't be asking "what-ifs". He often cut you off. He does curve the exams. Often it's drop a question and add a few points. With the final exam, he'll give you about 12 questions and you only have to do 8 of them. They are grouped into sections...like a section of three questions, a section of two questions, etc. Overall Golub does know his material very well..but he's quite arrogant about it. He can be helpful but his teaching methods are questionable. And yes, he doesn't give much partial credit.
Vibha Sazawal
CMSC351

Expecting a B
pluralfacade
01/28/2009
She was ok as a teacher. She clearly doesn't have as much mastery of algorithms as Golub does, but she actually attempts to make a boring class interesting with jokes and humor, which is quite a job in itself. Overall a pretty fair teacher, even giving points back when they were deserved on tests and homeworks. Definitely one of the liveliest teachers I've had in CS classes.
Evan Golub
CMSC351

Anonymous
01/22/2009
As bad as the CS department professors are I would say Golub is the worst. To start, his lecture notes are very bad. He hand writes his lecture notes on his tablet PC during lecture and says these will be online. The bad thing is that he works through a problem in class and doesn't put that work online. This is no help at all. He post thought questions which are supposed to be sample like questions but he posts no answers or ideas about how to go about approaching them. You never really know for sure if you are even close to getting the right answer. His exams are extremely hard. He does not have sample exams because as he says at the beginning semester "He never really thought they were helpful". Are you kidding??? If a question is worth 20 points you will only receive around 4 points for work if you are wrong. There is so much more to say about this guys teaching that is bad. The sad thing is that in the past 4 or 5 semesters he is the only professor teaching 351 during the fall and spring so you are pretty much forced to take him. I think it is better to take this class during the summer with someone else in my opinion!!!!
Evan Golub
CMSC351

nd4speed348
12/17/2008
As previously stated, Golub isn't the greatest professor the CS department has to offer, more like one of the worst I've had. As others said, he knows the material, but you never will. Algorithms aren't for everyone, but he will make you regret taking the class in the first place. His notes are USELESS, and I mean utterly, supremely pointless. He will give examples in class that are on the slides, yet he leaves out the actual answer. He uses a tablet PC to do most of the lectures, writing in the answers to questions as he goes along. He fails to keep those handwritten items in what he posts. His homeworks are difficult and you really have to take them head-first. He doesn't post any practice exams, etc... NO answers posted to HW's, NO answers posted to his "thought questions", NOTHING. So if you don't go to lecture, you will have no reference as to how to do the work. Despite all of this, office hours with him help a lot, but he still doesn't want to give you the answers to anything.
Evan Golub
CMSC351

Anonymous
05/20/2008
His lectures are okay, but his examples can be a bit hard to follow. It's not difficult to do well in his class, but some of his exam questions are overly difficult and can be vague in terms of what he is really asking. No quizzes. Were assigned eight homeworks throughout the semester. Homeworks aren't too bad and are actually useful as a couple of homework questions were asked to me in job interviews. He is very helpful during office hours and will go out of your way to explain things to you before and after class. Make sure to do all of his "thought questions" and alter some of his homework questions to study for his exams.
Evan Golub
CMSC351

MadVillain
05/18/2008
Golub is a guy who seems to mean well, but his flaws are pretty serious. For one his grading methodology is questionable at best. If you read the syllabus he claims to curve each assignment...but his curving method is random and mathematically suspect. For example, on one exam we were told to divide our scores by .8. The problem with this curve is it gives MORE of a curve to people with higher grades...seeming to violate the point of a curve. Another time he gave everyone in the class 5 extra points as a "curve" but admitted that he had not yet calculated the average. He will intermittently claim that he has to "recheck his formulas for final grades"...so basically he leaves your grade as one of his thought questions. I finished the final for class yesterday, so the final grades aren't up yet, but it will be interesting to see what he does. I know kids who are brilliant and very knowledgeable about the material who currently have Bs. Then there are the exams which give little to no partial credit, and somehow expect you to answer questions based on information that he doesn't give you. For example, when he says "use the quantified definition" somehow in Golub-speak this means "use the quantified definition using an inductive proof"...the later part being a crucial piece of information I wish I had. His class is set up like a discussion. He gives you limited notes, and then you work out the details in class. This looks good on paper...but the problem is all those damn smart-ass CS kids who want to show off instead of letting everyone else learn. They'll derail him and let him think he can gloss over the details because everyone gets it already. Don't let him get away with this, shy people! Also, because his notes were so sparse and I'm a bad note-taker, I was affected negatively by his teaching style, but not everyone will have a problem with this. If you want to do well in this class, you HAVE to come to class. His notes aren't going to help you. Trust me, come to this one. Also, see him in office hours if you can. This is kind of irritating to me, because this isn't feasible for everyone, but unless you have prior knowledge of the material, you're going to want to get extra hours with him to clarify some of his vague details (especially towards the end of the semester when the algorithms get weirder). Ask questions in class! He's more than happy to answer them. Also, submit regrades even if you have the slightest question about your exam. He will sometimes expect answers for questions he doesn't ask, and you can get those points back easily...once I got an exam bumped up a full letter grade because of this. He can be very stubborn about some things though...I know one student who had a log base 3 in one of his answers which golub argued with him for at least 5 minutes over whether it was a 2 or 3.
Evan Golub
CMSC351

pluralfacade
05/17/2008
An awful professor. He really knows what he's talking about, but nobody else does. He is very stingy with grading and will give little to no partial credit.
Evan Golub
CMSC351

Expecting an A
Anonymous
04/25/2008
People really scared me into thinking Golub was a terrible professor. I don't think he is really that bad. However, you will need to goto his office hours if you don't understand something and make sure you practice the material. He is sometimes overly tough, but generally fair. For example for the first test this semester he gave us decimals and fractions all over the place. It was really just a pain in the ass more than a test of knowledge. However, he is a competent though not excellent teacher, and is more than happy to help you out during office hours. That said though, he is not the sort of guy who will bump you up if he sees you in his office a lot or w.e. He will give you what you earn and nothing more. That said, I abused notes from the previous semester with Bonnie/Vibha's sections because Golub just has garbage for notes sometimes. So, pro tip: look at Fall 07 section notes :)
Evan Golub
CMSC351

Anonymous
12/23/2007
Golub does not really aim to prepare you in lecture for exams or homeworks. After the first midterm I found myself ignoring his lecture notes and working entirely off of the other section's (taught by Bonnie Dorr and Vihba) posted notes. Golub was also indeed stingy with grading, and people in the other section could get points back on midterms that our section could not get back via Golub. I rather wish I had been in the Bonnie/Vihba section.
Vibha Sazawal
CMSC351

Expecting an A-
unitar
12/04/2007
Vibha is an excellent teacher. She keeps class interesting and is always animated in her discussions. She answers questions clearly and concisely and presents material, even somewhat complex mathematical proofs, understandably. It is a shame she is only teaching CMSC351, so I may not get another chance to have her as a teacher.
Bonnie Dorr
CMSC351

Expecting an A-
unitar
12/04/2007
Bonnie did an excellent job teaching CMSC351, which is not an easy course. Her style was very traditional but very effective. I would gladly take her again for any course.