William Gasarch

This professor has taught: AMSC698D, CMSC250, CMSC250H, CMSC297, CMSC389T, CMSC452, CMSC456, CMSC652, CMSC752, CMSC798, CMSC858R, ENEE456, HONR209M, MATH456, MATH858R
Information Review
William Gasarch
CMSC452

Expecting a B
Anonymous
05/19/2024
This was probably the best CMSC class I have every taken here. Bill and his team make some really hard content very digestible and he truly wants you to succeed and understand. His office hours are engaging and he will sit with you till you understand the problem and his TAs have office hours three days a week, which is more than enough for the weekly homeworks. Exams were incredibly challenging but very fair, you are allowed one note sheet for the midterm and two for the final. This is the first time I have ever felt like a computer scientist.
William Gasarch
CMSC452

Expecting an A
Anonymous
05/16/2024
We got up and danced every lecture.
William Gasarch
CMSC452

Anonymous
04/12/2024
Simply excellent. This guy has a great personality and his lectures are engaging. The homeworks and exams are a perfect balance of fair yet challenging. I can't recommend him highly enough. This is the most fun I've had in any CS class.
William Gasarch
CMSC250H

Expecting an A+
Anonymous
04/11/2024
take 250h if you like math all the exams are open notes and web! The midterms have median scores of 100%... Talk to TAs and Bill, they are super responsive and can help
William Gasarch
CMSC250

Expecting an A
Anonymous
03/10/2023
Incredible teaching!
William Gasarch
CMSC250H

Expecting an A
theGreat
01/19/2023
Pros: - class was about 13 of us and its a great environment where u become friends with some ppl your age in the cs field - gasarch is engaging and you learn a lot - do advanced math that you wouldn't get the chance to do in regular 250 - homeworks can be time consuming so start them early and REACH OUT FOR HELP. The TA (shoutout Emily) was amazing in this class - Exams are not time sensitive at all which is nice. And theyre open note Cons: - go very off topic into gasarch's own work so you don't learn the important stuff as well
William Gasarch
CMSC250H

Expecting an A
Anonymous
05/31/2022
Probably the most favorite CS class I've taken at UMD so far. As a disclaimer, this class probably doesn't prepare you well for 351 compared to regular 250 because of how fast-paced and how quickly topics are gone through, but 250H does go over necessary topics such as induction (at a much faster pace) so it's not a big deal at the end of the day. Gasarch is an incredibly intelligent professor who goes through topics very quickly, and he sometimes expects you to understand them immediately which may not be possible at all times. Another problem with this class at times is the number of typos or changes to the assignments which can get pretty annoying. This is probably the biggest downside to this class as you should expect every assignment or untimed midterm to have a few typos so make sure to send questions through Piazza or email if you see anything that is incorrect. At some point in the semester, you'll get used to it though so it shouldn't be a huge problem. It's also sometimes kind of difficult to wrap your head around the content because almost everything is published by Gasarch, so if you're unable to understand the topic, there isn't really a supplementary textbook or resource to go through. However, Gasarch and Emily are super accessible through email, office hours, and Zoom. They are understanding regarding questions involving course content, and grading is done fast. There are no minus grades given as well, and the cutoffs are usually lowered for an A, but it changes every semester based on the difficulty (88 this semester). Compared to previous years, I would have to say that 2022 was much easier. 250H is weird due to the fact that they are certain programming assignments that are given out. These are usually pretty easy and can be done quickly considering examples are given out for the code. I do recommend using Python because Java doesn't work without certain optimizations such as needing to use imports such as BigInteger to increase number thresholds, but I did use Java (wasn't as proficient at Python) and it's just a little more work compared to using Python, so if you don't know how to use Python don't worry. All assignments are to be done through a computer as Emily and Gasarch prefer to grade LaTeX documents (which you will learn how to use LaTeX through Overleaf) compared to handwriting. Untimed midterms are pretty chill as they're 50% of the grade with about a week to do, and for each of the timed exams, we're given 2 hours and 15 minutes to do which shouldn't take you that long as they are 3 questions each. Exams are open note and are done at night at 8 PM which can be sort of inconvenient, but Gasarch is a night-owl so it's whatever. To do well in this course, make sure you find a study group and work together on homework assignments. You don't have to be incredibly smart to do well in this course, but you need to do the work, and I recommend trying to score highly on the assignments are the exams/midterms make up 65-70% of the class. Take advantage of Gasarch's dead-cat policy as he gives a two-day extension on almost every assignment, so if you have any questions after the weekend then you can ask in class before it's due. Make sure to show everything possible as tons of points can be taken off otherwise for not including simple and obvious steps as inferring without showing is not accepted. As a side note, Gasarch and Emily will bring in treats for certain occasions such as muffins for Muffin Math or chocolates just out of the blue, so that's a small bonus as well. The camaraderie is definitely one of the best parts of this class as it's very inclusive and everyone gets to know each other at a much deeper level. If you really match Gasarch's wavelength you can also end up playing certain games with him such as Dominion which was pretty cool. Overall, I highly recommend this class over regular 250, but only if you're committed to the work. You should end up getting a higher grade, significantly improve your mathematical maturity, and just learn more about discrete mathematics at a higher level.
William Gasarch
CMSC456

Expecting an A
Anonymous
12/24/2021
This was probably the easiest class I've ever taken. I literally only ever lost 10 points on one homework assignment all year; it is so easy to do super well in this class that I'm not even sure how you review it. I never went to lecture, so I'm not sure how much ill retain if anything, but got an easy A so take that as you may.
William Gasarch
CMSC452

Expecting an A
tybug
05/30/2021
A good lecturer that talks about interesting (and arguably obscure) topics. The biggest complaint I have is that his notation is usually odd and confusing (coming from a more formal mathematical background) and inconsistent, and things are sometimes hand-waved. To give a specific example, we went over the pumping lemma, and the only limitation he gave was that it applied to strings which are "long enough". No justification for what that meant. I had to learn the pumping lemma myself more rigorously outside of class to understand what the formal restrictions are on the strings it applies to. He's also a very eccentric guy. Not that I minded; I actually found it a little endearing.
William Gasarch
CMSC250H

Expecting an A
skushnir
05/20/2021
Gasarch is definitely going to present an intellectually harder course than the regular 250 section but I think he's worth it. You are forced to think creatively and out of the box which helps in other subjects. Also, his tests are not that hard.
William Gasarch
CMSC250H

Expecting an A
Anonymous
05/18/2021
I am gonna start with a disclaimer for this course in general. Seeing the CMSC250H, enticed me into the class because I thought, oh cool a CS honors class, that sounds like a cool experience. However, CMSC250H is quite a misleading name for this course. The name for this course should be MATH250H because this is almost entirely a math class (Discrete Mathematics: Proofs, inductions, probability, combinatorics). In the honors version of the class, you go much faster on topics, you actually learn some coding stuff, and you do alot of problems related to Gasarch's books and research (the research part sounds cool at first, but as someone who finds math boring, it really isn't that fun). So every week we had a Honors homework assignment due Monday 9am sharp and a regular homework assignment "due Monday 9am", however Gasarch has this thing called "dead cat policy", which is essentially a free extension until Wednesday 9am (y'a know, incase your cat dies). The homeworks are quite challenging intellectually, and studying/working on them with classmates is the way to go. On that topic, the class is significantly smaller than the non honors section which is a good and bad thing. It's a good thing because you actually get to have a professor who knows what your name is and you get to meet some great friends who struggle with you. The bad thing is, this class essentially simulates a small pond environment, in which basically you are trapped in a class where 80% of the kids are geniuses and if you aren't a genius you constantly feel stupid. The honors homeworks are honestly hit or miss. Most of the time they include a mini/short coding project in which you could code in whatever language you wanted using whatever packages and etc you wanted (I used Java), these can get time consuming, but are usually much shorter than the regular homeworks. Note: Make sure you do your homework cause its like 30% of the grade and it really does come clutch in the gradebook. And also the homework is graded for accuracy so you do need to work hard on it, and it is great to have a study group to compare answers with. Now the exams. So in this semester what Gasarch did was he would often have a take home part and a non take home part. The take home part would be like 25-30 pts of the final and would usually take a long time to do. The timed part of the final would be 2 hours, and he would say they were open note and open internet (though the internet wouldn't really help). The exams were quite easy in comparison to the homework problems, however if you tripped up on a problem, you tend to fall. On the first midterm i got a 90 while the second i got a 70. Now as for Gasarch himself. This man is a straight up genius, which means if you aren't a genius, you will get lost often and quite fast in his words. He loves to crack jokes and be sarcastic which is a plus, but sometimes he is a straight up "not nice guy". If you give a wrong answer, he is the type of person to laugh at you, or lecture you about "guessing" (even though most of the class only answers by guesses) - happened to one of my friends, he is scarred for life now. I was once in a one on one zoom call with him talking about some problems and he was straight up being extremely rude to me and aggressive for almost no reason at all (maybe bad mood idk). He also 100% plays favorites so get on his good side. He goes at supersonic speed in his lectures, and doesn't do many practice problems so it is not fun trying to figure out what is even going on in the homework problems. In class we did a bunch of topics from his life's research, most notably, Muffin Mathematics, while memorable, can be quite tedious. The TA for this class was honestly a saving grace and she helped us in so many ways (Thank you Emily). This class is definitely Hard, not impossible but definitely Hard. There will be times where you question why you took the honors section instead of the regular section - this happened to me a lot. But in the end of the class, Gasarch ended up giving an extremely generous curve (allegedly the TA had to convince him to give a curve) in which 85% curved to an A, 77-B,70-B-,60-C, no one got lower. So I guess in the end, the honors section of this class is definitely challenging, however, you may actually end up with a higher grade than what you could have gotten in the regular section of this course and I definitely loved the small class size. Gasarch loves math, this course is not a CS course, it is a math course, he flies by the material and is definitely not the best at explaining advanced concepts (not to mention almost all his slides have like a million typos) for simple minds. If you are a math prodigy or are good with this stuff then you will cruise easily, if you aren't then this class will be a fight, but I definitely would take the honors section of this class again.
William Gasarch
CMSC250H

Expecting an A-
Anonymous
05/07/2021
AVOID. Unless you have SIGNIFICANT coding experience (I'm talking years of doing interview level coding in python NOT java), do not do this to yourself. He is a very smart guy and the content is very interesting but 70% of the class was his own personal math theorems, and the rest of the class was speeding or skipping over major curriculum content. We would cover 3 important topics in one lecture. Each homework was full of errors or misunderstandings and would take at least 15 hours (not exaggerating) and that was if you finally could figure it out. We got lucky with the TA supporting us and keeping things fair, but otherwise he should not be allowed to teach any course before CMSC330/351. He is a funny and interesting guy however. The course would have been fine if he hadn't gone so fast and if the class in general had more comp-sci experience beforehand.
William Gasarch
CMSC456

Expecting an A
Anonymous
04/30/2021
Very WEIRD profesor who typos a lot. Not sure why he is a computer science professor when all he does is MATH. After 5 months he still doesnt know my NAME. I am surprised he is alowed to make bets with students.
William Gasarch
CMSC456

Expecting an A
Anonymous
01/15/2021
Course was easy and interesting at the same time, Bill was funny and taught the material in a super understandable way. Would easily take another course with him
William Gasarch
CMSC250

Expecting an A
abhimod
01/03/2021
Class was challenging but very doable and I learned a lot. The grading was very fair and lenient in a lot of cases. Office hours were very easy to go to.
William Gasarch
CMSC456

Expecting an A
Anonymous
12/29/2020
Bill G is the GOAT! He is super friendly and great at teaching the material in a way that is understandable. Homeworks and exams are sometimes tricky but aren't impossible if you understand the material from class. We had a handful of guest lectures this semester as a "break" from the normal material. Overall, he's fantastic and I'd take another course with him in a heartbeat.
William Gasarch
CMSC456

Expecting an A
Anonymous
10/19/2018
He is THE man. Great guy, super funny and he really cares about his students. His homeworks are also fair, challenging but not impossible. He's also good about explaining everything until you understand
William Gasarch
CMSC452

Expecting an A
Anonymous
05/11/2018
Gasarch is an interesting individual but makes the class a lot of fun. He's much more interested in students understanding the material than he is in grades or teaching style. He's pretty fair with homeworks and tests and usually if you know how to do all of the homeworks you will do fine on the test. He goes very fast during lecture but will try to slow down if someone asks. Sometimes he's a bit insensitive with what he says but is generally very nice.
William Gasarch
CMSC452

Expecting an A
AlexFowler
05/12/2014
Professor Gasarch does a great job in lecture and is always willing to help his students reach reach an understanding of the material that he talks about in class (some of which is definitely not easy). There were numerous times during the semester where Gasarch could be found in his office well after his stated office hours answering student questions and giving homework hints. He is very responsive to email as well. I would highly recommend professor Gasarach although it is definitely true that a strong math background would be very helpful for his course.
William Gasarch
CMSC452

Expecting a B
zaqu413
05/16/2013
Lecutre: Gasarch is a good lecturer. He will try to get you involved and questions are always welcome. He makes lecture a little more interactive than most professors. He also talks fast, which might take you a week to get used to. Book: He lists 4 books that are all optional. I bought the "Introduction to the Theory of Computation" by Sipser book and really liked it. I would definitely suggest it if you think you will need a book for this course. HW: After having Kruskal for cmsc250&351 I was used to HW's being impossibly difficult. This is (thankfully) not true in Gasarch's class. Most of the problems are of medium difficulty, with a scattering of very hard and really easy. If the problem seems really easy then it probably is, don't second guess yourself. Content: Beware, I found the second half of the course (Decidability & NP/P stuff) to be very hard, and I think most people would agree. For those wondering the first half of the course was on Finite Automaton, Regular Languages, DFA/NFA/Regex/CFG. Exams: Midterm: 35% of grade Final: 41% of grade Midterm was fairly easy as long as you knew understood everything, he will ask you to explain what you are doing, not just do it (this is so you don't just blindly follow the algorithms). Final was harder as it tested the NP/P etc. stuff. You get a cheat sheet mainly so you don't have to memorize the algorithms. Finally: I took this course concurrently with CMSC330 and I think it actually gave me an advantage in both courses. Since I read the first two chapters of the Sipser book the week before school started I was not behind in 452 and the work we did in 452 really helped me when we formally covered DFA/NFA in 330.
William Gasarch

Expecting an F
Anonymous
04/17/2012
I went into this class thinking it was about dispute resolution in the case of divorces/treaties or even game theory type problems, but instead it was abstract computer science math. You spend weeks upon weeks learning about how to cut a cake(it's a metaphor for a continuous good), and if you do not have a computer science orientated thought process you are lost completely. The homework usually involves problems that you have no idea how to do, and there is not a textbook to help you so you spend hours on trying to figure out protocols only to realize that they are worth 0 points in Prof. Gasarch's mind. He is actually pretty nice and interesting, (he lets you redo homework/midterm problems, but that's worthless) just the class is absolutely impossible. I have no doubt he is a good CS professor, it's just the honors' seminar is based off of fringe mathematics that were not explained in the course description.
William Gasarch
CMSC250H

Expecting an A
OtG
03/21/2012
I did not enjoy this class, but I imagine that mostly stemmed from my dislike of the subject matter and my resentment for having to take the class. Gasarch is very enthusiastic and engaging (if you're willing to be engaged). If you're into math, definitely take him. If you're not, he's liable to get pretty grating by the end of the semester.
William Gasarch
CMSC250H

Expecting an A
Anonymous
11/30/2007
Gasarch is an incredible professor, with the ability to make a subject that I already had some familiarity with still more interesting. His explanations of complex ideas and topics are very accessible, and his own knowledge of the subject is similarly impressive. Given the speed with which he can explain a topic, we also had time to delve into some of Gasarch's own research, making the course a lot of fun. Further, he will make sure every student is on track without slowing down the class, and in general makes going to class one of the more enjoyable parts of my day.