Reviews for CMSC420

Information Review
Narayanaswamy Narayanaswamy
CMSC420

Expecting an A+
Anonymous
12/16/2024
Challenging class that is pretty heavy on analysis (most similar to Kruskal's 351). Exams were pretty hard (mainly because it felt like we did not have enough time on them), but homeworks and programming assignments were fair and pretty doable. Lectures can be a mixed bag because of disorganized some of the earlier lecture slides were, but he records almost every class so if you are ever confused you can always go and rewatch them. TAs didn't hold office hours until half-way through the semester, and even then they maybe had them once a week, however the Prof Swamy had them almost every weekday. Also, grade cutoffs were just announced and an A+ was an 88%.
Narayanaswamy Narayanaswamy
CMSC420

Expecting a C
Anonymous
12/16/2024
Definitely a challenging class as compared to others. The homework and projects he gives are pretty tough and require a lot of time to do so I would suggest to start early. He is a boring lecturer but all of the lectures are still recorded and he posts them consistently. However, the class structure was very painful to deal with because he would often change deadlines and push out a lot of things late with expectations to be on time. He also was very vague about many things and would not announce them till last minute.
Narayanaswamy Narayanaswamy
CMSC420

Expecting an A-
Anonymous
12/12/2024
Like many have said this class is not easy, but I felt Narayanaswamy wanted to help the students whenever he could, and although the class seemed a bit disorganized since this is his first semester teaching at UMD and it is apparent he is still making adjustments to his teaching style and course structure I think it is understandable. Exams are not easy but if you read his notes and the text they are manageable. Projects are also pretty challenging with very strict time requirements which I found made them more interesting to do. He is also very willing to give extensions and partial credit when asked which I also appreciate.
Narayanaswamy Narayanaswamy
CMSC420

Expecting a B
Anonymous
12/12/2024
His first semester teaching and honestly it was not a great time. His lectures were confusing and he had poor slides. He does record his lectures which is a plus. Homework were generally okay but sometimes the questions has poor wording. Projects are overall very doable (he drops the lowest one) but it does take some time and often don't feel very related to lecture content. I did poor on the midterm exam (which was mainly my own fault) but he doesn't give any practice problems nor study guides for his exams which I felt would've helped me greatly. He also extends deadlines for basically all the assignments which is nice but also sometimes required due to his poor logistics and communication. On the topic of communication, most of his clarification statements makes things more confusing and creates more questions. I have emailed him many times and it often takes a long time to get a clear and concise answer. Would've gave him one star but he is a nice person and does try to help (albeit not very well) so I'll give him two stars. This class definitely gave me more stress than it had to and I wish he wouldn't co-taught with Justin. Hopefully the class will be structured better in future semesters. TLDR: Nice person, poor lecturing, communications, and everything logistic related. Personally, wouldn't recommend but definitely a passable class as long as you complete assignments.
Narayanaswamy Narayanaswamy
CMSC420

Expecting an A-
Anonymous
12/10/2024
Definitely a challenging class, as it focuses very strongly on analytical content. 250/351 probably won't be sufficient preparation for the rigor of proofs he goes through in class, but the proofs we actually have to write (for homework, exams) are usually far more straightforward — or fairly copyable from the notes/textbook. The projects were a pain but doable as long as you started early. He records his lectures, posts his notes, and is helpful and friendly at office hours; however, his availability is lacking, and I think the TA only started doing office hours about halfway through the semester. The midterm was challenging and I think most people didn't finish in time, but partial credit was extremely generous. Don't take this class with him if you don't like math, or if you want an easy A. Otherwise, I think it was a rewarding experience.
Narayanaswamy Narayanaswamy
CMSC420

Expecting an A
Anonymous
12/09/2024
People are coping. His lectures are not hard to undertand - he does have a slight accent, but overall his English is very well articulated and better than most professors in the department. His projects/hws/exams are challenging and demand a strong understanding of the course material, and if you are keeping up with the textbook and lectures, there is no reason you shouldn't succeed in this class. That said, he is very accomodating, and while you have to work for an A, he gives you everything you need to do so.
Justin Wyss-Gallifent
CMSC420

Expecting an A-
Anonymous
12/07/2024
I love Justin and he is my personal GOAT. I encourage that you go to lecture because he explains topics really well and in ways that most people will understand. He doesnt record his lectures but he does post his lecture notes to ELMS, which is MASSIVe for studying for exams or homework questions. Also, he has his own website (https://www.math.umd.edu/~immortal/) which includes all of the content he will be teaching in the course, and I highly recommend using it from time-to-time for better, more in-depth examples that he sometimes won't be able to go over in-class. He strikes a fair balance between more mathematical concepts and programming. The weekly homework is fair and not too difficult if you go to class or OH (grades only 10 highest). The exams are also open-note, so that's cool. The final is take-home but is kinda long long. The programming assignments are not too bad either, and you get to skip one. There are 2 "difficult" ones (B-Trees and KD-Trees), so I recommend you skip either one of those.
Narayanaswamy Narayanaswamy
CMSC420

Anonymous
11/30/2024
Narayanaswamy should not be employed here. He is a very poor lecturer. He started off with handwritten notes that were extremely hard to follow and not even always fully correct. Eventually he just gave up and started presenting seemingly random slides he found on the internet. It was never easy to follow him, and he would start rambling off about unnecessary topics. He is a very poor communicator. Nobody knew what the structure of the course was going to look like till about 3 weeks in, AFTER the add/drop deadline. He gave very vague comments about how the homeworks/exams/projects would be set up and never made it clear what the grading guidelines were. For some godforsaken reason, he made most homeworks due at 12:30am, rather than 11:59pm, or any other conceivable time of day. This would cause a lot of confusion as an assignment due Nov 30 actually had to be done by the night of Nov 29. Now you think you would get used to this, except he often changed the deadlines for assignments. I was unable to submit one homework because for no real reason he decided that one will be due at 11:59. His project deadlines were even worse. They never released on time and the due date would keep getting pushed back because the description left us with too many questions about the project details. We were supposed to have 5 project but he was so late on them that we only had 4. And the projects weren't even relevant to the content we were covering, instead being about some stupid fictional world with lore and all sorts of unnecessary details. The one midterm we had (which he changed the weightage of without telling us by the way) had an average of 55%, as he gave no real study guide, or even general advice on what it would cover, how to best prepare, etc. The TAs are entirely useless and may as well not exist. They don't hold office hours and are of extremely little help. I've even seen them giving objectively wrong answers about programming projects on Piazza. Narayanaswamy himself gave up in person office hours and only holds them via Zoom, which you have to schedule via email. He is of very little help too, as once my friend went for help with some test cases for a programming project, and Narayanaswamy told him to literally "comment out blocks of his code to figure out what test cases were testing" because the instructors had improperly named the tests. Overall, this has been an extremely negative experience. I don't even think this a case where a professor can learn from a rocky first semester and improve, he is just an objectively bad teacher.
Narayanaswamy Narayanaswamy
CMSC420

Expecting a B+
Anonymous
11/28/2024
Poor lecturer. Often stumbles over his words and his accent makes it difficult to understand him. Projects are often confusing- so much so that every project in the class so far has had its deadline extended.
Narayanaswamy Narayanaswamy
CMSC420

Expecting an A-
Anonymous
11/21/2024
His class reminds me of CMSC351 with Kruskal. A lot of the content is pretty analytical and some of the homeworks can be tough, but overall he grades very leniently and gives lot of partial credit. Projects are pretty fair and if people ask they will extend the deadlines a bit usually. Overall, I think its a pretty rewarding class.
Narayanaswamy Narayanaswamy
CMSC420

Expecting an A
Anonymous
11/20/2024
Class is hard, but he is very accomodating. Records lectures and gives you all the resource you need to succeed. You have to work for an A.
Justin Wyss-Gallifent
CMSC420

Anonymous
10/29/2024
I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs I hate proofs
Michelle Hugue
CMSC420

Expecting an A+
Anonymous
07/19/2024
I took Meesh's class in 2003, and TA'd for 420 twice. You can blame me for the XML input the projects still use today. Meesh was the best 400 level professor I had. I learned more in her class than any other at UMD.
Michael Marsh
CMSC420

Expecting an A
Anonymous
06/27/2024
Marsh's greatest contribution to the field of college education is getting out of the way of his students by letting them do the course self-paced. That comes with its own risks that you do in fact fall behind. But do not expect any help from him or the TAs through your journey, you're on your own.
Justin Wyss-Gallifent
CMSC420

Expecting an A+
Anonymous
06/13/2024
Justin is the best. He is a very fair grader and always considers how the class feels about deadlines. He moved back so many of our projects because students expressed needing more time. The class does have some proofs and math on homework, but it is definitely not as math-heavy as some reviews state. He makes the class engaging, so I was never bored or falling asleep in class. His notes are amazing and grades come back fast.
Justin Wyss-Gallifent
CMSC420

Expecting a B+
Anonymous
05/31/2024
Regarding the quality of the teaching, 100% recommend Justin. You can’t go wrong. However, if you want an easier 420 class, marsh might be the option. Justin’s class is overall harder, regarding homeworks and projects. Exams aren’t too bad. In fact, spring 2024, he offered an online final, which kind of helped a lot of students, including me.
Michael Marsh
CMSC420

Expecting an A-
Anonymous
05/22/2024
Not a bad professor, but honestly I saw him like once since the class is completely self paced with an at home final, and everything except the final has unlimited attempts until the final day of school. I would say as long as you don't get too far behind this should be a pretty easy A, and you still learn a decent amount about some data structures. I got very behind and had to complete most course work including and all projects the month before the semester ended, and still got and A-, so the work and projects aren't that bad, but still a lot to catch up on. The worst thing in the class was definitely the vagueness of certain projects and quizzes. Sometimes you'd have to brute force a quiz in order to get a 100 because the question or lecture was so vague that the answer wasn't easily figured out. I think I had like 20 attempts on one quiz because of this. The best thing about the class is definitly how you basically work towards your desired grade. He gives pretty solid benchmarks on what you need to and A, A-, B+, etc. and as you submit assignments, you build towards a grade. This is pretty cool and is nice when compared to other professors who leave students in the dark about how they grade and what is needed for an A. Overall this class is pretty easy, just don't fall too far behind, or you'll regret it.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
05/22/2024
First time I've had Justin and I will say that he is a great teacher and he has structured the course extremely well. Homeworks every week. 6 projects or so that aren't too bad (if you've made it past 216 and 330 then you'll be fine). I thought the content was taught extremely well and, often, he would include things about how these data structures were used in the real-world. There a lot of tree data structures, but they are interesting. Honestly, this is one of the best cs courses I've taken at maryland.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
05/20/2024
I don't know why Justin's 420 section gets a bad reputation. The class was well organized and well taught. Online notes were pretty thorough and were a good resource to have. The grade was split between homework (2/7), projects (2/7), two exams (1/7 each), and a take-home final (1/7). Homeworks were mostly pretty reasonable, occasionally a tricky proof but if you read the notes the proofs were always very doable. Lowest two homeworks got dropped. Six projects total, B-tree and extended KD tree projects were difficult, but the others were fairly reasonable. Even the hard projects didn't take too long. One project gets dropped. Midterms were both fairly straightforward, if you did the practice problems and understood what was going on in the class you shouldn't have any issues. Take home final was very easy, it was open note and if you paid attention in class it wasn't bad at all. I got a lot out of this class and it never really stressed me out. Would definitely take it if it fits into your schedule.
Justin Wyss-Gallifent
CMSC420

Expecting an A+
Anonymous
05/20/2024
Really great and awesome professor who cares about our learning. Homework may be a bit challenging at times but it is very doable and really helps us in knowing the content for this class which is also very helpful for the exams. Having Justin this semester has been a blast and I really enjoy every part of his class :D Definitely recommend taking him! He has a really nice grade cutoff too :)
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
05/19/2024
Justin's CMSC420 class was great - he goes in-depth in his lectures while also explaining concepts fairly well. While his CMSC351 exams were on the more difficult side with lower averages, his averages in CMSC420 are fairly high and it's definitely a more chill class.
Justin Wyss-Gallifent
CMSC420

Expecting an A+
Anonymous
05/19/2024
Easy A+, you get cheatsheets for Exam 1 and Exam 2. Projects are fair as long as you give them enough time. Skip the B-Trees project, the other "Hard" project is way easier. Final is take-home.
Justin Wyss-Gallifent
CMSC420

Expecting an A-
Anonymous
05/18/2024
In this class you learn about various obscure data structures, most of them being variations of self balancing binary trees. Justin’s lectures and notes are great as usual. I recommend studying using his Latex notes from the Justin’s notes website, as they go a lot more in depth than the handwritten class notes. The class consists of 2 in-person midterm exams, an asynchronous take-home final, weekly homework assignments (2 of which are dropped) and 6 coding assignments throughout the semester. The coding is all done in Python, and Justin drops your lowest scoring coding project (drop the B-tree project trust me 😭) Overall I think the course content isn’t super applicable to real life as you’re most likely not going to encounter most of these data structures, but nonetheless I found the course content interesting. His homework’s are also notably harder than other professors’, as he goes deeper into proofs, induction, and the math aspect of things. In terms of difficulty I’d say it’s similar to Justin’s 351, maybe slightly easier.
Justin Wyss-Gallifent
CMSC420

Expecting an A+
Anonymous
05/18/2024
Justin is Awesome!!! I really love his class. He is the true GOAT!
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
05/18/2024
Took Justin again for 420, so I'm going to give him another 5 star. The only assignments are homeworks, coding projects, and exams, most of which were pretty easy. Lectures weren't mandatory, and notes were posted online. Our final was take-home and open-note and it was really easy too. It truly feels like Justin cares about our learning in the course. Highly recommend
Justin Wyss-Gallifent
CMSC420

Expecting an A-
Anonymous
05/13/2024
Definitely one of the best teachers I have ever had. The course started really hard for me it was very math heavy and I thought I was going to drop it. Luckily I didn't because it definitely got more doable over the semester. Justin is a really great teacher, and its well worth going to lectures but you dent really have to because his online notes are also so good. Justin is also just cool and chill which is a crazy combo. Overall the class is not too hard and Justin is a big chiller would def recommend.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
05/10/2024
This is my 4th time having Justin and like others have said, his classes are always pretty straightforward. You can expect fair exams that take only a few hours of studying for. There is usually 1 hw a week which takes a few hours to do. And the projects in this class are also mostly easy. I stopped going to class halfway through the semester and still was able to perfectly understand the content by looking at his notes. That being said, I do feel like Justin is a bit overrated because of his personality. He's definitely in my top 5 teachers, but not GOAT status like many people claim.
Michael Marsh
CMSC420

Expecting an A+
Anonymous
04/30/2024
Everything is asynchronous, online, and self-paced. There is "class time" but it is optional and only for questions. All the quizzes take maybe an hour to do each, and they have infinite retries, so you can keep doing it till you get 100%. Same with projects, no secret tests. I honestly don't know how anyone doesn't get an A+ in the class lol. Everything also has no due date, so you can do everythin up till the last day of the semester (although I wouldn't suggest that since the projects do take time, but they're fun!)
Justin Wyss-Gallifent
CMSC420

Anonymous
04/17/2024
GOAT
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
03/15/2024
Like people have said, any course with Justin will be an awesome course experience. Great notes, great lectures, fair exams, super nice guy. Take his class if you can!
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
03/07/2024
- very good notes posted online, it has everything you need to succeed (just make sure you read them and take time to actually digest it!) - very interesting and funny guy - you should attend every lecture or else you risk quickly falling behind - a few proofs you have to work out, you need to be able to generalize these proofs for the homework and each exam tends to have 1 or 2 proof questions of moderate difficulty (nothing like 250 or 351). - you should get an A as long as you put in a decent amount of effort - A lot of reviews emphasize how this course if proof heavy. There are a few proofs here and there that are important, but most of them aren't hard to recite and generalize, plus he gives you a breakdown of the exam question types so you can prepare ahead of time for the proofs he will assess you on.
Justin Wyss-Gallifent
CMSC420

Anonymous
02/10/2024
CMSC420 was a miserable experience for me. I felt like he was very thorough and organized in lecture, but his exams leave no room for error and because he is doing well at his job, i will not lie, it just made it hard for me to adjust. It felt like 420 should have been a 4 credit class because we had 1 homework due every week and then a project every two weeks. So it was just hard for me to get into the routine of class and then also the topics are interesting but if I were to relive my semester, I would probably look towards other classes to save myself the pain.
Justin Wyss-Gallifent
CMSC420

Expecting a B+
akl2025
01/11/2024
Justin's lectures and notes are comprehensive. If there are no major changes to his curriculum, be prepared for weekly homework assignments (he'll drop the lowest score out of 11) and coding projects every 2-3 weeks (he'll drop the lowest score out of 6). On the positive side, Justin provides a helpful exam outline during the review day, along with to previous exams and their solutions. Furthermore, he is flexible with deadlines upon student request. Pros: + Justin is a concise and responsive professor, adept at explaining complex concepts with clarity. + He and his TAs are supportive, ensuring timely assignment grading and effective communication. + The homework and exams are fair and reasonable. Cons: - The class workload resembles CMSC351, with occasional challenging proofs, although they are kept to a minimum. Tips: Make use of TA office hours and visit Justin's office for any questions or clarifications. Attend lectures, especially if you prefer a hands-on approach over simply reading latex notes. Use practice exams and thoroughly review homework and latex notes, particularly for proofs. --> Overall, I highly recommend Justin as an instructor. However, if you lean towards a more flexible class structure, Marsh might be a preferable choice.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
01/04/2024
Boring class. Too much math/proofs in a CS class IMO. Nice guy though, very passionate.
Justin Wyss-Gallifent
CMSC420

Expecting a B+
Anonymous
01/01/2024
Personally, this class was not my cup of tea. Homeworks were 351ish and really hard at times. Projects here challenging, but I enjoyed them for the most part, however they were probably the hardest ones I've seen throughout the cs program so far. As long as you start everything early and take the time to review the notes often, you'll be fine.
Justin Wyss-Gallifent
CMSC420

Expecting an A+
Anonymous
12/24/2023
Overall, Justin proves to be an amazing instructor in all aspects. The grading for this course was Homework = 100, Coding = 200, Exams = 2x100 = 200, Final = 200, Total = 700. Your two lowest homework grades are dropped and your lowest coding grade was dropped (there were 6 projects in total). Homework was just testing your understanding of the data structures, including doing some proofs/calculations. Projects had you implement the data structures in Python with a possible slight twist, they weren't easy but they also weren't unreasonably difficult. All of the projects used public tests, so you knew your score immediately upon submission. Pros: - The lectures were engaging and helpful. Justin explains things thoroughly and uploads his notes to ELMS. - As always, Justin's accompanying notes for this class are amazing. Always in full detail with rare mistakes, and contain everything you need to know for the homework, projects, and exams. If you want to take an early look at the course contents, just search up "Justin cmsc420" and you should find his notes. - Justin always had a review session before every exam. He explained all the concepts you needed to know for the exam, and provided a brief description of what each exam question would be about. I felt more than prepared for every single exam. The exams were fair, and he provided plenty of practice with the homework and past exams. Justin was also very lenient with project deadlines. He pushed them back if people said they wouldn't finish in time. - Grading was done pretty quickly, probably a week or so for exams. The median scores were always high (high 80s, low 90s) so there isn't much trouble there. No curve, but Justin says he bumps you if you are close. - His office hours were helpful, I only needed to go once though. The class also has a Piazza so you can ask questions there. Justin occasionally looks at Piazza, and the TAs were usually looking too. - The course content and projects are valuable and helpful for the future. Understanding data structures is important and I believe that I have a good understanding of many valuable data structures, their purposes, and how they are used. Cons: - The only real con I have is that the final is cumulative. You have to remember a ton of content about the course, which can take a lot of prep time away from your other courses. However, you do get a notes sheet for the final, so my preparation basically just consisted of creating that notes sheet and doing all the problems from past exams. This was good enough to score well. We didn't cover all of the material in his notes, so there is some content that we missed. - People seem to say that the proofs are excessive, but I personally didn't find this to be true. The hardest proofs on the exams were basically just slight variations (or even exact copies) of proofs on the homework or the online notes. He also alludes to which proofs you need to know for the exams if you go to the lectures. If you understood why those work then you should not have a tough time. Generally speaking, yes you will be doing some amount of math but only as it applies to how the data structures work. If you seriously hate math that much, then yes maybe you are better off going to another professor. You will still have to do some form of math for this course, it's just how these data structures work. Taking this course was extremely valuable. I highly recommend taking CMSC420 with Justin.
Michael Marsh
CMSC420

Expecting an A+
atp236
12/23/2023
I really liked having Marsh for 420 and would highly recommend this experience. This semester is his first semester using a standard-based grading system, so if you completed all of your projects and got 100% on them, got 100% on all of the quizzes, and got a certain amount of “Excellent” for your “exams”, then you would have a guaranteed A. I really liked this style because I knew exactly what I had to complete to get the grade I wanted, and this style forces you to complete your work. There was no curve, and you were not competing with your peers which made the class feel more like a team effort. Like other reviews mentioned, he uses a flipped classroom style so you watch “lecture” videos before class, complete a quiz, and during class, it is like “discussion” where he goes over examples of the data structure. Class kind of felt optional because it was recorded if you really wanted to review it, but he did a good job at keeping track of the notes and posting them if you wanted to reference them later. He is very friendly and knowledgable though, so it was nice to come and support in class. I found this flipped classroom style a little bit difficult for me because it felt like I had to teach myself if I was confused on how to complete the quiz, but this issue was mainly resolved by my next point. There are “soft” deadlines for projects, online quizzes, and online exams (challenge problems) in the class, but you technically have unlimited attempts and until the end of the semester to get 100% on these assignments because you can request for extensions without penalty. If I was confused on how to do a quiz, I could eventually brute force the quiz until I got 100% because the question bank eventually repeats, or I could come to class to watch him do a few more examples and ask questions. The “exams” were not as intimidating as they sound, and I really value Marsh because of the challenge problems. There are 4 problems to complete after each unit, and the questions still force you to understand the data structure (minus all of the theory and math that might be associated with other 420 professors…). I would allocate 1-2 hours to completing the challenge problems per each unit. The final exam was also a set of 4 challenge problems. These exams were little to no stress since if I messed up, then I could get feedback (except for the final) and re-submit. The projects were moderately difficult, but doable if you give yourself enough time and seek out help if you are dying. I would suggest following the soft deadlines that Marsh provides to stay on track because I felt like he gave an appropriate amount of time for each project. I remember he said as long as you dedicate enough time to this class, you can get an A, and I really do agree with this statement.
David Mount
CMSC420

Anonymous
12/23/2023
The most glowing review I have for mount is that I took 420 with an entirely different teacher, and mounts 10 minutes videos were far better than any of the full lectures I attended.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
12/22/2023
Great class and professor. Gives very specific exam outlines beforehand so you know what to study. Homeworks and projects are challenging, but very doable if you put in the work.
Justin Wyss-Gallifent
CMSC420

Expecting an A-
Anonymous
12/21/2023
He's a nice guy and cares about his students.
Justin Wyss-Gallifent
CMSC420

Expecting an A-
Anonymous
12/21/2023
He's Justin. Fair, charismatic, and one of the best profs at the university.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
12/21/2023
It's Justin, great lecturer and passionate about his students. Class is easy but has more of a math emphasis than other CS classes IMO which I don't really enjoy.
Justin Wyss-Gallifent
CMSC420

Expecting a B+
Anonymous
12/20/2023
Justin is a great professor but the class had too many proofs in my opinion, even though it seem to go down from last semester. My main issue was just how much more work this class was compared to the people who took 420 with Marsh did. Overall not a bad class, just unfair compared to marsh.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
12/20/2023
Passionate teacher and cares about students’s learning. Don’t really enjoy taking a CS class with a math focus though.
Justin Wyss-Gallifent
CMSC420

Expecting a B
Anonymous
12/20/2023
He was definitely knowledgeable about the stuff, projects seemed fair, not bad.
Michael Marsh
CMSC420

Expecting an A
Anonymous
12/18/2023
Honestly such a great teacher. Please actually watch the lectures and you will learn a ton from this class. He cares a ton about his students
Hanan Samet
CMSC420

Anonymous
12/14/2023
Very hard to follow his lectures, lost track of slides frequently. Quadtree project was written in C and guidance for it was in the book he wrote, very difficult. I felt like the whole class was a trial by fire due to the lack of support and difficulty of understanding lectures.
Justin Wyss-Gallifent
CMSC420

Expecting an A
respectmyopinions
12/12/2023
This class is easy for a 400 level. Dont have much to say about Justin that everyone else has not already said.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
12/12/2023
This guy is absolutely amazing. Empathetic and has interesting lectures that actually made me want to go to class. Every assignment was challenging enough without making you want to rip your hair out. Every topic is explained in full detail and the lecture notes are very easy to comprehend. Studying for the final wasn't difficult because each project required a thorough understanding of the topics. Cool accent too :D
Eashan Siddalingaiah
CMSC420

Expecting an A
Anonymous
10/30/2023
Bro saved my grade I was about to get a W and now I'm getting the other kind of W.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
10/18/2023
take marsh, save yourself the pain of doing unnecessary proofs unless you absolutely love math
David Mount
CMSC420

Expecting an A+
Anonymous
10/16/2023
David Mount is super passionate about data structures, and it makes him such a great professor. His exams are difficult, but they're all very fair and you get a cheatsheet for each one. Overall, a really well taught, organized class and great lectures/notes.
Eashan Siddalingaiah
CMSC420

Expecting an A+
Anonymous
10/16/2023
Amazing TA. Responds to questions quickly and is very helpful during OH.
David Mount
CMSC420

Expecting an A+
juiceman
08/26/2023
1. Did you find the exams and major assignments fair? · Fair exams. Mount provides practice problems with answers and past midterms. · Midterms can be time-constrained. Pace yourself. The final exam is not time-constrained. · Homework due before each exam, no late submission. Review each homework in the class before the exam. 1-2 questions on the exam are very similar to the homework questions. · The exam averages range between 75 and 80, and overall, they are fair with usually one curveball question. The exam format typically consists of 30% short answer theoretical questions (multiple-choice/fill-in), 30% pseudo code, 10% drawing tree operations, and 20% theory longer questions. – 2. Did you feel the professor had reasonable expectations for the students in the course overall? · 4 written homework assignments, covering theory, tree operations, and pseudo code. Directly applied to the exams, 3-4 hours each. · 3 projects, 8 hours each. Straight forward with Mount’s detailed descriptions. · Exam prep, 8-10 hours. Very clear expectations, format. Do the practice problems, review the past exams and especially the homework, and go through emphasized points during lecture. – 3. Did you like the professor's teaching style? · Provided a brief history for each data structure, as he had direct knowledge of or connections with the creators. · I appreciated that the lectures focused on the essential content for exams. Occasionally, the lectures delved into theory, but Mount made it clear which theories we should and shouldn't prioritize for exams. · Very flexible format with all recorded lectures. · As other reviews have mentioned, there is a theoretical focus for homeworks and exams. I think some theory is necessary to think critically about using and creating data structures. If you’re not a theory person, you can still succeed by doing the practice problems and reviewing relevant theoretical portions of lectures. · The professor releases homework 1 week before the due date, but provides 2+ weeks for projects. – 4. Was the workload appropriate for the number of credits? · Yes, the workload was fair/on the lighter side. · See hourly breakdown per assignment category above. – 5. Was this course valuable or a waste of time? · Valuable to efficiently work with and manipulate trees. · Relevant for competitive interviews and working with trees in general. I’ve used the concepts from this course when doing leetcode. · Understanding how to guarantee logarithmic height in practice was the key theme in the class! We explored rotation, rebuild, split/merge/adoption, and random number generator to ensure balanced height. Other important concepts were B-trees, tries, and memory management. · Projects taught useful concepts such as locators for tree nodes, internal/external node structure, comparators, and traversals.The 1000+ line project was a valuable exercise. · Working directly with Mount was a pleasure because he genuinely cares about students' education and growth. – 6. How much support did you receive throughout the semester (office hours, extra resources, etc.)? · Mount provided the most support among all the professors I've ever had. · Provided fast-forwarded lectures, recorded in-person lectures, latex notes, and hand-written notes. Personally, I found the hand-written notes and in-person lectures sufficient for success. · He answered every single question on Piazza, providing thorough responses and marking every question as a "good question". If you were stuck for a while, he was willing to download your submission from Gradescope and help identify what went wrong. · He offered extensions when needed, had lenient grading policies, and allowed regrades indefinitely. He was the only professor who shared exact grade cutoffs, and regrade requests could be submitted even after the semester ended. · Mount was always available to answer questions during and after class, and he provided extra office hours before exams. He even conducted a final exam help session on the weekend the day before final. – TLDR: Mount is an excellent professor who provides fair assignments, a manageable workload, and ample resources for success. The course covers important concepts for a software engineering career. Mount's enthusiasm and experience as a lecturer make the early morning classes enjoyable. Even though lectures are recorded, make the effort to attend! I highly recommend taking any course with Mount!
Justin Wyss-Gallifent
CMSC420

Expecting an A
Charl1e1029
05/26/2023
Justin is slowly but surely making his rounds through the CS courses, and he taught 420 reasonably well. I will say, I've had Justin 3 times by now and its pretty standard what to expect with him: his notes are always AMAZING - makes it hard to want to go to class hehe; his midterms are usually easy (but watch out for the final!!!), and overall his homeworks are manageable and graded leniently. He had a few hiccups with teaching some of the content in this course, but imo that's to be expected since he's only jsut recently started teaching CS courses. This course also had some projects and they took time and effort, but definitely were no biggie. Love Justin, he's the goat!
David Mount
CMSC420

Expecting an A
Anonymous
05/25/2023
David is amazing, and that is putting it lightly. He truly loves the work he does, both as an instructor and a researcher. You can see his passion for data structures the first minute you enter the lecture hall, and you can also tell how much he wants his students to succeed. The course itself has pretty interesting content, but it can be boring at times. The truth is, I only went to lecture on the first day, and the days of the exams. I learned the rest of the content through his fast-forward lecture videos, which are truly amazing. They relay so much information in such a short amount of time. Not only that, but they are not boring at all. The programming assignments are very long in terms of the documentation, but they aren't very difficult in terms of coding. He offers extra credit for all homeworks and projects, which can help you bump up your grade at the end of the semester. All in all, this was a great class and I am glad I took it. I highly recommend taking Mount for anything you can
David Mount
CMSC420

Expecting a B-
Anonymous
05/24/2023
Take this class with Mount. His class is one of the few upper level compsci classes at UMD where you will not only learn a lot but if you at least try a little bit, you will pass. If you try a lot, you'll get a great grade. I kid you not, a 50% in the class was a C- when exam and project averages were in the 70's and 80's.
David Mount
CMSC420

Expecting a B-
Anonymous
05/20/2023
Going with everyone else here: Mount is a great professor, and he makes his class relevant both interesting and makes the content manageable and his lectures digestible. It's clear that he cares a lot for students as he records lectures, keeps good notes on all of his lectures, and answers all the questions on Piazza with his own takes and explanations. Overall, his exams, homework, and projects are not all that bad. My grade only suffered this semester because I procrastinated on a rather difficult project, so it's in your best interest to start projects early.
David Mount
CMSC420

Anonymous
05/20/2023
Professor Mount has been my favorite Professor that I've ever had. This class, his LaTex notes, slides, and recorded lectures provided everything you need to succeed and I felt challenged in a way I never have been before. He is a great Professor with a lot of knowledge and I would suggest taking any class he teaches.
David Mount
CMSC420

Expecting a B+
Anonymous
05/19/2023
Probably the best professor I've had at UMD and definitely the best in the CS department. Mount seems to really enjoy teaching (every lecture he is in high spirits) and really knows his stuff in the field of Data Structures. He really cares about everyone's education and is very lenient with partial credit and grading. The workload of the course is not bad. 3 major coding projects and 4 HWs (similar to 250/351 HW).
David Mount
CMSC420

Expecting an A-
Anonymous
05/18/2023
Excellent lecturer with very entertaining stories about data structures and their history. Only 4 homeworks (we were even allowed to drop 1) and 3 projects, all of which were pretty doable. He did have a habit of extending assignments and doing a lot of stuff last minute because he is a researcher primarily. Incredibly responsive on Piazza.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
05/17/2023
After hearing about some of the complaints last semester in regards to his 420 teaching, I was a little skeptical about picking him over Mount. But when in doubt, always choose Justin. He makes things clear and concise, is very fair, and approachable, and best of all is extremely receptive to feedback. This is my 5th class with Justin and I can say time and time again that my experience with him has always been pleasant. He is the genuinely the best professor I've had and I can always recommend a course with him no matter what it is.
David Mount
CMSC420

Expecting an A
Anonymous
05/16/2023
Probably the best CS professor I've had at UMD no doubt. This guy is the absolute package. His homeworks and projects aren't too hard, and if you're stuck you can ask him questions on Piazza or during office hours he's very responsive and will even give you big enough hints to solve the problem on your own. Exams are not that easy so you just need to study and brush up on many of the proof techniques such as induction and just overall pseudocoding questions. As long as you practice then you should be fine assuming you do well on everything else.
David Mount
CMSC420

Expecting an A
Anonymous
05/12/2023
Professor Mount is a very reasonable person. He gives you every resource under the sun to help you succeed. He uploads lecture notes, lecture recordings, detailed notes, and "sped-up" recordings with only the most important info included. He promptly answers all piazza questions and will often extend deadlines based on how students feel and if he feels there isn't enough time. That being said, his lectures can be disorganized at times and you tend to learn less than Justin's sections (in this particular class). Also, the exams were quite challenging, but Mount gives generous partial credit points, so it is hard to outright fail (although its nearly impossible to get an A on them). The projects/HWs were difficult but sparse, and we had plenty of time to do them (although I always procrastinated until the last day). Overall, I'd highly recommend David Mount for this class as you likely will be able to pass.
Hanan Samet
CMSC420

Expecting an A
Anonymous
05/01/2023
Pros: 1. Incredibly knowledgeable about his materials. Even Donald Knuth mentions his name in The Art of Computer Programming. 2. Very practical and intuitive approach to data structures. Very different from theory and proof-heavy professors like David Mount, Roger Eastman, or Justin Wyss-Gallifent. His focus is on building software rather than theoretical exercises. 3. Homeworks are incredibly easy. 4. Professor and TAs are generous graders. 5. He lets everyone take the exam for as long as they need. 6. His slides are works of art. They were prepared in 1995, but they are so good, they require no changing. 7. The best thing in the class is his book, Notes on Data Structures. I have never read a better data structures book in my life. The closest that comes to my mind is Programming Pearls by Jon Bentley. It's very intuitive and detail-heavy. Almost no mathematics. 8. You get to learn how a Lisp interpreter works. Lisp projects are easy too. 9. You'll never be afraid of implementing an incredibly complex data structure in a low-level language like C after finishing the quadtree project. 10. Professor Samet is quite entertaining, and you will enjoy him if you have a sense of humor. Cons: 1. The pseudocode on books and slides are incomprehensible for us Pythonnials. 2. There are two descriptions for the quadtree project: a new and an old one. The old one is backdated and has wrong information. The new one is correct. You'll be given both. 3. If you do not contact the professor and TAs constantly, you will very likely not be able to do the project from description alone. 4. The TAs are graduate students and never did the project themselves. They are unable to answer your questions about the project correctly. Even if they do, they're mostly wrong. 5. The quadtree project changes a bit every semester, so professor mixes up the details. He might give the wrong answer to your question. 6. The project is an extensive exercise in C programming. Requires a lot discipline, organization, and patience. 7. His voice is not as loud as a random young professor, but he uses a mic, so that's not a problem. The problem is you might not like lectures if you are expecting a loud young screaming professor. Giving him a 5 star despite all that just because he can teach you the way he thinks, and you will not find another man in UMD who thinks like him when it comes to data structures. It just requires some patience.
Justin Wyss-Gallifent
CMSC420

Expecting an A
Anonymous
04/30/2023
Justin is very responsive to student feedback. A lot of students complained that the course was too proof-based, but I actually liked it with more proofs. Anyway, he adjusted and now focuses more on testing that you have the right intuition for the proof rather than doing a formal proof. Some students also complained about project deadlines, and he was flexible with those. Honestly, those students are ridiculous because most of our projects were made available more than a month in advance, and they are pretty easy. The lectures are really clear and he always makes it obvious what material you will be tested on. Homeworks and exams are also not too hard. The reviews from last semester aren't very good, but that was his first time teaching it. Practice makes perfect, I guess.
Justin Wyss-Gallifent
CMSC420

Expecting a B-
Anonymous
04/03/2023
great lecturer but the course just becomes cmsc351 part 2 and sinks heavily into theory so if you didn't like that then take cmsc420 with mount
David Mount
CMSC420

Anonymous
03/13/2023
I took this class back in the late 80's, David Mount is one of the most likeable and caring person I've come across in all my years. Everything I read here is spot on. He really wants you to succeed, is a great lecturer and inspires confidence in his students. Great person inside and outside the classroom. Looks like he continues to be a consistently great teacher. So glad I took his course.
Michael Marsh
CMSC420

Expecting an A-
Anonymous
02/02/2023
I think Marsh really nailed 420. He has a rhythm in how he teaches a class and it really is on the student if they do not leave with an A+. I blame myself for not achieving an A. A few more hours focusing on the projects or tests, and I would have easily left with it. I will say, the first project was pretty difficult, because it was a slap in the face of everything I forgot about Java. Other than the first project, he extensively goes over each project in his slides and in his lectures. If you read up his slides, attend lecture, and ask questions, this class should be an A for you.
David Mount
CMSC420

Expecting a B
Anonymous
01/22/2023
I didn't find the material all that engaging, but Prof. Mount is a very nice guy, gives pretty good lectures, and has excellent hand drawn and Latex notes available on the class website. The programming assignments and homework problems were also reasonable.
Michael Marsh
CMSC420

Expecting an A+
Anonymous
01/11/2023
Great teacher for 420. As everyone else says, he does a flipped classroom model which means you don't have to go to class ever. He does go over useful examples for tests in lecture, but he uploads all his notes. A lot of the time the lecture videos assigned for a day were less than the lecture time (75 minutes). You have ELMS quizzes due before every class, but you get unlimited tries and they are 5% of your grade. There were 5 projects for a total of 60% of your grade. Most of them weren't that difficult, although as a warning there was a super hard part for the warm-up project for some reason. There's plenty of time in between projects and it's 100% release tests. He evens posts all the projects at the beginning of the semester. There were 4 module tests that accounted for 25% of our grade. It was a little annoying since we would sometimes have module tests two weeks apart from each other, and there was one like a week before the final. These tests were easy and online, however, with averages in the high 80s to 90s (one of the tests had a median of 100). I also ended up liking that we had smaller tests instead of 2 big midterms, since it made it easier to study. The final was definitely much more conceptual and abstract, but it was only 10% of our grade and he graded it pretty easily with averages in the 80s again. Bottom line: Comparing my experience to my friends in other classes, Marsh is definitely the easiest 420 teacher. I don't know if he is as good as Marsh at teaching, but you still learn a good amount in his class. He has easy tests and heavily weighted (and not that difficult) projects.
David Mount
CMSC420

Expecting an A
Anonymous
01/02/2023
Mount is a great professor, he has both Latex and hand-drawn notes for every topic, and these are very clear in understanding the different data structures/concepts. He is a great lecturer, and is understanding of student concerns (adjusting difficulty of exams), and has a great grasp of the material that he teaches. Overall, a very knowledgable professor and an interesting class. My only issue would be that that the homework problems are often changed days after release, and that the project code he provides does sometimes have bugs. However, once notified, he usually fixes these ASAP and is very active on Piazza. As for the difficulty, the projects were not too bad, and the HWs/exams were difficult but always very fair with plenty of practice material.
Michael Marsh
CMSC420

Expecting an A
Anonymous
12/30/2022
I first saw his reviews being like a 3 star and I was worried because the other professors like mount had 4/5 stars. But alas, if you look closely youll see all the low reviews are from his 414 course. I cannot speak about those courses but cmsc420 was a very positive experience. The projects were all given at the start of class and you could pretty much start working on them early. They were somewhat challenging but the projects made most of the grade so with enough effort getting a 90+ on the projects wasnt hard. The unit exams were very fair and were only like 5% each. There were lecture quizzes you needed to complete but those had unlimited attempts so it was an easy 100. It was a flipped classroom model meaning the lectures were all prerecorded and the class time itself was just like a discussion session. I personally never went to class but before exams id study the problems done in those sessions. Final was randomly abstract and hard but i got a C on that and still maintained my A in the class the class itself was very like focused on the content like how to add and remove stuff from a structure versus in mounts class you would do like deep proofs and analysis of time complexity which we never really talked about in this class Compared to my friends in mounts section I can definitely say Marsh is easier than Mount in cmsc420
Michael Marsh
CMSC420

Expecting an A-
Anonymous
12/26/2022
one of the goats. i slacked off near the end but the exams and projects are extremely fair. the final is worth only 10% of your grade. all the lectures are online while the actual lecture time in class is a q/a style or office hours which is handy when u r stuck on projects or concepts. i really enjoyed this style of teaching, i knew what to expect in terms of assignments and could plan in the future as everything was already posted and online.
Michael Marsh
CMSC420

Expecting an A
Anonymous
12/22/2022
The GOAT. Would definitely recommend taking him for CMSC420. Some notes about his class: - Projects were weighed pretty heavily on our grade. It is important to keep in mind, however, that projects aren't trivial and definitely require starting at least a week in advance. That being said though, all of the projects are posted at the beginning of the semester, so we had quite some time to finish them. - We had 4 module tests. As long as you know the concepts well, they aren't bad at all (very reasonable). - This class follows the flipped-classroom model, which I actually really liked. We learned course material through prerecorded lectures, had quizzes on the material (unlimited attempts), and reviewed the topic/completed relevant exercises during the actual lecture time. Sort of like discussions, except you get to talk to the Professor and review material that way. - Everything was available online for us-- exams, quizzes, lecture notes/recordings/the annotated exercises/etc. - The final was kind of abstract (and somewhat harder than the module tests), but Marsh told us what to expect since the very beginning of the semester, so definitely no surprises there. - TAs were great for this class and gave quick and detailed replies - Marsh is very understanding, does his best to answer questions, and works well with feedback. Also, his shirts for the Zooms were always the best! Again, would recommend!!
David Mount
CMSC420

Expecting an A+
Anonymous
12/13/2022
Mount is simply amazing with the amount of effort he puts into the class and does everything in his power to help you succeed. He provides more than enough resources with extremely in-depth project descriptions, lecture notes, and practice exams. If that wasn't good enough, he's a genuinely cheery and nice guy who goes off on interesting tangents about the history of the material he's teaching as well, oftentimes joking that he's old enough to know the people who invented the ideas he's teaching us. Given this, he obviously knows the material really well and it's common for him to provide multiple clear examples during lectures that make his explanations really clear. His Piazza responses are absolutely legendary - clear, and provide additional and interesting insights that are always worth a read. He sometimes even goes as far as drawing figures to answer a student's response just to give a visualization. The class itself was also quite interesting on its own. As other reviewers have mentioned, it is rather theory-heavy, but Mount also does a good job at sprinkling general best-practice information as well. Projects are generally pretty easy as the project handouts are pretty good at giving you the right idea. Homework and Exams are difficult but overall very fair given the amount of practice he gives you and how well the problems relate to what is actually taught in class and given in the practice. Overall, if you listen during lectures, do a quick reading of the lecture notes, do some of the practice he gives, and then prepare your "cheat sheet" with general ideas and relevant code snippets, you'll be able to do well. No regrets about taking Mount. It was nice having his positivity brighten up my mornings.
Michael Marsh
CMSC420

Expecting an A
Anonymous
12/07/2022
The course is very well organized and the professor and TAs respond quickly and do adjust the course based on how the course goes. He uploads pre-recorded lectures which do a great job of explaining stuff that I had to go to lecture 0 times to do well in the course. Tests were all online. For the first test out of four, most students thought the format was bad as drawing trees and uploading them took most of the time rather than testing the concept. So subsequent three tests had no drawing of the tress. All test materials were directly covered in the class so if you paid attention or put some time in, you will do well. Professor actually does listen to student feedback and is willing to adjust if students have point. Projects are straight forward and all grades come from semi-public tests and no secret tests. We get plenty of time for the projects as we only had 5 projects throughout the semester. And material necessary for the project was taught at least 2 weeks before the due date so we got plenty of time. I am no genius but before taking the final, which is 10% of our grade, my grade currently sits at 96%. If you put in work in this course, you will get results. No surprises. I would be sitting at 98% if I didn't miss quizzes due before each session which has unlimited tries. I just forgot about them sometimes.
Hanan Samet
CMSC420

Anonymous
11/30/2022
Doesn't know what an HDMI cable is, haven't personally taken his class, but be warned, he knows not what he says!
Justin Wyss-Gallifent
CMSC420

Expecting a B-
Anonymous
11/20/2022
Very good lecturer, however, made this course seem like 4 credits instead of 3. Exams were fair and averages were good, however the projects were insane. During Thanksgiving break he modified a Mount project which only had 3 required methods to implement, and instead required us to do 8, along with ML which was a topic not previously discussed in the course--hence the 2/5 stars. I would not recommend him for this particular course. He also wasn't very helpful if you had coding questions and was curt on Piazza sometimes. Stick with him for MATH courses, not CMSC.
David Mount
CMSC420

Expecting an A
Anonymous
05/21/2022
Personally, the lecture style wasn't for me as it was a lot of reading off notes, with a few examples here and there. My biggest gripe is that by using pre-written notes, he was able to cover so much material, to the point where it was overwhelming. He does provide a lot of forms of the material which is nice. For each lecture, he had latex notes, handwritten notes (he presented these in class), in-person lecture video, and a prerecorded video where he creates and explains the handwritten notes. As others mention, he is a bit more theory-heavy than some other profs. The course was overall easy (except for exams... which required a lot of prep but were mostly fair), but I will be honest in that I don't feel like I learned much. This is because the projects were simple enough where they didn't really require too much understanding and the homework was infrequent enough that you could get away with just trying to match the lecture notes procedures, rather than truly understand them. Some of this is my fault for sure, but the limited amount of assignments meant I wasn't practicing concepts. Anyway, I would say the course is fairly easy except for exams. Mount is a very nice guy though and he'll tell you if you're on the right track with homework and other assignments. Last thing, you are allowed one two-sided cheat sheet for each exam, and you can bring previous cheat sheets to subsequent exams (one sheet for first exam, two for second exam, three for final). The cheat sheet policy is nice but means that there can be more difficult exam questions. Prepare your cheat sheets carefully because they can really help with certain questions. He always provided ample practice material for exams, so that was nice.
David Mount
CMSC420

Expecting an A
Anonymous
05/19/2022
as said by the other reviews, just an amazing professor. highly recommend!
David Mount
CMSC420

Expecting an A+
Anonymous
05/05/2022
Can't go wrong with Mount, his exams are on the difficult side but it follows very closely to the homeworks. If you understand and can do the homeworks you should be fine on the exam. This class is also curved at the end of the semester so as long as you do average on exams you will pass. He also answers piazza questions thoroughly and in a timely manner.
David Mount
CMSC420

Expecting a B+
Anonymous
04/28/2022
One of the best professors in the CS department. His notes and short lectures are incredible, and he has the class fully figured out and knows exactly how to teach it. He's really into proofs though, and if you're challenged in that area then homework and exams might be a pain. But Mount really wants you to succeed and he provided as many resources as he possibly could.
Roger Eastman
CMSC420

Expecting a B+
Anonymous
04/28/2022
I took 330 with Eastman as well, and I got a B+ in that class too. He's a super chill guy, always willing to take the time and answer questions. My main complaint is that he's not the most organized. He was going off Mount's notes for most of the semester, but he was also trying to mix in a lot of runtime analysis and derivations for the data structures we were covering, and sometimes that leads to the lectures being slightly confusing. Exams are also long and pretty difficult. But overall the class is manageable and interesting. If you have Eastman for a class you'll be fine.
Roger Eastman
CMSC420

Anonymous
04/11/2022
Don't take him if you can. He sometimes gets lost when he teaches. He tried to make class engaging by asking questions, but his teaching style is not that great. He is not a professor that would say stay away from but try another professor first. Almost forgot; his midterm was very hard, and it was long compared to the time given, so many students didn't do well. if the other professors you can enroll with are either Hanan Samet or Michelle Hugue, stay away from them at any cost. I repeat, stay away at any cost. If you don't do that you might as well not read reviews.
Michelle Hugue
CMSC420

Anonymous
03/14/2022
Stay away unless you are only choosing her class for the semester.
Michelle Hugue
CMSC420

Expecting an A-
Anonymous
03/12/2022
This lady is very rude and condescending to her students who are simply trying to ask questions. Her attitude made it an environment that was difficult to learn- or want to learn for that matter. I did well in the class, only because I worked hard; she was not a good resource whatsoever!! Exams were absurd and incredibly long.
David Mount
CMSC420

Anonymous
03/07/2022
He teaches way better compared to other CS profs. But he likes proofs. If you are not into proofs like me, then you will be disappointed doing his homework. Other than that, he is nice. If you don't mind being asked to prove something, consider this a 5-star rating. He is good in all other aspects.
David Mount
CMSC420

Anonymous
03/05/2022
The best professor I ever had His slide and explanation is rational and clear A question on piazza will be answered within 2 hours
Aravind Srinivasan
CMSC420

Expecting an A-
Anonymous
02/23/2022
Prof Srinivasan is genuine and cares about his students. People are saying that he just "falls back" on Dave Mount's course material, but to me it seemed that Prof Srinivasan did not lack any knowledge at all on any of the topics we studied. Yes, he does use Dave Mount's course material, but I do not think it is out of laziness... Prof was always prepared and knew his stuff. Dave Mount's course layout is just GOOD, and the extra provided resources were great to have in addition to lecture material. This way, we didnt have to buy an expensive, boring book. Using Mount's course is no different than using a textbook, except Mount's resources are much better than any boring CS textbook. He was very clear with exam expectations, and doesn't make your life hell with homework. The projects and homework are representative and provide good practice on what is actually taught in class. Prof Srinivasan's way of teaching was unique and very appreciated: instead of trying to make you memorize every little detail, what was most important is that you understand the concepts, why they work, when you might want to use them. I am so glad that I took 420 with Professor Srinivasan in Fall 2021, I had a very good experience.
Michelle Hugue
CMSC420

Anonymous
02/20/2022
She doesn't teach anything. She simply uses other teachers lectures and YouTube videos. Her exams are INSANELY long (20 pages) and take insanely long to actually complete. If I had the decision to go back in time, even if other professors didn't have space, I would choose another class to completely stay clear of this professor.
Michael Marsh
CMSC420

Expecting an A-
Anonymous
01/28/2022
You SHOULD take Marsh for CMSC420. I took the course in Fall 2021. Professor Marsh is an amazing teacher. He had a flip flop style class, where his lectures were posted online and there was a quiz that was due before class time. The online lectures were really clear. The quizzes were unlimited time and you had unlimited attempts, so do you what you want with that information. In class, he went over examples problems that explain the algorithm and they were really really helpful. He recorded those in class lectures too, so you didn't even have to go to class. There were 4 exams that were online and the averages were always in the 80s and 90s. He gave us enough time with the projects (2-4 weeks) and they were all very doable and really helpful in understanding the algorithms better. The projects were all in Java, while there was another teacher who made the projects in C, so this is another benefit of taking Marsh. The final was harder than the other exams since it was more abstract, but it was only worth 10% of your grade and he gave a lot of partial credit, so it was fine.
Michael Marsh
CMSC420

Expecting an A
Anonymous
12/27/2021
Professor Marsh puts a lot of effort in and makes everything very clear and explicit. The assignments generally help you learn the material well and prepare for the test.
Aravind Srinivasan
CMSC420

Expecting a B
Anonymous
12/24/2021
Two stars because he was a nice guy. I learned very little from this course. He is a tenured professor and it seems that the department threw him in to teach this class after Jason left again. The exams were easy and didn't test on most of the course material. Our midterms were worth 15% each and our homeworks were worth 11% each.... He clearly did not prepare to teach this course, and used Dave Mount's notes as a fallback for any lack of preparation on his part. The class was not difficult, but we are here to learn. If you like to cram for exams and learn nothing take him. If you want to actually learn the content take anyone else.
David Mount
CMSC420

Expecting an A
Anonymous
12/23/2021
Probably the best professor in the CS department by far. You can tell he really cares about the students. I had him Spring 2021 (online semester) but he has handwritten "slides", printed notes, ad lecture videos for you to learn from. He was engaging and really receptive to student concerns. You could tell he prepared and knew exactly what he was talking about. The exams weren't the easiest, but if you study the content and the homeworks you should be able to get by. I'm pretty sure he said he hasn't had a student get below a C in a long time, so study hard and you'll be good!
Michael Marsh
CMSC420

Expecting an A-
Anonymous
12/23/2021
I took this course in Fall 2021. Pros: + Very effective lecturer, asynchronous lecture videos had all the content you need but were concise enough to be not too long. + Projects are explained clearly and are very doable in the time allotted + Listens to student feedback and is very adaptable (especially pertaining to COVID) + Is always happy to answer questions Cons: - Marsh uses a flipped-classroom model, where you view lecture content at home, and actual lecture class time is used for discussion/answering questions. I was personally not a fan of this, as it just led to there being unnecessary 420 HW and having almost nothing to do during class time. Barely anyone even showed up to class. - Partial credit is very harsh, you typically lose points for selecting the wrong answer AND not selecting the right answer, so you essentially lose double points - Compared to midterms, the final felt almost "abstract" in its questions, was definitely much harder than the midterms
Michael Marsh
CMSC420

Expecting a C-
Anonymous
12/17/2021
Marsh was very organized and taught very well. Exams and homeworks were very fair and we knew what to expect for them. Projects were very difficult and tested heavily on edge cases, so make sure to start those well in advance of the deadline.
Michael Marsh
CMSC420

Expecting a C+
Anonymous
12/09/2021
I took this class in conjunction with CMSC414, and the difference is quite astounding. Comparatively speaking, this class is much better put-together, it is easier to follow, and definitely doesn't suffer the same issues as CMSC414. The course material is relatively easy, and the slides are quite useful. Marsh himself is an alright professor, but his course materials are probably a bit more useful than his actual lecturing. The logistics of the class-- Campuswire, GitLab, etc. -- are not ideal, but they are manageable. The projects are quite tough, but they are in Java! If you are ready for a decent workload, I would recommend this class. Marsh seems to have a pretty good grasp on how to teach data structures.
Michael Marsh
CMSC420

Expecting an A
Anonymous
11/11/2021
He is very mean. Don't take courses with him
Michael Marsh
CMSC420

Expecting an A
Anonymous
11/04/2021
Since the switch to online, Marsh has been an incredible teacher. I had him for cmsc436 and cmsc420 and for both courses he did a "flipped" course, where he posts very clear and concise online modules where you have to watch usually 3-5 broken up (roughly 5-10ish minutes each) lectures twice a week and do a quiz. This is nice becuase it makes class optional becuase its just a session where he goes over examples and lets people ask questions (no clickers or no material taught, so you can skip if you know the material). Quizzes are super easy if you watch the lectures and you get multiple attempts. Exams are extremely fair and heavily resemble homeworks assigned (due about once every 2-3 weeks for 420) or slides from lecture videos. He also made the 420 exams online and open note even though we are back in person, which is very nice. His exams come at the end of every module (also about 2-3 weeks) and are mini exams that are NOT cumulative. The final is the only cumulative test. the exams overall also only account for <30% of the grade, which is good if you somehow bomb an exam. The projects are where he puts heavy emphasis on and theres usually 5 projects (one per module) worth 10% each so 50% total. He has a strict "turn in late and get a zero" policy but don't let that worry you. His projects are very reasonable, Office hours and his campuswire (online forum like piazza) are very helpful and the projects are usually given 3 weeks to finish, I find myself only needing a week or less in most cases though (and Im no genius). He stays away from heavy edge case testing and tests are a mix of public and release (you can only see name of test), but no secret tests. Overall he is my second favorite CS teacher behind Nelson and I highly recommend him for 420 and 436, but I've heard not so great things about 414 with him.
Hanan Samet
CMSC420

Expecting a W
Anonymous
09/13/2021
Do not take this professor at any cost. He will give you an assignment without teaching you anything. He can't even teach. He will want you to read the bullshit book he wrote, and you can't even hear his voice. It is a total mess. I don't know about any other professors but take another professor instead because there is nothing worse than Samet.
Alejandro Flores Velazco
CMSC420

Expecting a B
Anonymous
08/30/2021
Class was unorganized this summer, but it was his first time ever teaching a class. Alejandro was a good TA when he TA'ed for Nelson and I am sure he will become a great instructor some day. He genuinely cares about teaching his students the most relevant concepts and pushing out some outdated material. He's a definitely was really accommodating to anyone who had an internship or job over the summer.
Alejandro Flores Velazco
CMSC420

Expecting a B
Anonymous
08/12/2021
Unorganized, unprofessional, hectic. Held TAs to no standards. Lied about what programming language we would be using. Stay away take and take this class with Mount.
Alejandro Flores Velazco
CMSC420

Expecting an A-
Anonymous
07/30/2021
The material was as difficult as it should have been, and there were many resources given that would help understand it. The programming and homework assignments were fair and completable, some required deep thinking and the TA's were often able to help. The class was however rather disorganized, but it is fair to mention I took his class in his first semester of teaching and I believe this is something that will improve as he teaches more. He had a good plan (at the end of the course, it was easy to see how each topic contributed to the next topic), but I think his inexperience and the fast pace of summer courses made it more difficult to follow in real time than it could have been. Overall I give him 4/5 because despite the disorganization, I came out knowing a good amount about each data structure, the assignments were fair, and he was really receptive to input from students.
Alejandro Flores Velazco
CMSC420

Expecting a B+
Anonymous
07/30/2021
Great lecturer, keeps students engaged and tries to always ensure their understanding. I have mixed feelings about the SPOJ assignments. I appreciated being introduced to the platform, and I think it emphasized the difference in speed from using one approach versus another which I normally would not be able to detect. However the prompts are sometimes very vague, and the edge cases can be very hard to guess, so I spent more time guessing obscure edge cases and less time on understanding the course material than I would have liked. If given more adequate time I think Alejandro could have designed assignments more tailored to the data structures we were studying.
Alejandro Flores Velazco
CMSC420

Expecting a B+
Anonymous
07/30/2021
Alejandro is incredibly approachable and helpful, he responds quickly to emails and piazza. He is knowledgeable and lectures well. Grading issues mentioned in other comments are noticeable but most of the projects were easy or well telegraphed by the course material so it sort of works to the effect that you have a higher grade overall by the end except for the midterm and maybe the last project or 2. Even then, noticing that most students were unable to get project 6 in the summer session, he altered the grading scale to be more fair, so like I said, he responds to students' issues quickly and helpfully.
Alejandro Flores Velazco
CMSC420

Expecting a B+
Anonymous
07/28/2021
This class was a bit of a learning curve ngl, but it provided invaluable skills and concepts that can be applied in the industry or at least coding interviews. Alejandro is one the most understanding instructors at UMD and is very approachable. I say that you should take this class before you graduate, preferably with him.
Alejandro Flores Velazco
CMSC420

Expecting an A+
Anonymous
07/28/2021
Alejandro is very new. I took the first class he taught on his own and his lectures could definitely have been smoother and the ideas presented in a more coherent order. I got the impression that some of the lecture material was presented in the order he remembered it. He would be 30min into the lecture, realize something didn't make sense, and then realize it's because he forgot to explain something earlier in the lecture. He is quite caring and often worried that his English was difficult to understand though I never had trouble understanding him, and think that his lectures will naturally become better organized the more he teaches this class. I really enjoyed the projects. Alejandro's projects are different to Mount's and his grading requires that solutions are both correct and efficient. Moreover, the projects aren't just mechanical implementation of each data structure. Often they are challenge questions where most of the work is in thinking up a solution, rather than implementation. They make you intuit when different data structures can be used in real world problems and were very beneficial to my programming.
Alejandro Flores Velazco
CMSC420

Expecting an A+
Anonymous
07/28/2021
I felt Alejandro was a very good professor. Summer classes can often be chaotic as they are fast paced and have very few TAs. But Alejandro gave good lectures and had very reasonable expectations on the exams. One or two of the seven projects were pretty difficult, but I felt they made me a much better programmer. Some students really did not like that C++ usage was pretty much mandatory in this course (generally this course is taught in Java) but to be honest, there was very little you have to actually teach yourself that you won't already know from learning C in 216. Also, I felt the TAs could have been a lot better, but that is mostly on the department, and not Alejandro's fault. Overall Alejandro is very nice and the class was not terribly difficult. 30% of the class got As, 45% got Bs. That's about as good as it gets for upper level CMSC courses. And the things you learn are very useful, I watched some FAANG interview question videos recently and many of the questions can be solved with data structures you will learn in this course.
Alejandro Flores Velazco
CMSC420

Expecting a B
Anonymous
07/28/2021
Alejandro is a nice guy and very accommodating about due dates with projects. However I felt he could've been more organized with regards to the class, he didn't have a syllabus until the end of the first week and decided at the last minute to replace a homework assignment with a project and scrambled to find a project. Projects were done using SPOJ and they were really annoying because you ran them on the website and a huge chunk of your grade depended on them passing under a certain time. Theoretically you could use whatever language you wanted but youre better off using C++ for speed. The TA's for the most part were not that helpful and sometimes wouldn't show up to office hours During lectures he's very dry but more helpful one on one, also Professor Mount's notes are the GOAT. He's very strict about formatting for exams which I understand wanting to reduce grading time but it's annoying because not all of us can print or edit PDF's.
Alejandro Flores Velazco
CMSC420

Expecting a B+
Anonymous
07/28/2021
The first semester teaching any course so obviously, there was a learning curve on both sides. The midterm was way too difficult with hard-to-follow and unspecific directions and unfair grading with a 63% class average. Luckily the final exam was a lot fairer with a way higher average score. He was lenient with due dates and grading for the final/regrades. There was a 1% curve in the class with about 75% of the class getting Bs and up.
Alejandro Flores Velazco
CMSC420

Expecting an A
Anonymous
07/28/2021
I liked this class, in particular giving the coding assignments as SPOJ problems was a good decision, it helped me to get started with competitive coding. Also, it would have been better if he used some other platform like Leetcode/Geeks for Geeks. But overall, given that Alejandro was teaching for the first time, it was a nice experience.
Alejandro Flores Velazco
CMSC420

Expecting a B+
Anonymous
07/27/2021
Really nice and respectful lecturer. Empathetic and lenient for sure, but there are areas for improvement. I think this is a great example of a lecturer giving resources for their students to learn, and not so much ramming the information into their head. The exams were extremely fair (take this from someone who did poorly on the first and well on the second), it's truly just a matter of time investment (in my opinion). There might be controversy surrounding the SPOJ approach (basically medium to hard leetcode but without the thousands of accessible solutions), but it's made me a better programmer. Moreover, this has forced me to learn C++ (I did the entire class in C++, not sure why the other comment mentions exclusively C), and since there is no (to my knowledge) class that teaches C++ at this university, I really appreciated this. If you're looking for an easy A in 420, probably not the professor for you. If you're looking for an enthusiastic, young, relatable lecturer who will make sure you get what you should want out of an upper level programming class, just sign up. Also, the project that the most students struggled with, Alejandro made it so that you practically are given a 70% for turning literally anything in, and a perfect score would come from getting AC (accepted) on SPOJ. The benevolence is real and appreciated. Just for reputability, I'm a senior and this was my last class for graduation. Not my best performance, but probably my favorite and most impactful class (seriously, I may never go back to python ;) ).
Alejandro Flores Velazco
CMSC420

Expecting an A+
Anonymous
07/27/2021
He was pretty chill and provided pretty good lecture sources. He's really helpful for answering questions because he's good at explaining concepts and diagramming them, though his lectures can get a little long-winded which is why I usually watched David Mount's lectures and asked him questions about those concepts afterwards. His exams are quite fair and he doesn't test you on anything you never learned before. So the pros? - Chill and friendly - Listens to student concerns (not guaranteed to comply with them but he listens LOL) - Doesn't test you on what you didn't learn - Good at answering questions Cons: - Lectures can be long-winded if not directed by student questions - Grading for coding assignments has had some debate (some coding assignments had incorrect specifications but Alejandro tried his best to help out) Not the best but also not the worst, though it's his first time teaching and I would say he's done more good than harm so I'll give him a 4/5 stars. _________________________________________________ A lot of the struggles in this course could have been greatly alleviated if we had more effective TAs. Personally, the TAs were really helpful for answering questions that they knew answers to but most of the time they weren't caught up with the lectures on what we learned (it's not necessarily a bad thing but it made office hours really useless at times). However this is only a side-note and will not affect Alejandro's rating since it's not his fault the TAs did not learn the same thing that he was teaching.
Alejandro Flores Velazco
CMSC420

Expecting an A-
Anonymous
07/27/2021
He really cares about your learning and wants you to succeed. Yes, due to SPOJ, the course is a little hectic, but you will grow a lot as a programmer as a result. The TAs were not very helpful, especially at debugging C. Sometimes when I went to office hours the TA hadn’t even looked at the project yet and was not supplied with project solutions. Hopefully in the future, he can be a little more stringent on the slacking TAs (though not all were bad.)
Alejandro Flores Velazco
CMSC420

Anonymous
07/20/2021
He does seem to be lenient at times with due dates and is somewhat of a good lecturer regarding material for a new teacher, but there are complaints about his grading policies during this summer term. Using competitive programming sites like SPOJ and then basing 70% of the grade based on whether it gets accepted or not (you’d most likely want to use C for its speed despite being told to use any language since a lot of the time others will still fail even if correct due to the execution time) as well as grading the midterm with a fairly low average resulting from a rubric that assumes information that wasn’t clear in a few questions leaves a lot to be desired. And the TAs could’ve been more helpful too.
David Mount
CMSC420

Expecting a C+
Anonymous
06/03/2021
Great professor and an even better person. The other reviews aren't lying at all. He really does want you to succeed and tries his best to teach you. This class is not easy, though. I found the exams to be tremendously challenging (admittedly I didn't put too much effort into studying, as I had a very loaded semester with other classes as well), with pretty intense critical thinking in time constraints. This class isn't an easy A by any means, but you will come out understanding a lot about the data structures he covers in class, and their different variants. His notes are fantastic -- i loved his lecture videos and how organized everything was, even amidst the online environment. Projects are pretty easy, all things considered. I procrastinated and did them the day before and didn't have a problem getting everything submitted, although I might say that for some projects it was kinda stressful because I did this. He also does side-lectures to help you with the projects, which are super important. Overall, I'd recommend the class -- not necessarily because it's easy (it's definitely not easy lol), but because Mount is so great.
David Mount
CMSC420

Expecting an A-
Anonymous
05/25/2021
Easily one of the best CS lecturers I've ever had. Both his written slides and LaTeX notes are extremely helpful. he does normal lectures during class, and has fast-forward lectures that take around 15-25 minutes to complete. Explains material really well, very open to questions, and is always open to feedback. If you put in a lot of effort in his class, he wont fail you. Definitely take him for any class if you have the option to.
Michelle Hugue
CMSC420

Expecting an A+
Anonymous
05/22/2021
The course structure is confusing but she did check Piazza quite often. The exams are long but are graded leniently. Projects are pretty straightforward (mostly because of Mount's lecture note).
Michelle Hugue
CMSC420

Expecting an A-
Anonymous
05/18/2021
Simple put, a terrible professor. I regretted taking this class with her - worst decision I ever made. Don't be like me because even if you get a good grade, you will literally have no free time and not learn a single thing.
David Mount
CMSC420

Expecting a B
Anonymous
05/18/2021
Really caring and helpful professor. Absolutely take him if you can. However, be warned that this is not necessarily an easy class. Although the projects are fine, the homework and exams require critical thinking on certain questions that only a few people may get. Nevertheless, Mount provides recordings, drawn notes, slides, shortened videos, review sessions, and more to help you succeed, which is really amazing that he goes to this level to help us succeed. One of the best professors in CS.
David Mount
CMSC420

Expecting a B-
Anonymous
05/18/2021
Definitely one of my favorite professors that I've ever taken at UMD! He does a great job at breaking down the material in order to understand it better. He provides lecture videos, hand written slides, LaTeX notes, and small bite sized videos for every single topic that he covers. He's also super accommodating and he's very responsive on Piazza and email. I felt that his tests and homework were fair, and the projects were well written and applicable to what we were learning in class. The only complaint that I could really think of is that grading might be a bit slow at times. However, It turns out that he graded ~190 midterms by himself. Highly recommend him as a professor!
Michelle Hugue
CMSC420

Expecting an A-
Anonymous
05/13/2021
Meesh doesn't teach. Simple as that. You're on your own to learn the material for this course. It's not hard to get an A because the grading for the exams is so weird (as long as you write something down, you'll get at least 1 point for a problem) and the projects are pretty easy. But if you have the option to take literally anyone else, do it.
Michael Marsh
CMSC420

Expecting an A
Anonymous
01/26/2021
His recorded lectures are easy to understand and go over. His exams aren't too bad. Projects can be tricky given how much he tests on edge cases. Overall a pretty good professor and really understanding.
Michael Marsh
CMSC420

Expecting a B+
Anonymous
01/12/2021
I had Professor Marsh for CMSC420. Previously, I had him for CMSC414 and did not have a great experience. This time I thought that he did a much better job in how he taught the material and the assignments that were given in class. The projects and exams were very reasonable and it was one of the better upper level computer science classes that I have taken so far.
Jason Filippou
CMSC420

Expecting a B+
Anonymous
01/05/2021
Pretty straightforward class. Jason's slides are EXTREMELY descriptive and he takes his time in lectures to go through material step by step. Exam averages are in the high B's, projects can be a little difficult but nothing too extreme.
David Mount
CMSC420

Expecting a B-
Anonymous
12/29/2020
Best professor I have had in the CS Department, I definitely recommend taking a class with him. You will learn a lot!
Hanan Samet
CMSC420

Anonymous
12/25/2020
Dry on details with the quadtree assignment along with a poor teaching style with hard to follow slides (that he hasn’t updated since 1998) make for my most frustrating course in UMD this far.
David Mount
CMSC420

Expecting an A
Anonymous
12/13/2020
Fantastic instructor. He knows his stuff and teaches it well, is very kind and understanding, and makes the class interesting. If you see that Dave is teaching a class, TAKE THE CLASS!! He made online school a little more bearable.
Hanan Samet
CMSC420

Expecting a W
Anonymous
11/16/2020
In my family, I am perceived as the "smart one" and basically forced to help my younger sibling in 6th grade math homework. Admittedly though, nothing much is learned during these tutor sessions because I cannot fathom how what I 100% understand to be difficult and because I do not have any teaching skills at all. Now imagine me, but now I am over 70 years old, very unfamiliar with very recent technology, and is paid to teach. That is basically professor Hanan Samet. He is really smart, having pioneered research into Computer Science and even has his own wikipedia page. But all that matters is if he can teach college students and my god he doesn't. Taken him with online classes, his lectures were boring and barely understandable. Most of it consisted of him going through a pdf of illustrations that are hardly understandable by itself, therefore you have to watch the lecture so he can explain what it all means, but then you can't get through the dull barrier or understand at all. Also for some reason the slides and chapter pdfs given do not support ctrl+f, and this is especially bad given that these things are huge pages of text. The big project seems to be the same each time according to the other reviews, but this time the project was split into parts with different due dates. While I appreciate it making me keep my procrastination in check, the project was still god awful. This mostly comes down to the information on the project like the project description. I've learned more on how to do the project from piazza than the pdf given. At one point, plenty of people received zero's because the hidden tests were exponentially larger than the sample ones given. Fortunately we were given a second chance to edit our project, but I wasn't happy having to edit in C of all things. They still made us use these weird huge inputs for the later parts that just makes it too difficult to debug. Oh yeah instead of using gradescope or the submit server to submit code, Samet uses Elms. Gradescope is used, but only for written homework. I should have known this professor was not gonna be good at all when the only section open for 420 was him. I wish I actually saw all these previous reviews before I was too desperate to take something for the semester. If I had the ability, I would go full Jimmy Neutron and time travel back to the exact time and location I was signing up on Testudo. I would slap that laptop out of his hand and tell myself to get a new laptop, because it's way cheaper than the tuition taking his class.
Michelle Hugue
CMSC420

Anonymous
10/29/2020
Awesome teacher all around. Overall great class.
Michael Marsh
CMSC420

Expecting a B
Anonymous
09/15/2020
Really good professor, but he uses Jason's projects and he hasn't read the src code so you won't ever know how your code gets tested. He'll review your code from a theory pov, however his mini-exams every week and his lecture videos are perfect.
Michael Marsh
CMSC420

Expecting an A
Anonymous
08/10/2020
Really responsive and well prepared for online lecture
Michael Marsh
CMSC420

Expecting an A-
Anonymous
07/22/2020
One of the best CS professors I've ever had. Marsh is a very kind and interesting person as well as a very attentive and well-organized professor. All lectures were well presented and all projects were fair. He was very generous with project extensions when they were warranted. Tests and homework assignments were extremely easy. It would take great effort or supreme procrastination for one to do poorly in Marsh's CMSC420 section. Highly reccomend.
Michael Marsh
CMSC420

Expecting an A-
Anonymous
05/16/2020
Explains things well and provides exercises for students to practice
Michael Marsh
CMSC420

Expecting an A-
nshropsh
05/12/2020
Marsh has so far been my favorite computer science professor. All content he covers through lecture is clear and complete, so it leaves out ambiguity. His tests have been very fair (despite making the switch to online exams). He has been extremely responsive to students this semester and he has been very active online even before quarantine. Take him for 420 if you get the chance.
Michael Marsh
CMSC420

Expecting an A+
Anonymous
03/31/2020
I think his previous reviews were when he was a very new professor. He has definitely improved a lot since then. He is one of the best CS professors I have had at Maryland.
David Mount
CMSC420

Expecting a B-
Anonymous
12/18/2019
Dave's a great instructor He knows the content like the back of his hand and lectures are never stuffy. He takes questions seriously and is happy to deviate from his plan if some interesting question got his attention. Even with the large class, lecture often felt more like a discussion. My class was a little disorganized because he was rewriting the syllabus as we went, but he was always upfront about the changes he was making and what delays to expect. He took time to develop useful assignments rather than just relying on the materials past instructors used. His future 420 classes will probably have more assignments; the difficulty will probably depend on whether you like using homeworks for practice or if the extra work is too much for you. Either way I highly recommend Mount.
David Mount
CMSC420

Expecting an A-
Anonymous
12/12/2019
Best professor at UMD. Lenient grading on exams and homeworks. Engaging, enjoyable lecturers. Fair project difficulty. Also answers every piazza question personally within 24 hours, often quicker.
Faho Shubladze
CMSC420

Expecting an A
Anonymous
08/30/2019
Overall good TA. Spends too much time making memes though :)
Jason Filippou
CMSC420

Anonymous
07/08/2019
Pros: Class is fair (not difficult) Material is interesting Grading is fair (our first midterm was hard, but then the final was a joke) His TA's are generally good Cons: Jason can be a bit disorganized Super understanding (especially if you go to his office hours) Projects can be challenging (again talk to him if you're struggling) I would definitely recommend taking Jason's class!
Faho Shubladze
CMSC420

Expecting an A
Anonymous
05/06/2019
Kind of a pretentious/power hungry TA IMO. Takes off arbitrary points on projects. It seems like he's trying to make CMSC420 a hard class (maybe to make TAing it seem more respectable?)
Jason Filippou
CMSC420

Expecting an A
Anonymous
12/25/2018
Jason's project description is very unclear, which made projects even more difficult, but the midterms and final are fair. Also, you can skip all the classes since there are recordings and slides.
Jason Filippou
CMSC420

Expecting a B
Anonymous
05/19/2018
His lecture style was hard for me to follow. Sometimes it felt like he had just learned the material that morning. His slides that he posts on ELMs are excellent to teach yourself if that works better for you. I think he will improve as semesters go on because he seems to take notes of what he does wrong and tries to correct his teaching style.
Michelle Hugue
CMSC420

Expecting a B-
Anonymous
04/17/2018
this class is hard as hell. She doesn't come to class. So all of the lectures were on google hangout. Really struggled in class
Hanan Samet
CMSC420

Expecting a B
Anonymous
12/13/2017
Incredibly rude professor, constantly yelling at people for asking questions or for not having known material. In our class, someone joined the class late because somebody dropped the class so they got on off the waitlist. Samet spent the first 15 minutes of the class lecturing the guy who joined late saying "this class isn't a train, you can't get on and off whenever you want, you need to have done all the homeworks already. Where are they??" There's no grade server or submit server, he made us print some of our projects and hand them in, and we didn't receive grades until a couple days ago. There's also no elms page, and he hasn't sent a single email or message on elms out. All he does is sit there and yell at people, definitely would not take.
Michelle Hugue
CMSC420

Expecting a B
Anonymous
12/18/2016
Meesh... I have no idea how I feel about her as a professor and whether or not I recommend her for 420. Pros - You may not have to attend a single class besides exams - She gives out project extensions always - She genuinely cares about her students and about you succeeding - The exams are really fair - since they cover a lot of material you are bound to do well unless you don't know anything at all - She calculates your grade a bunch of different ways and picks the best one - If you do well on the first two parts of the project and both midterms you can skip the third part of the project as well as the final and still get a good grade Cons - The project is pretty hard and time consuming - You won't learn that much from going to lectures due to her ADD/Dislexia. Wish she recorded her lectures because she actually is really good at it when she's lecturing and not telling stories - You won't learn that much about data structures if you take it with her Overall, it depends if you like teaching yourself everything or if you like learning by going to lectures. I prefer the latter and think I may have been happier if I took the course with someone else. I will say that Meesh is an awesome person and with a few small modifications I think she could improve the class. It wasn't necessarily hard but it definitely wasn't easy either. You'll have to put in considerable work (at least on the project) to do well
Larry Davis
CMSC420

Anonymous
05/11/2016
This class was the worst class I have taken at the University of Maryland. The teaching style is horrible. Larry Davis simply reads off the slides and rarely has an example of what the data structure looks like and how it should behave. And if there is an example, it's just pictures in the slides that are missing all the steps. I put in a significant amount of work into this class and the grades I received were too low. You receive no sympathy whatsoever. If you have been having trouble in another class and been overwhelmed with work you will not receive any consideration. I spent hours and hours every week teaching myself the material so I have put significant effort in this class. In addition, the projects have a 30% late penalty, meaning that the highest you can get is a 70%, it is a pointless late deadline, you would actually do worse if you kept trying. This was a horrible experience and I do not wish to go through this again. This has confirmed to me that professors are not meant to teach. It's reflected in their attitude towards the class. It's only a few that do actually enjoy teaching but from my experience here at the CS department most profesor like Larry Davis should not teach. I taught myself everything this semester. I should not be paying so much money to teach myself everything. I highly recommend the department to consider hiring Lecturers instead. When I was taught by a lecturer there was a significant difference, they actually enjoy their job and better convey the material. Professors like Larry Davis should remain focused on their research instead of making students suffer through this. Just because you have a higher degree or a tenure does not allow you to treat students the way you treat them. I am extremely upset about this class, I was really excited about this class but Larry Davis turned it into a nightmare. If you can avoid taking this class with him please do.
Michelle Hugue
CMSC420

Anonymous
05/22/2015
She is responsible to her students and is always willing to help. The project was ambitious but interesting! Design a Google Map by yourself!
Michelle Hugue
CMSC420

Expecting an A
Click
08/02/2014
Ok first let me say I am graduating right now and I am currently working for Google and I took Meesh for my CMSC 411(fall 2013) and 420 (summer 2014). On my job interview( for Google) the interviewer asked me about how did i do in Meesh classes? I am just telling that to let you know guys she is really famous. Yea she has ADD and she is talking about her life during the class but trust me all of the material she is covering are going to help you a loooooooot. Yes her Exam are really long and long and long but there are lots of materials that you know about them and you can get points for that. trust me take her class go to the lectures and study the materials she is giving to you! (Also there are some links like UNIX tutorial which I found it really useful take advantage of those too in your free time. If you are not working hard and dont try to teach yourself trust me you dont have any place in computer science world
Michelle Hugue
CMSC420

Expecting an A+
zaqu413
08/14/2013
Lecture: So Meesh has ADD and at first you might think "Why bother coming to lecture since she just goes off on random tangents all the time?" Well you should go to lecture because: 1) I actually learned a lot during lecture, not sure how, but I learned, the ADD moments might have actually kept me somewhat engaged and 2) the ADD (at least for my semester) seemed to start off terrible and get better as the semester progressed. Projects: So you are essentially writing MapQuest (well a low key version anyway). The project is broken into 3 parts and builds on itself throughout the semester. You really need to do well on the first part so that you have a good idea of what is going on, people who slacked on Part I were at a great disadvantage for Parts II and III. The project will take a lot of time, but won't be particularly difficult so long as you do the readings and understand the data structures you are creating. I can't stress this enough: THE PROJECT WILL TAKE UP A LOT OF TIME!!! Exams: If you read the other reviews you will notice that her exams are really really long. Use this to your advantage, if you don't understand a question just skip it, there is no point wasting time trying to decipher a question. I would also suggest never asking questions during the exam, it takes too much time and you could be answering questions you know the answer to instead of waiting for an explanation from the TAs or Meesh. Don't worry, she curves like crazy, I had something like a 78% and got an A. Book: Meesh posts a lot of stuff on her website. Use those resources, they are very helpful. Do the readings, they will really help you understand the intricacies of the data structures (and sometimes provide pseudocode). Misc: I took the summer version of the course, which had the projects shortened slightly, but topic coverage was the same. I also worked 20 hours a week at my job while taking this course and managed an A (although I spent almost all my non-work/non-class time working on the projects).
Michelle Hugue
CMSC420

Expecting an A
Anonymous
08/12/2013
This professor does not teach,she uses years worth of material stored and maintained by TA's in lieu of teaching. Time is spent performing administrative tasks in class, telling stories, cancelling class, and talking about how much she "cares." The truth is she doesn't care because students are walking away from her class thinking they have a good understanding of the concepts taught. With a general bit of knowledge and the heavy curving on the tests you would have a tough time failing tests even if you tried. Don't waste your time with this professor if you want to be successful in the field, use your time with professors like Dave Mount or Samir Khuller.
Hanan Samet
CMSC420

Expecting an A
Anonymous
12/18/2011
He's by far the worst professor I've ever seen. Some people say he's good because he wrote a bunch of thick books - but even those are not great. He talks down to everybody, beginning with students, and ending with his TA and fellow professors. (At the classes he talks about how other professors teaching the same class are so much worse than him, and how their slides are stolen from other people...) Then there's this Quadtree project, which is supposed to be written in C/C++ or Pascal. Still even though he claims to be an expert in all of them (and all Computer Science, for that matter), he constantly demonstrates he doesn't know what he's talking about. But again, according to him, everybody is wrong and only he's right. At the classes, he sticks to his slides and rarely gets up from his chair. Whenever someone asks something that is not explicitly explained in there, he gets angry, saying that we're supposed to know it already. That may be acceptable if after saying it he would actually do the explanation, which of course, he doesn't (I suspect that's because he doesn't know anything out of those slides...). He's paranoid about using electronic tools like the submit server or the grade server - because of this, it's hard to keep track of your progress in the class. We've just taken the final, and if we want to find out our score, we have to go to his office... I guess the only good thing about this course is that it teaches you how to work on your own, and not expect it to come from your instructor - in a way, it's a good life lesson... I wouldn't take any (other) course with him!
Hanan Samet
CMSC420

Anonymous
12/15/2011
I once heard Meesh say: "Never use a binary search tree. If you use binary search then I'll laugh at you, because you're stupid. Use hashing." So useful! So up-to-date! On the first day of class, Samet spent 15 minutes comparing methods of string representation based on how much memory you can save by SHARING COMMON SUBSTRINGS. He claims to have lost the old Macintosh software that created his slides, and they're all marked Copyright 1997. You have the option of turning in your quadtree project in Pascal. So, not exactly cutting-edge. The projects are all, without exception, sorely under-specified. For all of the projects the TA had to post lengthy clarifications to make the projects possible. Right now, the early morning (!) section with Subrahmanian is full. Every time someone drops from that section, someone from Samet's section jumps ship, so Subrahmanian's stays full. 15 or so people actually show up for class every day in our section. The infamous quadtree project is ridiculous. Within the first couple days of class you have to turn in your specification for the data structure. Four weeks later it must be completely finished supporting 15 different operations, along with a text-based command parser, makefile, etc. All code must be completely from scratch, and you'll need to implement a linked list, a heap, and a binary search tree (heh heh) during this time to finish your quadtree. We didn't get to quadtrees in lecture until December, so you need to figure everything out by reading his 1000+ page tome. And if, like me, you escaped 216 without ever learning how to use gdb then you'll have to develop a feel for that too because it's impossible to write 2,000 lines of bug-free anything (let alone C) without a fully-featured debugger. Many weeks of class are wasted learning Lisp, which has nothing to do with data structures. Those projects are straightforward compared to the quadtree project, but they're nontrivial. The tests are hard. For the first midterm, out of 24 exams (by the way, note that the class started out full with 40 students) 1 got <30%, 2 others got <40%, 8 others got <50%, 7 others got <60%, 6 others got <70%, 4 others got <80%, and 1 other got <90%. So only 5 people got above a 70%. I can't say it was a total waste of time, because I did gain a lot of experience writing crappy C code, but if I wanted to do that then I'd have taken OS.
Venkatramanan Subrahmanian
CMSC420

Expecting a B
kballsler
12/14/2011
Excellent professor, makes this class very approachable and informative. Class project was fair difficulty but the TA will walk you through it if you put in the appropriate effort. Way easier than Samet's 420 section, so choose this guy 10/10 times. p.s. He taught Meesh so this guy is quite knowledgeable in his field.
Hanan Samet
CMSC420

Expecting a C
Anonymous
12/06/2011
Do not take Data Structures with Samet. He knows the material well- he literally wrote the book on it, and he'll make sure you know it. He'll talk down to you, make a big deal about how you don't know anything, and not actually teach you very much you haven't already seen before in other classes until way after you've done the projects on them. He assigned us the notorious quadtree project, which while a fun exercise, isn't fun when you have only the first three weeks or so of the semester to finish it. If you aren't experienced writing thousand-line projects with C/C++/Pascal, if you appreciate your Friday nights as times to not do work, or if you like teachers that give you reasonable test cases and use the submit server instead of making the TA grade your output by hand... you will start hating this course very early if you take it with Samet. He teaches on overhead slides and "animated" pdfs. He teaches us to think recursively, and teaches us how trees work, and seems to think he has a better definition for just about everything in Computer Science than everyone else. (He doesn't.) He doesn't use the submit server because the process "isn't human enough" for him. He really really does know his stuff. He's a smart guy, but he teaches you the material in vague, opinionated terms using materials that a) largely haven't been updated in over a decade and b) don't really correspond with the rest of our CS education. But hey, he's still teaching the course, so he must be doing something right... oh, that's right- tenure. Never mind.
Venkatramanan Subrahmanian
CMSC420

Expecting an A-
Anonymous
11/05/2011
I really like him a lot. He makes learning seems easy. His style of teaching is to tell you the overview of the main stuff first - then, give multiple examples until you understand. He cares for students and he explains well. His exam so far wasn't hard and his projects are pretty straight-forward. His homework may require you to think a little. But as long as you go to class and do the hws and projects, you'll be fine. :)
Hanan Samet
CMSC420

Expecting a B-
pluralfacade
04/29/2009
Probably the best thing about this guy is that he is very smart and knows what he's talking about. Unfortunately, thats where the good things end. On the the first day of class, he assigns the notorious quadtree project. Although the first two parts of it are very easy, parts 3 and 4 are complete hell. Samet himself gives no instruction on the project himself, instead telling you to learn about quadtrees from the long project description and gigantic textbook of his. He then goes off lecturing us about linked lists and other stupid structures we already learned about time and time again. During lectures, he simply reads off lecture slides which he wrote, making lecture extremely boring. He tries to engage students by calling on them randomly and asking them questions, but (unsurprisingly) people rarely ever answer them the way he wants. If you don't learn the material from lecture, you have two other resources to learn the material from: Notes on Data Structures and Multidimensional Data Structures, two books which were also written by Samet. So yeah, you basically learn stuff by reading the same material three times. And don't try to learn the material from somewhere else: Samet has carefully added his own opinion and bias to his course materials, and these are often important for the test. If you put down that "an advantage of doubly linked lists is that you can traverse backwards", he will frustratingly mark you wrong. He seems to have this delusion that CMSC 420 is the only class his students are taking, and that we spend all of our time on it. It is not below him to assign extra homework assignments and lectures whenever he wants, and he often does this, even when students are buried in projects or other work for his class. We had class Tuesdays and Thursdays, and he would literally assign extra lectures on Fridays, and then would get upset when only 8 people showed up to them. Seriously, I don't know what people see in him. My rating is based solely on his TEACHING, not on his intelligence or research. It's people like Samet that really make we wish the tenure system is abolished and that teaching departments actually had some quality control.
Hanan Samet
CMSC420

Expecting an A
fuzzyLogic
12/28/2008
Intelligent He is sarcastic at times but quite insightful during lectures. He knows the material very well (much of it deriving from his own areas of interests) while capable of going beyond the normal curriculum. However, do be discrete about questions as he will digress/rant at times if they are bad. Pre-reading lecture slides are not necessary imo, just careful understanding during the lectures. Projects may be seem long but are relatively easy if you understand the problem's nature. Exams were relatively easy
Hanan Samet
CMSC420

Anonymous
12/28/2008
I think the best way to write a review for Dr. Samet would be in a list format, so here it goes: 1) His teaching style is not engaging and will put you to sleep. He asks the class many questions, and it's rare that students ever answer them correctly to Samet's standards. 2)He has an extremely abrasive personality and talks down to students like they're children. I felt like I was in middle school again many times throughout the semester. He also spoke badly about other professors in the department in front of the entire class. He literally said most of them don't know anything, especially about simple things like linked lists. I found this to be absurd and very unprofessional. 3)He was away on travel a lot throughout the semester and re-scheduled class a few times on different days than when class originally took place. Whenever some people wouldn't show up to these re-scheduled sessions, he would chastise the class and lecture us about how he's taking the time out of his schedule to lecture us and how everyone needs to be there. Problem is, the class was on Tuesdays and Thursdays, and rescheduling the class on a Friday evening means half of the class won't be able to be there because of work, other scheduled activities, or other private matters. Samet has a really difficult time understanding this. 4)He's a smart guy and has been teaching the material for so long that he completely understands it but expects everyone else to understand it at the same magnitude of his understanding. This makes him have a difficult time coming down to the level of undergrads and understanding that most of us are absorbing the material in the class for the first time, hence most of us actually having to learn the material. He constantly refers to topics in the class as common sense and gets agitated when students are left feeling clueless from his awful teachings. 5)The infamous quadtree project gets assigned on the first day of class, yet he teaches absolutely nothing about quadtrees. He told the class to look at some Java applets that show examples of how quadtrees work and told us to go read his encyclopedic book. That project was the most horrendous project I've done at UMD and the major reason why it was so difficult was because I didn't have a good understanding of quadtrees as I was left to research them on my own. It would've been extremely helpful if he spent the first few days of lecture talking about the mechanics of quadtrees and tips on how to implement certain operations. Instead, he jumped right into teaching us data structures we've learned as freshmen and assigned other homework assignments on top of the newly assigned quadtree project. There are other things about Dr. Samet I could mention, but I feel that the five things listed above should provide a decent foundation of what to expect from him. In regards to the class, I found the exams and some of the homework assignments to be difficult. Besides the quadtree project (which has to be implemented in C, C++, or Pascal), the remaining programming projects are all done in Lisp and are straight forward. I don't recommend Dr. Samet for this class, and if I could go back in time I would've taken it with another professor as I truly don't feel I've learned much from his class at all. I feel like I am walking away with a semi-understanding of some convoluted, advanced data structures and the knowledge of little tricks that can be used for simple data structures to save space that pointers/references take up.
Hanan Samet
CMSC420

intrusion
12/16/2007
He is a very smart man, and wants to teach. He grades tests very fairly and is willing to take time out of his day for you. It may well seem like he has difficulty coming down to the level of undergraduate students to explain things in a way we easily understand. However, a lot of the difficulty in learning from him can be alleviated by pre-reading the material in the textbook (or, more specifically, the extended notes corresponding to the lecture slides) before class. He expects you to pre-read, which is reasonable but quite time consuming. If you don't pre-read, it will be hard to learn from his lectures.