Reviews for CMSC330

Information Review
Anwar Mamat
CMSC330

Expecting a B
Anonymous
03/12/2024
Anwar is not a good lecturer, the lectures are incredibly disengaging, and trying to take notes is hard as he flies through his slides. He yaps away while doing a poor job explaining new concepts, and if it were not for his in-lecture "clicker" quizzes, I would self-study because at least his online lecture slides at least contain everything he says, not to mention that he records. Cliff's notes are arguably more detailed and understandable though. I do give him credit for his extremely fair exams and grading, he seems to be generous with partial credit.
Cliff Bakalian
CMSC330

Anonymous
03/05/2024
(A)nd shall I compare Cliff to a summer’s day? (M)ethinks Cliff art more lovely and more temperate: (O), do Rough winds do shake the darling buds of May, (G)olly, and summer’s lease hath all too short a date; (U)surp Sometime too hot the eye of heaven shines, (S)o often is his luscious majestic dark hair dimm'd; And every fair from fair sometime declines, (S)uch by chance or nature’s changing course untrimm'd; (L)ore but thy eternal summer shall not fade, (A)nd nor lose possession of that clear Cliff ow’st; (Y)ap Nor shall death brag thou wander’st in his shade, (P)anic! When in eternal lines to time Cliff grow’st: So long as men can breathe or eyes can see, (bruh) So long lives this, and this gives life to Cliff. #[derive(Debug)] In all honesty, Cliff tries his best and cares about the academic success and wellbeing of his students. Thanks for a great somewhat chaotic semester!
Ceren Mert
CMSC330

Anonymous
01/27/2024
Ceren is fantastic! Super down-to-earth, chill, and helpful in office hours. I'm lucky to have met her last semester!
Zoya Tasneem
CMSC330

Anonymous
01/27/2024
Zoya is simply incredible! She is down-to-earth, so so helpful, and super funny too. I am so lucky to have met her last semester <3 thank you Zoya!
Vasu Mittal
CMSC330

Anonymous
01/27/2024
Vasu is a fantastic TA - easily one of the best! He really goes above and beyond to break down and explain concepts clearly to students. He also is always very genuine and always down to share notes and such. You can tell he really cares about his students and their academic success. The GOAT
Cliff Bakalian
CMSC330

Expecting an A+
Anonymous
01/14/2024
exams werent bad at all, quizzes were hit or miss, but just make sure to manage your time with projects. cliff is a pretty decent lecturer as well. overall felt like a breath of fresh air compared to larry herman's 216-- no style points, mostly public/release tests, exams weighted a lot less than projects, extra credit if you participate, late tokens, etc. 330's also much more skill-based than rote memorization. my one complaint was there was a project that was very poorly written in the beginning of the semester. it was a terrible time trying to figure out how to interpret it even with the extension. but, projects after that were much clearer.
Cliff Bakalian
CMSC330

Expecting a B
Anonymous
01/03/2024
average lecturer. he's not bad by any means, but not the best either. since lectures are so long, it can get very boring to the point where you don't want to attend. his exams are of medium difficulty. some projects are not that bad, but a few of them are terrible, almost to the point where you cant even do it at all. quizzes are not that bad.
Cliff Bakalian
CMSC330

Expecting an A+
Anonymous
12/28/2023
He is a pretty decent lecturer and is pretty kind. However, the course is designed to be a lot of self-teaching. For example, we jump into projects with three different languages that we are unfamiliar with and are expected to teach ourselves the syntax and find different functions to use. The discussion sections are helpful, but the quizzes are hard and we are not given a lot of study material. The past exams and quizzes do not relate to how the class is structured now, so it is hard to prepare for them. They do curve most of the assignments, which is helpful if you bomb one or two assignments in each category.
Cliff Bakalian
CMSC330

Expecting a B
Anonymous
12/26/2023
this class has a lot in terms of work but it’s not really too terrible in terms of difficulty. thought multiple times i was going to get like a 50 on a exam including the final but i was always surprised that i would score high 80s on them and it’s not cus im goated and all that it’s really just cus cliff is a decent teacher. Been a while since i saw B in a computer science class so yeah. Only few things sucked like quiz 1 and like 2 projects but it didn’t really affect me in the overall grand scheme of the class and my grade since if you get 50 percent on those things it was like only 7 percent gone. i imagine he’s going to learn from them as well to fix them and such. that being said, he could have small hiccups like those for future semesters and if youre a tryhard that might be an issue but cliff will sure try his best to accommodate to it if it happens. Overall i enjoyed having cliff as my teacher and i can definitely see him becoming a really good professor, dudes only like 25. his lectures were kind of boring tho but so is every professor i ever had except for justin
Anthony Gomes
CMSC330

Expecting an A
ant_g51
12/23/2023
Goat
Cliff Bakalian
CMSC330

Expecting a B
Anonymous
12/23/2023
Cliff is an ard professor in my opinion. Pros: good TAs fair exams and quizzes(except quiz 1) He tries his best to help the students Bonus points for participation Cons: boring lecturer does not record Some Difficult projects(Every CS coding class is going to have difficult projects so it is what it is) Overall this class was not that bad
Cliff Bakalian
CMSC330

Expecting a B+
frankMiller
12/21/2023
Took CMSC330: Organization of Programming Languages with Cliff Bakalian in Fall 2023 (CS major requirement). 1.5 stars for this class, I reserve 1 star for Kruskal. Felt like Cliff really did not care about the well-being and success of his students in their own terms, only did what he wanted. e.g. he feels that uploading answers is beneficial so he will upload but he will not go out of his way on anything else. Maybe he's not expected to, but it makes you miss a teacher for Nelson for example. Everything is available on the class website, fortunately: https://bakalian.cs.umd.edu/330/resources Cliff runs one of the better-administered courses, but he can still mess up: project is released really close to finals with no prior communication, exams taking forever to grade. Entire class was so theoretical I am worried. It's the 300 levels; when do things begin to relate to the real world? Probably not Cliff's fault, but I need to go out there and build things that people will pay me for, not just convert NFAs to DFAs and learn about lambda calculus theory. Exams: I felt these were brutal. Felt like no amount of preparation would prepare me for them. Projects were also brutal, for the first time I found myself liberally using up late tokens. Often unreasonably difficult and only achievable with a lot of stress, time, tears, and assistance. Heavy workload. Cliff has both positive and negative marking, so the grading is all over the place and you are hit with heavy penalties that will obliterate your score. Another recent reviewer from my batch mentioned how the exams are easy but I found them very difficult, maybe it's just me. Absolutely terrible lectures, Cliff is notorious for them. No idea what is going on. I only went for the participation points and to stay abreast somewhat of what was happening but basically you have to learn yourself. Discussions are bad, but not the fault of the TA who was very nice (Amr Tairi). But I felt that what we did discussion was not so helpful. Don't even get me started on the office hours -- both the TA office hours and Cliff office hours. Cliff will actually help you, the problem is that he is spending one hour with the person who came before you even though there is a queue of six people. I got fed up and went just once. TA office hours were objectively THE WORST and a NIGHTMARE, and yes it is Cliff's fault because he is the boss of the TAs. He let them walk all over him and do a bad job. Don't tell me it's not Cliff's fault; Cliff has created a culture. TAs are consistently excellent under Nelson because he actually cares about his students. - Tiny, two desk open area swarming with people, filled with off-duty TAs who just use it as a place to hang out and have a good time amidst all the suffering. - Takes HOURS to get a TA, during non-peak hours (e.g. day after the project is due) who: - Looks down upon you like you are some kind of parasite wasting their time - Doesn't even try to understand what you are saying - Basically just says "I cannot give you the answer" when all you are asking for is some guidance - Not only does not help, but gives you the WRONG answer - Spends five minutes with you and leaves. It was truly terrible. Frankly I've heard Kauffman teaches well, but everything else he does the same with Cliff. So maybe just take Kauffman and benefit from Cliff resources? I don't know, check out his reviews.
Christopher Kauffman
CMSC330

Anonymous
12/21/2023
From my course eval: "Professor Kauffman's lectures were extremely helpful in understanding the material and I appreciated the amount of time he spent going over concepts and the depth at which he covered them. His in-class activities were a breath of fresh air after previous lecture-heavy CS courses and helped solidify concepts. He answered questions during class thoroughly and was clearly passionate about the material and about his students' success. His slides were both informative and visually appealing (as a hobbyist graphic designer, I approve). His nerdy lecture examples were memorable (I recall a Lord of the Rings-themed one demonstrating OCaml records). When extenuating circumstances arose, he was quick to respond to emails and quick to be accommodating. He was extremely open to feedback and willing to sit down in office hours with his students discussing said feedback at length. I do not think I could have had a better 330 professor than him, and I will be looking forward to taking future courses with him (if possible)."
Christopher Kauffman
CMSC330

Expecting a B
ibrahim
12/21/2023
Incredible Professor, definitely the best CS professor I've ever had, and he makes it a point to answer everyones question and make sure the class understands topics at a high level. Study the material in class and practice on your own with all the examples he provides in slides and discussions as well as actually understanding the projects, you'll be fine
Cliff Bakalian
CMSC330

Expecting an A+
Anonymous
12/20/2023
Very nice guy. He has pretty decent notes on his website, and we also have a piazza which is fairly responsive. His lectures aren't the best (half the time he walks in with his xps and starts typing in vim), but they basically cover the same amount of stuff as his notes, which makes it tempting to skip class. The projects are mostly good, as well. Overall, not a bad professor. The course content carried hard, though, since I personally found it interesting and at times fun.
Christopher Kauffman
CMSC330

Expecting a C-
Anonymous
12/20/2023
Kauffman is a great dude, and I really enjoyed his lectures. He was co-teaching with Cliff this semester, but his exams and quizzes were still fair and he owned up to when they were not. His lectures are super engaging and have good activities baked into them. Overall, 330 was not what I expected it to be - I thought it would be more of a software engineering course, but it was more the theory behind programming languages and deep exploration of functional programming (Ocaml)
Cliff Bakalian
CMSC330

Expecting an A+
Anonymous
12/20/2023
"AFAIK cliff is cringe. cliff, cringe jk idk is cringe" - CMSC330 Final Summer 2023 Cliff is kind of a middle of the road professor at this time. The biggest problems currently are the lack of good project documentation and poor administration. With the project documentation, even outside of the dreaded project 2, the README's consistently left out important information which I needed to scrub through Piazza to get. With administration, projects were pretty much developed on the spot as far as I'm aware, as the autograder was consistently released well after the project start date, and project 8 had a massive delay. Both of these factors make projects much more of a pain than they need to be, as development problems are more often something poorly/not addressed in the README rather than programming logic errors, and "semipublic" testing is delayed until the autograder is up. In addition, while ultimately minor, the lectures were honestly fairly boring and disorganized, as many of them are freeform coding/drawing sessions, but the coding particularly doesn't work because much of the time is spent on coding instead of getting across the main points. Finally, 20 minutes for the quizzes just feels too short, and 25/30 minutes seems far more reasonable for the assessments they are. For the good, besides the project 8 fiasco, the TAs, Cliff, and Kauffman were all fairly active in responding to Piazza inquiries. Most of the projects themselves, except for the infamous project 2, have all boiled down to reasonable implementations. The lecture quizzes were fairly useful, and the amount of forgiveness on them was really nice (I missed one by accident and still got full credit for lecture quizzes). Exam weighting made exams not overly stressful, and the exams themselves were incredibly fair, which was nice after taking some past exams with fairly memorization-heavy questions (like coding an OCaml parser from memory). Finally, Cliff and the TA's seem to know when things were screwed up, such as with quiz 1 and project 2, which is reassuring. Overall, you will likely do well with Cliff. Exam averages were around 85 across the board, and nothing seemed too unreasonable at the end of the day (well, almost). I think he's middle of the road right now, but chances are with a bit of fine tuning, he'll turn out to be a great professor. Hopefully things get sorted out, as I understand the course is going through some growing pains right now. At the end of the day, I would still recommend Cliff. That is, if you had the choice, as CS class registration is in a terrible place right now. One more thing, I didn't really like Rust as the final language of 330. It kind of just boiled down into a mess of language rules, and the rust projects were not as effective as the OCaml projects in getting us acquainted to the language imo. The original plan was to tack on Racket, and honestly, I would have much rather had that instead of Rust, as I feel it ties into the themes of the course much better. It also has the side effect (get it) of preparing us better for 430.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
12/19/2023
Overall, I thought Cliff was decent. 40% of your grade comes from projects. The only projects that were annoying were project 2 and project 6. Project 2 in my opinion was too much. Period. Project 6 was okay, but the evaluator part was somewhat annoying. You have 2 mid terms both 12% and one final worth 22%. All exams are very fair, except the year I took it Kauffman and Cliff were coteaching. I think some exams were written by Kauffman. Then you have quizzes and lecture quizzes. Lecture quizzes are fine and the quizzes are okay. When I took it, people performed poorly on quiz 1. Cliff as a lecturer is okay. He definitely can get boring at times, but goes over all the content you need to know. He is also extremely helpful in OH. The class also has a large amount of TA's. That's a plus as well.
Cliff Bakalian
CMSC330

Expecting a B-
Anonymous
12/17/2023
As a student, it feels to me that he designs the projects simply to trick students and not help them learn anything- showcases how smart he is! Looking back, I don't really understand why he taught the way he did as I don't know what I learned. On the other hand, watching the other instructor's (Kauffman) lectures really helped me learn and also appreciate the course a lot more. Avoid Cliff as much as possible if you want to maximize a stress free schedule while also getting value out of the class instead.
Cliff Bakalian
CMSC330

Expecting a B+
Anonymous
12/16/2023
Very good choice for 330. Pros: - Has notes for each topic that gives more information than the lectures - Office hours are very helpful (both Cliff's and the TA's) - Lecture Quizzes that are easy and give a small grade boost - Content on exam is spread out so there aren't too many points on one topic - Also exams aren't hard - Listens to feedback about class assignments Cons: - Projects can be hard at times - A few of the projects were also confusing but TA's were responsive on piazza - Quizzes were hard (There are 4 in total each weighed 2.5%) Overall: If you start projects early (Basically the day they come out) and you use office hours, they're doable. Study for quizzes and exams. If you study throughout the semester, studying for exams won't be as bad. Also make sure you understand the topics well since you will (most likely) have a project on it.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
12/16/2023
Chill and class covers some interesting content. Some projects (especially project 2) were hard because of a lack of organization and foresight in project descriptions; if you had Larry and complained about his long project descriptions, these projects will make you appreciate them. Overall I think he was alright, I think a lot of salty people leave bad reviews because they are being confronted with the fact that a CS degree requires learning about how computers and programming actually works and not just making JS web-apps or something. So many people don't go to lecture but I highly recommend it, if you don't he has very good notes as supplement though.
Anders Spear
CMSC330

Expecting an A
Anonymous
12/16/2023
Super funny and super helpful. Take class with Anders if you can.
Christopher Kauffman
CMSC330

Expecting an A
Anonymous
12/16/2023
Great lecturer. I had him when he was coteaching with Bakalian, but the content was well-taught, and the online notes were good. Has extra credit for participation in lectures and discussions, which can be a huge advantage, and course is project weighted.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
12/16/2023
Cliff is really smart but his teaching style really did not work for me. He did a decent job of giving us the content, but does a bad job of explaining how the topics that we learn intertwine together, so it feels like we are learning random arbitrary topics for a while until the pieces finally go together in your own head. The projects in this class were a mess. I believe a TA wrote project 2, and the description was really vague and no one really had any clue how to do it. Project 6 was also a really poorly written project – both needed added resources halfway through the project to help students understand what they had to do.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
12/15/2023
Cliff is a good lecturer, I think most of these reviews are overly harsh. Cliff's lectures are boring, but he makes great lecture notes so going to class is practically optional. Exams are incredibly fair. My only complaint with Cliff is that some of the projects were too difficult and took too much time, and I wasn't a fan of having quizzes (only four though), but other than that he is a great lecturer.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
12/15/2023
Cliff is the definition of mid, the definition of a 3 star professor. Basically every aspect about his class structure and personality is mid. Not bad, not good. - Lectures: Sometimes very informative, sometimes big wastes of time. Sometimes I'm engaged; most of the time I am not. The semester started with him using slides (which were really just visual aids for him and didn't serve as useful notes), but devolved into him just typing notes into Vim later into the semester as he talked. Lots of time wasted trying to spell correctly. Publishes decently useful notes. - Exams: Two midterms. Usually pretty fair if not easy. Usually hits you with a couple really ambiguous multiple choice or true/false but he double majored in philosophy so he likes things abstract and theoretical. Cumulative final. - Projects: Some were really, really hard. Others were fine. Lets you submit as many times as possible. No grading on style-- just tests, and usually these are all public or a mix of public and semipublic. Secret tests were on a couple projects but not most. As a result, they took a long time, but as long as you were able to get through it, they were easy guaranteed As. Project descriptions were kind of terse and didn't really describe what to do in edge cases, and I often had to rely on Piazza posts to get a full understanding of the project. But to be fair, going from Larry to Cliff was a big jump and usually he just doesn't test weird edge cases like Larry would. - Discussions: Completely optional unless there is a quiz. Dates for discussion quizzes given at the start of the semester. Quizzes are sometimes a time crunch. 4 quizzes throughout the semester. - Reachability: I went to Cliff's office hours once and he was kind of standoffish. I've heard TAs are helpful and they are very responsive and helpful on Piazza. - Personality: I think Cliff is a chill guy but often times he just kind of came off as boring. He's weirdly interested in unconventional programming languages like Shakespeare and INTERCAL, but luckily this class's content allows him to talk about that a little and relate it to the lecture content and it was decently interesting. I'm basically entirely indifferent to Cliff. The class was fine. The semester was fine. I performed fine and am expecting an A. Wouldn't mind taking him again.
Ceren Mert
CMSC330

Expecting a B-
jaccboe
12/11/2023
Ceren is a very friendly and intelligent TA. She is very kind and easy to talk with, and is excellent at teaching. Although Ceren does not have a discussion section, she does have office hours, and she is incredibly helpful there. She is very good at explaining project descriptions and class concepts, and has helped me many times. She has hosted review sessions in lieu of exams and even posted some of her own personal notes on our Piazza to study from. She clearly cares about the students and their success. I highly recommend this TA.
Jared Fleming
CMSC330

Expecting a B-
Anonymous
12/11/2023
Jared is a kind and welcoming TA. He does not have a discussion section, but he does have office hours. At office hours, he is extremely helpful and a great teacher. With only a glance, he can read through code or directions for a project, understand what is being asked, and figure out what your issue is. He is excellent at explaining concepts and helping you identifying issues. I've almost always been able to figure out my issues after he explains, and it always feels rewarding learning from him. Highly recommend this TA as he is very knowledgeable.
Anthony Gomes
CMSC330

Expecting an A+
Anonymous
12/11/2023
Best TA ever
Christopher Kauffman
CMSC330

Expecting a B+
Purplefox
12/10/2023
Professor Kauffman nailed everything you could want and expect of a professor. Despite being new to the department and the class, he quickly took charge of the material. His slides were excellent, covering history, documentation, example code, and exercises with answers. He gave us time to work on exercises, discuss with classmates, and always answered questions. He genuinely cared about making sure we understood the material. He had amazing integrity, owning up to his own mistakes. He even provided recordings of the sessions. Professor Kauffman went above and beyond by sharing his opinions on the topics and discussing their practicality. He questioned why we covered certain topics and where the information came from. Overall, Professor Kauffman is a great addition to the CS Department, and I would recommend taking a class with him if you get the chance.
Vasu Mittal
CMSC330

Expecting a B+
Purplefox
12/10/2023
This TA is one of the best I've had in the CMSC department. I was lucky to have him for my discussion. He outperformed most other TAs by answering questions, sharing his notes and insights, and keeping the class engaged. His discussions often included a comprehensive review of the material that helped me understand topics even when I had no clue before, making it easier to handle projects and discussion tasks. Interestingly, another student even switched to attending his discussion instead of their assigned session. When he couldn't make it to discussion, he found a substitute TA instead of just canceling. Vasu was very kind and genuinely cared for his fellow classmates. I couldn't have asked for a better TA.
Anthony Gomes
CMSC330

Anonymous
12/09/2023
Best TA ever he explained everything well and ensured I learned the material before heading to another person
Zoya Tasneem
CMSC330

Expecting a B
Anonymous
12/08/2023
Zoya is a very knowledgeable and well spoken TA. She shows mastery over course material, and is excellent at teaching it to us. If you are struggling in lecture, going to her discussion filled those gaps. I sometimes find that her discussions are actually more helpful than going to the lecture. I cannot tell you how many people I have seen go out of their way to attend her discussion and skip theirs. She is very kind and is easily approachable. Highly recommend this TA and going to her discussion section and office hours.
Christopher Kauffman
CMSC330

Expecting an A
Anonymous
12/07/2023
Professor Kauffman is easily one of the best professors I've had at UMD so far, up there in Justin levels of greatness. Right here is a teacher who really seems like they care about the subject can teach it in a way thats easy to understand and seems to care for the students as well. He's personable, funny, and I am probably more engaged in his lectures than I am in any other CS lecture I've had before. One thing I love is that he'll always answer questions and is happy to do so. He's got funny little nerdy references in his slides as well which is nice coming from Larry. Overall, his command of the subject is impressive but not surprising given his experience. Everything he teaches in based off of textbooks or some source so you know what you're learning is legit and is following some level of a standard (and not just the arbitrary musings of some researcher). He comes off as a little passive agressive sometimes, but in a funny way and only when its warranted (a kid won't stop asking questions that are pointless and interrupt class, someone asks a question that was just answered, etc.). His slides were also pretty good, sort of dense but filled with useful motivating examples. The worst part of this experience with him was that it felt like he was always being hampered down by coteaching with Cliff, which makes sense. This is a man with 20+ years of educational experience, coming from the University of Minnesota and GWU (with raving reviews at both) and he shouldn't really have to coteach so I hope he isn't in the future. The projects that he himself wrote (project 7 and 8) were easier to understand and do compared to the collaborative ones which is good and I felt like I put in my time, learned something, and could walk away happy. If there are seats open for this man, take him. I just hope he stays at UMD because I think his ways of teaching should be an example for the whole department.
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
11/28/2023
very mid ngl -good notes -horribly boring lectures -some well-written projects -some very disorganized projects -exams are like practices -quizzes are pretty chill other than the first one -not insanely challenging exam wise -projects are more tedious and leave more to interpretation -tas are good, but they are always in the room and like never helping -quick piazza posts long story short, idt i learned shit, but this class isn't the worst
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
11/26/2023
very chill and fun guy (nice hair), nice tas too extremely helpful detailed note pages and fairly decent, understandable lectures quiz 1 and project 2 were absurdly difficult but he seems receptive to feedback - gave extra late tokens after the horrors of project 2 and pretty much every project and quiz after has been easier and more reasonable not a perfect class but it feels like he's down to earth and working to improve which is always good
Christopher Kauffman
CMSC330

Expecting an A
andruepabloske
11/17/2023
Very funny and helpful guy who cares a lot about your learning. Take him!
Cliff Bakalian
CMSC330

Anonymous
11/16/2023
Nothing against Cliff but I am at a loss for words regarding the new projects introduced this semester (Project 2 and Project 6). If you can't provide a solid description for each project, how do you expect students to understand what they are being tested on for secret tests? it is a guessing game at this point and a good chunk of your grade is at stake.
Zoya Tasneem
CMSC330

Expecting an A
Anonymous
11/14/2023
Asked for help during office hours. Provided no information, then left prematurely as she had a meeting. Did not transfer me to another TA to continue our discussion, and forced me to wait 21 more spots in the line to speak with another TA. Her proposed changes did not make sense and she did not explain them when asked.
Cliff Bakalian
CMSC330

Anonymous
11/12/2023
organized class and some extra credit(<2%). but the lectures arent the best. OH should help though
Jugraj Singh
CMSC330

Anonymous
11/12/2023
One of the best TAs! Gives examples to help you understand concept. Additionally, he will guide you to an answer rather than giving you the answer!
Cliff Bakalian
CMSC330

Expecting a B
Anonymous
11/12/2023
Don't take this class lightly. I got an A+ in CMSC216, but it seems like every project in this class is worse than the next. Despite never procrastinating on them and starting the day they're assigned, sometimes it's just not feasible to finish the projects without spending over 20 hours on them. The project descriptions are vague, and whenever I went to office hours, the TA's agreed that compared to the semesters they took this course, the projects seemed more harsh and convoluted. I will say, Cliff is good at explaining the topics, the TA's are wonderful at explaining things and even if you're stuck with a crappy one for your discussion section, there's enough that if you go to office hours you WILL get any question you have about material answered. The material itself isn't overly challenging, and the tests are fair with a lot of practice material provided. But for a class so heavily dependent on the projects, I wish they'd put more thought into the workload they're assigning.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
11/10/2023
Cliff is an incredibly boring lecturer but he provides you with every resource you need to succeed. Practice quizzes and exams are super helpful. This semester, one quiz and one project were extremely difficult but the difficulty has since gone down.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
11/09/2023
I think these reviews are generally too tough. The only thing holding my review back from 5 stars is the quizzes, which feel unnecessarily stressful, despite only being 2.5% of your grade each. Other than that, I think the class is taught well, and I really like Cliff's lecture notes, which cover basically everything that happens in lecture, and are very well-written. He also gives you access to previous exams and quizzes to study. The projects are probably more difficult then they should be, but if you start early you will be fine.
Christopher Kauffman
CMSC330

Anonymous
11/08/2023
I'm not actually his student for this course, but I've relied entirely on his posted lectures and supplemental code to get me through this course, so I felt I should leave a review since I chose another professor over him due to the lack of reviews. He's very knowledgeable, charismatic, and sometimes humorous. I've heard great things from his students. The way he explains things just sit super neatly in my head which I am not used to in CS. Take Kauffman!!
Cliff Bakalian
CMSC330

Anonymous
11/05/2023
Absolutely horrendous projects, they basically boil down to whether you can guess what he wants you to do.
Christopher Kauffman
CMSC330

Anonymous
11/03/2023
he can quickly adapt to teaching any course even if he's initially unfamiliar with them. very understanding when a huge curveball exists and is unafraid to admit mistakes. if you are ever curious and want to go more in-depth in the content, he links resources to do so.
Christopher Kauffman
CMSC330

Anonymous
10/19/2023
first review!! prof k is awesome, he explains concepts super well, has awesome content (slides, code), and is truly passionate about what he teaches. i never thought i'd be so interested in programming languages, but here we are.
Cliff Bakalian
CMSC330

Anonymous
09/30/2023
Cliff needs to chill with these quizzes
Jugraj Singh
CMSC330

Anonymous
09/25/2023
bro is lit. explains concepts really nicely and helps patiently.
Cliff Bakalian
CMSC330

Anonymous
09/22/2023
The two reviews below were unnecessarily mean and did not explain in enough detail. Look, Cliff's a good guy. And he's smart. But there have already been so many unclear things this semester, leaving a lot of the class frustrated. The first quiz was rough. The median score was 11.5/20. The reason for this is largely the fact that we had only 20 minutes for two write-in coding portions, plus other fill-in-the-bubble questions, a few of which were annoying trick questions. Project 2 was worse. The description was imprecise, and I had to turn to Piazza to understand what exactly he wanted, which nobody should have to do. Not to mention the fact that it was far too difficult for a project that was primarily intended to test your knowledge of regular expressions. I had to give up after spending my entire Friday night & whole day Saturday on it, while still failing two semi-publics. I've never had to do that in the past (granted, I had Larry Herman for my past two project based classes, who is probably way TOO descriptive). The most difficult part of the project also had nothing to do with any new content, and everything to do with (a) understanding what the heck we're even supposed to be writing, and (b) basically recursion stuff, which we all know how to do, but which was further complicated by various things Cliff had done to intentionally make the project more difficult. There have been several other things. One is that, up until maybe the day before the first quiz, the syllabus had said that quizzes were open-note. And they weren't. Next, navigating his slides are like navigating fields of landmines. The slides have like three layers to them, and you can go up, down, left, or right. Which is further complicated by the fact that the slides appear to have a mind of their own, and they'll shift to random places when hitting the left or right arrows, when all you want to do is go back or forward one slide. Perhaps Cliff's saving grace is the fact that he, and his large army of TAs, respond fairly quickly to Piazza posts. And he has notes online that have basically all the content, which is a plus. He is not a terrible lecturer at all, and he knows his stuff, which can't be said of everyone. And I genuinely feel bad that he's getting so much heat right now. But he does have some things to work on. I hope he realizes that, and the rest of the semester can be smoother.
Cliff Bakalian
CMSC330

Anonymous
09/21/2023
Just countering the most recent 2 ratings after this (as a different/current) student There was a recent project that was convoluted and made by some TA(s). There were a lot of typos and it was confusing and vague. Cliff tried his best being super responsive on Piazza and clearing up any questions so I really wouldn't blame him. It was just not a good time overall for students and I understand ppl are stressed hence the bad reviews below. But overall Cliff so far has been really great
Cliff Bakalian
CMSC330

Anonymous
09/20/2023
Horrible project descriptions making your life hell
Cliff Bakalian
CMSC330

Anonymous
09/20/2023
kid thinks hes philosophical with it but hes just booooooooooring and the projects are dog water
Cliff Bakalian
CMSC330

Anonymous
09/19/2023
Terrible assignment descriptions, unfair quizzes, unhelpful explanations.
Cliff Bakalian
CMSC330

Anonymous
09/19/2023
Boring lecturer but cannot write a coherent project description to save his life. Cliff needs to take ENGL393 or something before attempting to write a project.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
09/12/2023
Nice guy. Had him for 330 after 250 in the fall of 2022 and he taught the class pretty well. Quizzes and exams were pretty fair game and you'll be fine if you practice his old papers and go to office hours for help. Cliff is approachable in his office hours and explains stuff pretty well. Will miss him. Cliff, if you see this, thanks for being a good prof for a year. Have a good rest of your life
Cliff Bakalian
CMSC330

Expecting a C+
Anonymous
05/29/2023
Lectures are very dull and monotone. But as long as you start on the projects they seemed alright (this class is horrible for procrastinators). I would recommend using class slides from other classes as well because Cliff's slides are really hard to navigate. Overall, decent class and he is understanding but doesn't really check his emails.
Cliff Bakalian
CMSC330

Expecting an A-
atp236
05/28/2023
330 with Cliff was a solid choice. 330 as a class: this class was run much better than 216, so that was a breath of fresh air. There were a lot of TAs to handle OH, and the TAs I got help from knew what they were doing. There was a lot of practice material online from previous semesters, but I feel like the style of questions changed this spring 2023 semester because assessments were all in-person instead of online. However, I will say the exams and quizzes were fair game (if you really understand the material, I think it’s possible to do well, though I flopped them myself Projects were within reason if you vaguely understand the topics, start early, visit OH, and get the help that you need. Cliff as a lecturer: he got the job done (I mean he really is the only option so you can’t escape unless you drop out…?). He covered everything that was tested on (whether it be verbally or through writing), though I will say there were a few times I probably fell asleep in that lecture hall. Going to discussion to learn how to do NFA to DFA and OpSem were helpful. Overall, I wouldn’t be too worried about this class with Cliff. I felt much less stressed in 330 with Cliff compared to 216.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
05/26/2023
- Good professor who is engaging and is very communicative with his students - Very easy to email or to reach out to - exam accurately reflects content in the course - Large amount of TA’s in Office Hours (sometimes takes a while to get help if u go at a bad time, but overall good amount of TA’s)
Cliff Bakalian
CMSC330

Expecting a B-
akl2025
05/26/2023
Amazing professor. Helpful TAs. Definitely recommend him. Pros: - Resources: you have all you need to review for quizzes and exams. Go to the class website and practice! - Office hours: a lot of smart TAs are there to help. Cons: - Quizzes/Exams: I don't think I'm great at functional programming because I usually struggle with the topics. Even when I understand the contents, I make lots of dumb mistakes and I lose a lot of points on exams. But if you thrive, then congrats! - Lectures: sometimes boring and dry, but you have the notes and TAs. A few words of advice: start the projects early! Don't procrastinate. Have a good time management because you definitely will need it while doing the project and reviewing for the quiz or exam. Have a study group, too!
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/21/2023
Cliff is nice and his exams are fair. He has a lot of great TA's and the projects are also not bad at all. The only con I'd say is that Cliff's lecture style is a bit dull and boring to endure for 75 minutes, which I think could be fixed by recording his lectures, but Cliff does not seem to be interested in recording his lectures. But other than that, he's great!
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
05/20/2023
Probably my favorite CS class I've taken. Cliff's lectures are good if you can stay awake (I usually did not). Exams are straightforward and fair. Project were reasonable difficulty and really helped reinforce concepts learned in class. He does not record his lectures, but do have pretty good lecture notes, some topics do not have notes but I had no problem using online resources to get through. There was a slight curve at the end for my semester. Overall, a solid professor.
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/19/2023
Pretty good teacher. Actually cares about how the students are doing and has extended deadlines for projects when everyone was struggling. Only things that were annoying were there always being several errors on the exams that are found while we are taking the exam. Also he didn't lectures for some reason. In substitute for not recording the lectures, he would put out his own notes that he produced. These notes were usually pretty good imo but he just stopped making them towards the last month. For the Rust and garbage collection, he just linked us to previous year's slides which annoyed me.
Cliff Bakalian
CMSC330

Anonymous
05/18/2023
He has good notes on the topics and gives a lot of practice exams to use for studying
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/17/2023
Cliff for 330 is by far the best choice. Some words of advice would be to start the projects early as the majority of them will be difficult and time consuming, but they are all doable. He give a lot of great resources and his TAs are all really good and knowledgeable, plus he has a lot of them, more than I've seen in any other class I've taken.
Cliff Bakalian
CMSC330

Anonymous
05/15/2023
You're in good hands. Good lecturer, very helpful on piazza. Absolute memelord as well and has lego kits on display in his office. About the review that complained about Exam 1, all you had to do was explain what you roughly did. You could even bullshit and come up with a solution on the spot as long as you knew what the project was (you should). The other part of that question was literally just a critical thinking exercise (as long as you did the project). Also, if a project is due before the exam, it's fair game and you know that.
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/15/2023
Kind of nerdy, cool guy. Decent lecturer, but he doesn't record. Just show up and that doesn't matter. Rough but doable projects, one in particular was extremely difficult but as usual, start early and you'll be fine. Pretty reasonable exams and quizzes. Just show up to class, pay attention and take good notes, and you'll do well.
Cliff Bakalian
CMSC330

Expecting a C-
Anonymous
05/14/2023
Cliff's overall a great professor and class is not too hard. My grade likely doesn't reflect that statement, but that's entirely my fault.
Cliff Bakalian
CMSC330

Expecting a B
Anonymous
05/08/2023
Cliff is a good professor. His lectures may seem monotonous but if your listen and take notes you will understand the topic. Projects are perfect, not too easy neither too hard. The Worst part is Slides. OMG Cliff has a map like slides which are so vague and annoying. This was so difficult cuz even if you listen in lecture towards the end of the semester you might need review concepts and his slides are just a big disappointment.
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/08/2023
Cliff is a great professor for this class. He is always well prepared for lectures, he has a dry humor that is engaging and he explains concepts clearly with good examples. The projects are challenging but we are given plenty of time and they are really interesting. He is understanding and gives discussion notes on the class github that are great for helping us with where to start on projects. I had a lot of fun in this class. He slays.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
05/06/2023
Cliff managed to take an incredibly well-designed course put together by professors like Jose and David Van Horn and turn it into a disorganized mess. It seemed like he almost never actually prepared for lecture or planned content out ahead of time. Rather than providing slides, Cliff would often just whip out a sheet of paper and decide what we would cover that day on a whim. I felt like he did a disservice to the content of this course and am disappointed that he will be the only instructor for it again next semester. The only reason I am not giving him one star is that he is very understanding of students' concerns. However, it seemed to me throughout the semester that Cliff was more interested in playing the part of a "cool professor" than competently doing his job as a lecturer. He has a lot of room to improve.
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/06/2023
I like Cliff. He's a pretty chill dude and has blimps of humor here and there. I would heavily recommend going to lecture even if he has online slides because he covers material that may be difficult to understand strictly from reading. The projects are hard but reasonable if you stay on track and don't procrastinate. Expect to spend a decent amount of time on them, but once you complete them, you'll feel like a god.
Cliff Bakalian
CMSC330

Anonymous
05/01/2023
Taking 330 with Cliff is the right choice. Projects are challenging but not overly so, and his lectures are good, albeit a bit boring. But, he is funny and accessible and gets a lot of points for that.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
04/30/2023
Cliff is a really cool guy; I found his lecture’s interesting and he explains the concepts really well. The projects are fun and he always went over helpful examples in class to help us get started. He is very detail oriented and explains thoroughly which I appreciated. I think he made this class very enjoyable!
Cliff Bakalian
CMSC330

Expecting an A
mbatukam
04/29/2023
HIs lectures are boring and he puts a lot of time into explaining irrelevant things rather than the main points. The projects are pretty well written though, they have steps/helper functions that you put together to make the final thing
Anders Spear
CMSC330

Expecting a B+
Anonymous
04/27/2023
pretty good discussion TA, makes mistakes sometimes but corrects them the following week
Cliff Bakalian
CMSC330

Expecting a B+
Anonymous
04/05/2023
Overcomplicates lectures. Easy topics are discussed in such convoluted ways. Throws out terms and uses then without properly defining them. Dry lectures, doesn't record. lecture slides are subpar, however he does give decent notes that accompany the slides. Some trivial exam questions. However Exam 1 for this year was terrible, he expected us to remember how we implemented projects from a month or two ago. The data structure was super complex and he just expected us to remember how we did it.
Cliff Bakalian
CMSC330

Expecting a C+
Anonymous
04/01/2023
CMSC330 is a tough class. Go to office hours and start the projects early. Set aside a lot of time to prepare for the exams/quizzes/bi-weekly lecture quizzes.
Jose Calderon
CMSC330

Expecting an A-
Anonymous
03/27/2023
I have the same opinions as most of the reviews here. His lectures align well with projects, quizzes and tests. His office hours are amazing because of his diverse knowledge and he is extremely responsive to emails and piazza. I struggled with his lecture style at first. The way he communicated information during lecture was not organized in a way where he states some topic, underlines it, then gives you the information about it. It's more of a stream of information with no structure and he writes things down that are really important or helpful for visualizing where he's going with a point. You will need to determine the structure of your notes yourself and pay attention to everything he says, not just what he writes down. If you come awake and willing to learn his lectures are full valuable and relevant material.
Jose Calderon
CMSC330

Expecting a B+
theGreat
01/20/2023
Definition of a 5 start professor - great lecturer - genuinely cares about his students - very knowledgable - well structured course - answers emails
Cliff Bakalian
CMSC330

Expecting a B+
theGreat
01/20/2023
Pros: - lots of good TAs - nice guy that will try to answer your questions Cons: - difficult to contact - provided lecture notes are horrible - often in lecture he gets lost and doesn't know what hes talking about which is kinda annoying - overall just felt like he didn't know the content very well and wasn't great at teaching it either. It was his first time teaching the course though so ill give him the benefit of the doubt.
Jose Calderon
CMSC330

Expecting a B+
Anonymous
12/24/2022
Jose is extremely fair, as is seen in his class and exams. He's also very nice, and his class is highly interactive, and OH open for students. I would note that his teaching style did not jive with me at all, and left me very confused, so I used slides from last year to succeed in the class. Jose may be very popular, but like others have said, I definitely didn't feel the hype.
Jose Calderon
CMSC330

Expecting an A
Charl1e1029
12/23/2022
So… I will admit that this class was pretty unorganized and left a lot of responsibility to the student. Although they provided us with past exams/quizzes to use as reference, a lot of course material covered in the past was no longer covered this semester, and some new concepts were introduced that weren’t covered in the past so there were no study materials regarding those topics. Other than exams, I though Jose’s lectures were informative and invigorating, and the projects were straightforward and quite do-able. Tokens were provided to give some leeway into submitting projects a bit later with no penalty, but personally I didn’t need to use even a single one.
Jose Calderon
CMSC330

Expecting an A+
Anonymous
12/20/2022
To say I was disappointed by the hype surrounding Jose would be an understatement. He is a very down to Earth guy, very caring, and is overall one of the most kind and easy to talk to people in the entire department. Office hours with him were great, he was very approachable and I couldn't have asked for a better professor in that regard. Lecture wise, wow did I really not enjoy them. The biggest flaw to me was Jose's obsession with doing all his teaching on pen and paper rather than utilizing the very very thorough pre-made slides from previous lectures or using a code editor. This made some things such as NFA/DFA a nightmare and anything regarding syntax and coding. Despite Jose's best attempts, I just didn't resonate with how he taught in lectures and often had to go back to previous semesters and look at the slides. I understand he co-taught with Cliff and Cliff is the top dog for this class but even he used slides and others supplementary material to help us understand things outside of lecture, while Jose did not. I'm sure he was busy with his own personal things but I don't see why people think he's one of the best lecturers in the department.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
12/20/2022
I reviewed Cliff for 250 during Fall 2021 but I feel compelled to submit another review as I strongly disagree with his current rating and my opinion only strengthened when I took him for 330 during Spring 2022. He was an effective professor - sure he sometimes speaks monotonically, but he teaches the concepts very well. The pacing of his classes were perfect, and the projects and exams were extremely fair. He's also just a straight up nice guy; he's been through the UMD CS program himself and he knows how it is to be a student going through the very classes he's teaching. I strongly recommend Cliff, really can't go wrong by picking him.
Jose Calderon
CMSC330

Expecting an A
ceremonialgradematcha
12/18/2022
jose's office hours were very helpful, although the course was not very well-organized. i actually started going to his office hours because the tas couldn't explain project 4 or grammars well, and i think the instructor should be at least partially responsible for making sure the tas know the basic concepts of the course. this course was cotaught with cliff, but the lecture quizzes rarely covered material we in jose's section learned in class, and i think jose should've been more involved with the course organization as well as teaching. he records his lectures, which is great, and his online notes are really helpful, although they're posted about a week after the class instead of right after for some reason. i also think his expectations for us as a class are slightly high. i remember him saying "don't rely on past exams for practice, instead write your own problems" which imo is above and beyond what should be expected of us; the class is challenging enough as is. tl;dr course slightly disorganized but very helpful individually.
Jose Calderon
CMSC330

Expecting an A
Anonymous
12/17/2022
Just gotta go to lecture and take some notes. Fun class, learned a bunch. Wish we spent more time on Rust though...
Cliff Bakalian
CMSC330

Expecting an A
ceremonialgradematcha
12/17/2022
jose and cliff cotaught this semester and i had jose, but this class was run more like a cliff class (everything on gradescope, quizzes, an online exam1, etc.) so it seemed like cliff was in charge of (and i'll blame him more for) course administration. in other words, this review is solely for course organization and not for his actual teaching. - lecture quizzes did not match what i learned in lecture. just cause i don't have cliff doesn't mean my section matters any less, and it's up to the instructors to make sure they material and the quizzes sync up between them. - the 5 large quizzes were all 20 minutes each, when they needed more time. i don't know why 250 got 2-hour quizzes but 330 20-minute ones. - office hours were a crapshoot; half the tas couldn't do project 4. obviously this isn't directly reflective of the instructor but he should at least put some effort into making sure all his tas are at least capable of the basic things students are expected to do. - exam 1 was poorly organized. the exam was way too long, and it seemed like although the tas each submitted a question they thought was ok, the fact that almost no one managed to finish that exam in time showed that no one testsolved it and that the tas' questions weren't organized and selected well. again, my review is only relevant to courses he administrates, not his lecturing style or competency. so, if you actually have him for a class, ymmv.
Roger Eastman
CMSC330

Expecting a W
nightingale
12/17/2022
Terrible, terrible professor for this course! Came to class every lecture unprepared (as if computer science at UMD isn’t hard enough without an awful teacher). He acted lost in front of the class. Also very unaccommodating and elitist.
Jose Calderon
CMSC330

Expecting a B+
Anonymous
12/16/2022
this class genuinely traumatized me
Cliff Bakalian
CMSC330

Anonymous
12/15/2022
Cliff is better professor for 330 than 250 IMO. He was definitely more interested in the material. Can be monotone at times, but covers the material well and gives a ton of practice resources for quizzes and exams.
Jose Calderon
CMSC330

Expecting an A
Anonymous
12/12/2022
Personally I really enjoy Jose's lecturing style. It is very active, he asks a lot of questions of the class. We go through a lot of examples, and most of the lecture is Jose writing or typing out examples. If it's an interactive or syntax-heavy topic he will usually have an interpreter or compiler on his laptop on the projector. If it's more of a conceptual topic he's writing examples out on paper. Humor is subjective so some people may be annoyed by his humor, as well as his pet peeves. If you say "method" when you mean "function/procedure/...", he will say "what do you mean 'method'?" or similar. Same thing with statements vs expressions. I agree with him on the importance of being precise in wording and preserving the actual meaning of words (as long as that is their meaning, though meaning can change through change in use, but functions are NOT methods). Some people may be annoyed by this. Do note that it is not a big thing, and from what I remember it's basically just "method" and "statement" that comes up in 330, and they're pretty important distinctions. To me it feels more like he focuses on things that are dangers to your mental model understanding of the concept. Not understanding the difference between statements and expressions would be bad for your understanding of languages that focus on expressions and mutability. For some other topics loosey-goosey mental models seem to be fine by Jose, where the loose model doesn't harm your understanding. He's not a nitpicker. He rolls with answers to questions even if they're not his preferred way of phrasing or thinking about something. I feel he really tries to connect with the students and which part of a concept they're struggling with, then put more focus on that as needed. The discrepancy between content covered in Jose's lecture and what ends up on the lecture quiz, due to the course being co-taught by Jose and Cliff, is sometimes annoying. However I don't consider it that big a deal since you can use basically any resource for the lecture quizzes; you can consult others, run code samples, etc.
Jose Calderon
CMSC330

Expecting a B
Anonymous
12/02/2022
His written material could be better, but overall I'm a fan.
Jose Calderon
CMSC330

Anonymous
11/18/2022
yeah he doesnt cover exactly whats on the lecture quizzes but he teaches so well that you can learn the underlying concepts and apply them more generally. ive probably learned more from this class than any other cs class i've taken. if you want a curriculum thats a bit closer to what's actually tested, though, cliff would be a better choice
Jose Calderon
CMSC330

Expecting an A
Anonymous
11/13/2022
I think his teaching style for this class is an acquired taste. He doesn't use slides, but instead handwrites on a piece of paper as he explains a concept. Before last week, he had a problem of not saying the name of a concept he taught so when we got the lecture quiz we were all confused. However, he is very receptive to changing his teaching to fit our needs and it's clear that he is very passionate about CS. He also answers a lot of questions during lecture.
Jose Calderon
CMSC330

Expecting a B-
Anonymous
11/11/2022
I mustve gotten unlucky or something this semester but Jose has generally been pretty bad. The first average on the exam was a 64% and 70% of the class got caught cheating on it (it was take-home). He focuses too much on the abstractness of a concept and doesn't teach us what we actually need to know. It kinda makes him seem like a smartass. The class is cotaught with Cliff and a lot of the stuff on the lecture quizzes are from Cliff's lectures and are never talked about in Jose's lecture. I was excited to take Jose but I will never register for him again. He is a nice guy but he just seems burnt out from lecturing or something.
Jose Calderon
CMSC330

Expecting a B-
Anonymous
11/08/2022
I never feel prepared for the lecture quizzes despite paying close attention during lecture and reviewing after. His teaching style is confusing and he only shows examples but doesn't really introduce things. So when there is a question to do a certain operation on something, I don't know what to do because he never said the name of that operation in class. Also, the lecture quiz questions are harder than the examples we did in class. I heard a lot of good things about Jose so I was really looking forward to taking this class with him, but I am left feeling confused after every lecture quiz which is very frustrating. Projects are very fair especially with help from the more accountable TAs, and yes, Jose is engaging and passionate so I'll still give him 4 stars. But I wish there was more organization to his lectures, and I doubt I would be doing as well as I am now if I was also taking CMSC351 at the same time which most people do.
Cliff Bakalian
CMSC330

Expecting an A-
log_n
08/04/2022
Just took CMSC330 with Cliff over the summer. The main issue with Cliff has been with his structure and administration of the course. Unclear deadlines and typos in assignments, quizzes, and slides were extremely commonplace when taking this course. Even what material we were going to cover over the condensed course was questioned a lot by the instructors and TAs. At one point, they even outright lied (probably not intentionally) about what was going to be covered/not covered on the final exam. All of this had a direct impact on the class, and this run of CMSC330 had some of the lowest exam averages on record (the class was curved substantially to make up for this). Apparently, this was due to Cliff somehow not being told that the course was going to only be 6 weeks long instead of 12 weeks long, but I digress. As a lecturer, Cliff was not the worst. He typed things out in Vim to demonstrate concepts, but he went fast and it was largely hit or miss if this approach beat out just sticking to dense slides. For instance, typing out code in Vim made sense, but once we got to NFAs/DFAs and grammars... Why not use whiteboarding software instead? One plus is that he'd post "Lecture Recap" videos for each lecture for those who couldn't make it to class. Although, these videos would often be posted 3-5 days after the lecture they covered, so relying on them to keep up is ill advised. While I didn't personally go to in person office hours (both in person and online OH were offered), those who did described the TAs as "rude" and "bothered by questions." This doesn't affect my evaluation of Cliff himself, but I felt that it was worth mentioning and pointing out that this is unacceptable behavior for TAs. Overall, I would still recommend taking courses with Cliff over many alternatives simply due to his approachable nature as well as his modern online approach to teaching. He is still young and can only improve with experience and I believe Cliff has the potential to be a good professor. He cares and is accommodating to students, but as of now, he still has a way to go (and needs new TAs) before being truly exceptional. Oh, and his hair was stunning.
Cliff Bakalian
CMSC330

Expecting a C-
Justacoder
07/08/2022
I understand this is an accelerated summer class, that said some of the expectations made in this course were simply unacceptable. I found it quite obnoxious when Cliff would say we have 10 days for a project then proceed to wait a week before teaching us all the content needed for said project. The projects were honestly a pain. Some of the requirements felt more like tick questions designed to frustrate us rather than to actually display what we learned. That said lectures don’t get uploaded during the weekend; perhaps Cliff also needs a break over the weekend; however it would be nice to have something to reference when we have projects to work on over the weekends. In any case, Cliffs lecturer's examples were usually inadequate and not clear; they were not a good foundation for these projects. The difficulty between what we learn in class and the projects is too large of a jump, perhaps it’s not that surprising considering they are just reused projects from other professors, who gave weeks to work on the same projects we are given 6 days for. The lecture quizzes were quite a headache. The slides don’t get uploaded the same day and so we are basically expected to just retain everything we had learned that day. The exams weren’t great and averages weren’t very good. We were provided older exams to reference; however working on projects consumed way too much time away from studying. A Lot of us had to make a choice between getting the project done or studying. Even now at this moment we have a 4 part project due Friday the same day as our final worth 27% of our grade. I must seriously question if anyone would find this reasonable. The class honesty left me feeling helpless at times, there needs to be more reasonable standards for projects and adequate time allocated on par with what we learn. I believe Cliff does care about these students but he needs to sort of look at things on our level and set reasonable expectations.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
06/02/2022
Chill guy, nothing wrong with his teaching per say. He mainly seemed uninterested in teaching, and had zero enthusiasm when lecturing. Didn't really go into a lot of detail when doing example problems in lecture, and I had a hard time not falling asleep. Exams and projects were manageable. For projects just start early and got to OH asap if you are stuck.
Cliff Bakalian
CMSC330

Expecting a B
Anonymous
05/25/2022
Class lectures were a bit dry, though I would also blame the extremely dense powerpoints given for 330. While Cliff did at times do a good job explaining concepts to students and making sure to answer any questions, I ended up learning more by going to outside sources, and by doing the lecture quizzes and projects required for the course. Cliff definitely does care about his students though, and I don't think you'd do poorly if you had him as a professor.
Cliff Bakalian
CMSC330

Expecting a B+
Anonymous
05/25/2022
The class pacing was fast but at the same time, I didn't want to learn the content because it was so uninteresting. In class, I did barely anything and I just looked at the slides during the lecture quizzes to learn the material for the day. He just seemed so tired after teaching CMSC250 that he didn't feel like teaching 330 at all. Seems like people were not fans of cmsc250 either. My TA was great though.
Cliff Bakalian
CMSC330

Expecting an A
Anonymous
05/21/2022
Very nice guy, I think that's evident based on all the reviews, and if you take any course he teaches you will feel the same. I feel like the reviews given for him for CMSC250 don't represent him as well. I had him last semester and got an A-, but he was pretty amazing for me. He did speak in a monotone manner though, which can be easily to cause you to daze a bit. People were saying he only has good reviews because he was co-teaching with Justin, but Cliff made his own slides for CMSC250 last semester and taught his own way, so I do feel he's being slandered a bit. Maybe it was because he was the main one to manage CMSC250 and Justin was the main one to manage it last semester, and if that's what people meant, then I suppose so. I felt he did great overall, but maybe this semester is different. I can't speak on that because I didn't take CMSC250 with him this semester, so my opinion may not be as valid as the others, although I feel the other reviews may be a bit over-exaggerated. In terms of CMSC330 though, he was pretty solid too. Not as much as 250 for me last semester, but he was still pretty good. He's very understanding as well. He doesn't question anything, as once I showed him what a TA said on a regrade request on my exam and fixed it on the spot, and he has a lot of sympathy for students. Sometimes he does get thrown off on a slide and gets confused or something, and sometimes he does blatantly read off the slides so going to lecture may not be optimal (he had lecture quizzes online so some people didn't really go to lecture, including me to be honest). The slides posted online helped me navigate through CMSC330 and helped build an understanding for each unit/topic we covered, along with understanding the whole purpose of the course. Sure, it may not be hard to post slides or he might have recycled them, but at the end of the day all the professor has to do is deliver information and make sure you understand it, and I felt like he accomplished that. The exams, quizzes, lecture quizzes, and projects of course were all online and open-note/internet as well, making it less stressful for students too. Overall, it was hard for me to pay attention in lecture at times, but that's just me. I sometimes even daze off even in Justin's lecture. Sometimes Cliff's lectures felt like "I can just look at the slides when he posts them", but then that turns into "I have to look at 15 slides the day before an exam" which i found myself doing a decent bit lol. I didn't give him a 5 star because his lectures are somewhat dull because he's monotone, and that makes it harder to pay attention, especially when you're already lost on some topic. He's very sympathetic, and has great potential to be a great professor though. Currently, I'd give him 4 stars, and for the future when he adjusts to lecturing, managing and leading courses, and overall improve over time, I'd say he's easily at-least a 4.5 star.
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/18/2022
I stopped going to his lectures and went to DVH's instead. In hindsight it was the right move as I went from having a 100% success rate of falling asleep in class to actually paying attention. I will say Cliff seems like a really chill guy and is approachable, however, I felt like he wasn't that interested with the content of 330, hence really dry lectures. Most of the material can be found on the slides or recordings so there's no need to show up. Exams were very fair. Projects weren't terrible(don't go to office hours last second). Quizzes were tough in terms of limited time, but doable.
Cliff Bakalian
CMSC330

Expecting an A
fiftyseven
05/16/2022
Cliff is generally a great guy and a pretty solid professor. He's very approachable and definitely tries his best to make the class interactive though it can be difficult given the lack of participation sometimes. He showed examples in REPls like irb and utop and I came out of lecturers feeling like I knew the content well. His style of drawing things out when they're complicated and showing examples in that manner gave some depth to his teaching that I really appreciated, especially in the finite automata units. Though I sometimes felt like the content was a bit dry, I found him to be a more than good professor. The exams and quizzes being online were also very nice.
Cliff Bakalian
CMSC330

Expecting a C+
Anonymous
05/15/2022
extremely cool and also based professor. do not listen to the other girls. he slays too hard.
Cliff Bakalian
CMSC330

Anonymous
05/13/2022
Cliff skips over important material in lectures, paces poorly, and does not truly attempt to check for understanding among the class. When nobody raises their hand to answer his lecture quiz questions, it would suggest that few are following the material. The class was still not particularly difficult, considering that exams were online and very fair. Watching David Van Horn's lecture videos were also great for getting up to speed. Cliff's lectures, however, are inadequate for engaging with the important material in this class. TLDR; the TAs and Van Horn's videos carried me through this class; would not currently recommend Cliff
Cliff Bakalian
CMSC330

Expecting an A-
Anonymous
05/12/2022
Took him for CMSC250 his first semester teaching, and had a pretty decent experience. The class was mostly organized and he knew the content pretty well. Unfortunately 330 this semester wasn't the same. While the class was organized well, cliffs lectures were very difficult to follow along with. He seemed to not be interested in the material, and would speed through content and wouldn't/struggled to break down complex topics. This was especially a problem when it came to Rust, which is pretty complex and we covered in the last 3 weeks of the semester. I went to almost all lectures this year, and for each I found myself feeling disengaged with the content. I found myself learning most of the content by carefully reading the lecture slides after the lecture was over, and looking at outside resources. All in all cliff is a great guy and clearly cares about his students, but his lectures weren't up to what I was expecting for a CS course.
Cliff Bakalian
CMSC330

Anonymous
05/03/2022
While I don't vibe with his lecturing style, Cliff is a very knowledgeable and nice professor! I had external issues this semester and was really scared to talk to him about it, but he didn't ask any questions and was extremely understanding-- more so than I thought any professor here would be. He obviously cares about the class content and students. He's new to teaching and has said he's constantly thinking of how to change the class for the better, so I think he'll only improve from here. If he's an option, definitely take him :)
Cliff Bakalian
CMSC330

Expecting a B+
Anonymous
04/28/2022
In the Fall 2021 semester, Cliff Bakalian was the new instructor for CMSC250, and many of my friends who took him left with very positive impressions. Because of this, when I saw his name listed on Testudo for CMSC330 the following semester, I was very excited to sign up for his lecture section and learn more about the organization of programming languages. Unfortunately, I was left rather disappointed. CMSC330 is a very content-heavy class - the sheer amount of information being packed into a single week is astounding. However, students have already taken or gotten credit for CMSC131, CMSC132, and CMSC216 by this point, so learning new material should not be a foreign experience. Sadly, Cliff's lecture style left something to be desired. He usually seemed to prioritize covering as many slides as possible as opposed to focusing on the fundamentals. For example, one week we had a PowerPoint nearly 70 slides long - Cliff blasted through as fast as he could, and many of the pertinent examples provided he would go "I don't care about this," and skip straight past them. Consequently, by the time we got to more complicated topics, I was lost and confused as we didn't spend enough time on the fundamentals. I stopped going to his lectures about a month into the semester and decided to watch Professor Van Horn's recordings instead - while he could be monotonous at times, he took much more care with the material, and besides, there are a great number of very helpful TAs both in in-person and online office hours, so I got by that way. Overall, I wouldn't recommend taking CMSC330 with Cliff unless you can absorb lots of material very quickly. At least he responds to questions effectively.
Anwar Mamat
CMSC330

Expecting an A
Anonymous
01/11/2022
I guess Anwar's gone now, but in case he comes back... I would say he's a good lecturer. My main complaint would be that he never really slows down. We would go through a huge amount of slides everyday and sometimes it seemed like he was racing. 330 has a lot of content, so that's probably why. I don't personally take notes, but I don't think anyone could with how fast he goes. He still did a good job at explaining concepts and the slides were well made, so you could basically just study off of those. He was clearly frustrated this semester by the turnout in lecture. Clicker quizzes used to be 4% of the grade, basically making lecture attendance mandatory. They changed the policy in the first week of the semester I believe, since people could be in and out with COVID. He would make lots of comments to himself during lecture about how it's so hard to teach this semester with not that many people in lecture and with everyone wearing masks. I also guess that computers used to not be allowed in 330 lecture, but now they are? He would complain about people having computers out too sometimes, and how he couldn't do anything. The projects in this class weren't very difficult, except for the NFA to DFA project and maybe the first OCaml project. If you start early, you should be fine. There were two online midterms which were pretty fair. We had four 20 minute online quizzes in the semester that I found to be very difficult. 20 minutes was not enough time and they seemed a bit unnecessary (the last quiz was on a topic on the last midterm, which was a week before). The final was also in-person for some reason. People would complain on Piazza and the TAs said that the decision was made by the instructors. People tried to ask Mamat/Eastman to change it to in-person and they said they would think about, but they did nothing. Not a good look on their part, considering the online midterms were open book and this wasn't. Plus, many people expressed COVID concerns due to a in-person final, which was also ignored. All in all, if Anwar comes back, I would recommend him. I was planning on taking 433 with him, but they changed teachers. He seems to have been a bit disillusioned by teaching this semester by all his comments on lecture, but I do hope he comes back.
Roger Eastman
CMSC330

Expecting an A+
Anonymous
01/01/2022
Not sure why he gets so much hype. Would not recommend taking him if you can take the other prof for 330 (assuming he's co teaching with a good prof....I think I heard Anwar is leaving so I can't tell you to take it with Anwar lol). He's tried to improve his lecture skills (he mentioned that he's heard he "only reads off the slides") but as the semester went on, he seemed to just drift back to his old ways. Often did not seem prepared for lecture. Fell behind Anwar as other reviews say. The projects and exams were good, but the projects are old so idk how much Eastman contributed to them. Exams were fine and were online except the final. No clicker quizzes which was really nice. They planned to replace clicker quizzes with weekly ELMS quizzes but only ended up doing two. Anyway, if he's co-teaching, I would recommend going with the prof that seems to actually take care of the course materials (by this I mean Anwar made the "textbook" slides and Eastman modified them, so for Eastman vs. Anwar I would go with Anwar).
Roger Eastman
CMSC330

Expecting a B
Anonymous
12/27/2021
Eastman is a very nice and approachable professor. However, his lectures were pretty boring, disorganized, and not very engaging. We also frequently fell behind Mamat's section of this class due to Eastman's slow pace during lecture. Exams were generally OK (except for the final, in my opinion) and the projects were straightforward. Office hours were a big help for solving project issues and clearing up questions from lecture. The TAs vary a lot in quality - I benefited from having a good TA for my discussion section, but this isn't universally the case.
Roger Eastman
CMSC330

jl1
12/26/2021
Eastman is a nice guy who wants to see you succeed. He is willing to spend significant time trying to help you in office hours. However, he is, in my opinion, a very boring and slow lecturer. It seemed to me like he had never seen the slides before trying to present them in class, and we frequently found ourselves far behind Mamat's classes because he did not cover content or answer student questions efficiently. He would reexplain half the lecture even if a student's question could be answered in a sentence. Assignments were generally not too hard. There is a lot of variation in the TA quality, but office hours can be a big help. Some of the exams were a bit challenging in terms of time but the content isn't too bad.
Roger Eastman
CMSC330

Expecting a B+
Anonymous
12/24/2021
Very good professor. Extremely approachable and nice to talk to. His class isnt challenging tbh. All the projects were pretty straightforward, with most of the later ones being all public and semi public. The exams were pretty fair too, if i paid more attention in lecture and had a better TA in discussion I probably would have gotten an A in the class.
Roger Eastman
CMSC330

Expecting an A+
Anonymous
12/22/2021
Eastman is a really nice professor who is extremely approachable. However, I did feel like the class was kind of disorganized. Sometimes while lecturing it would seem like he was reading the slides for the first time, which made things hard to follow. However, I think that the class was pretty easy to follow and the content was taught in an understandable manner. I took the class in Spring 2020, so the unplanned transition to online definitely contributed to the lack of organization.
Roger Eastman
CMSC330

Expecting a B+
Anonymous
12/18/2021
Dr. Eastman was pretty good. His lectures were kinda dry but he explained things decently well. He made extra videos out of lecture on topics that confused students, so that was really nice to see. If you're taking 330 with Eastman, you'll be fine.
Anwar Mamat
CMSC330

Expecting an A-
Anonymous
09/30/2021
This professor was very good. He made sure that everything you needed to know was in the lecture slides. Make sure to follow what he is teaching and do the practice that he puts up and you will be fine. The assignments are tough if you do not both to learn/practice the material that he is teaching. As a teacher he seems to genuily enjoy teaching the students and it was a breath of fresh air compared to other professors here.
Michael Hicks
CMSC330

Expecting a P
Anonymous
07/28/2021
Dr. Hicks is nice enough but lectures too quickly IMHO. Maybe he was different before COVID tho. The TA's however are amazing, especially Shilpa, and got me through projects, quizzes, and exams. Projects are difficult but not too bad if you start early. My advice, watch the discussion videos
Anwar Mamat
CMSC330

Anonymous
07/22/2021
He's great! Goes very fast but at least for 330, everything you need to know is on the slides anyway.
Anwar Mamat
CMSC330

Expecting a B
Anonymous
05/27/2021
Had him for CMSC132 and had to take him again because he's great. Would take another class with him if I could.
Michael Hicks
CMSC330

Expecting an A
Anonymous
05/17/2021
Hicks lectures very quickly, but is willing to field every question. Project expectations and due dates were clear and fair, although some of them could be quite time consuming. Exams were easy enough and from lecture, and quizzes were announced and were challenging.
Anwar Mamat
CMSC330

Expecting an A-
Anonymous
05/11/2021
Anwar manages to keep the lecture engaging and entertaining the whole class, he's a great professor and I have no dought I would have received a higher grade had I taken this class in-person. Genuine guy who really cares about his students and offers them a lot of resources and opportunities to ask for help in office hours.
Ankit Chandnani
CMSC330

Expecting an A+
Anonymous
04/14/2021
goes above and beyond to help students, you could say he'd be willing to take a trip to the moon and back to help you out. best TA ever!
Michael Hicks
CMSC330

Anonymous
04/06/2021
The class is pretty chill, but I have a feeling he lectures way too quickly to try and cover alot of material.
Michael Hicks
CMSC330

Anonymous
03/04/2021
His lecture is boring, and you wouldn't understand anything. Anwar Mamat is way better
Ashan Panduwawala
CMSC330

Expecting an A
Anonymous
01/25/2021
Ashan was always a great TA and he was always really helpful during office hours.
David Van Horn
CMSC330

Expecting an A
Anonymous
12/28/2020
David Van Horn is clearly incredibly knowledgable on the topics that he teaches, however, his lectures are rather dull and lacking on student engagement. If you're able to focus through his lectures, you will do a great job, but I often found that I would zone out at some point and then fall behind his fast-paced lectures entirely and resort to watching Anwar's lectures instead. The class as a whole is easy if you put the time in, but that being said the work is constant and unrelenting, the expectations are high, and if you fall behind you will have a very hard time catching up.
Anwar Mamat
CMSC330

Anonymous
12/20/2020
He is boring but the content is fine. He doesn't really care much about his students but the TAs are awesome. Start projects the day they are posted and you will be in good shape.
David Van Horn
CMSC330

Expecting an A
tybug
12/20/2020
DVH is a decent lecturer, but is very monotone, though I didn't mind that personally. Not much more to say except that I disliked having graded clicker quizzes. If you don't attend lecture the onus is on you to know the material, but you shouldn't be punished with a 0 on the clicker quizzes on top of that. But YMMV.
Anwar Mamat
CMSC330

Expecting an A-
Anonymous
12/15/2020
Not a good lecturer, because he goes super fast over complicated material, and could be a bit more civil, but that's really the only main complaint. Clicker questions are not the worst and his slides are very comprehensive, the projects are fairly reasonable to do (better than 216's for sure) and the exams were fair too. Nothing completely out of the blue. Some TAs were really really helpful too and were responsive on Piazza. Overall, since 330 is usually co-taught, you should be fine taking either Anwar or the other professor.
David Van Horn
CMSC330

Expecting an A-
Anonymous
12/15/2020
DVH is a good professor, but somewhat unremarkable. His lectures are kinda dry, but maybe that's just because we were online. The projects were interesting and fun, and overall I enjoyed this class.
Roger Eastman
CMSC330

Expecting an A+
Anonymous
11/17/2020
Dr. Eastman is the best CS professor!! I would love to take more classes with him, but he doesn't teach that many courses. I took 330 with him, and he was great!!
Roger Eastman
CMSC330

Expecting a B
Anonymous
05/25/2020
Dr. Eastman is a good lecturer who is knowledgeable about the topics that he teaches. While this class is tough, Dr. Eastman helps you understand the theory of everything you need to know. In addition, he is friendly and approachable, so if you have any questions about the course content, you can go to his office hours for further understanding. He is a good CMSC 330 instructor.
Roger Eastman
CMSC330

Expecting an A+
Anonymous
05/25/2020
Dr. Eastman’s a really nice guy, but I don’t think he’s a really good professor. He’s a little bit disorganized, and sometimes when he lectures it seems like he’s seeing the slides for the first time (usually it’s Prof. Mamat’s slides but just tweaked a little bit). Sometimes, albeit rarely, if you ask him a question in class about Ruby or OCaml, he’d respond vaguely and say that he doesn’t code much in those languages, which is understandable but makes me uneasy. Also sometimes on projects you have to use things he skimmed over in lecture/haven’t learned (but Mamat’s class did go over). Thankfully, Mamat puts up a whole bunch of practice quizzes/exams on the class webpage, and they rarely deviate from the real thing. Also start projects super early. If you get stuck just look at discussion code from github, they’re pretty similar to most of the projects. If you wanna learn something, I’d suggest taking Mamat, but if you want a laid back environment, I’d choose Eastman. But since they co-teach, I feel like you’re sorta at a disadvantage with Eastman.
Anwar Mamat
CMSC330

Expecting an A+
Anonymous
05/21/2020
Anwar flies through the material very quickly, but that's just because there's a lot of stuff to cover. This semester he managed the online transition due to the pandemic quite well, and he toned down the amount of work we had to do. The slides really are the primary resource in the class, so study those, look at them when doing projects, and you'll do great!
Ashan Panduwawala
CMSC330

Expecting an A
Anonymous
03/11/2020
Really nice during office hours. Does not sound condescending nor mean and he answers questions clearly.
Roger Eastman
CMSC330

Anonymous
03/11/2020
He's your average professor that goes off the slides and tries to go into detail into explaining the concepts. His pace is slow but is ineffective at teaching the material. He co-teaches with Anwar so the material would be the same, luckily his lectures were recorded. Still needed to go for clicker questions though. His project descriptions were horrible, that the piazza is flooded with questions on clarity all the time.
Roger Eastman
CMSC330

Expecting a B
Anonymous
01/10/2020
Good stuff, informative slides. Nice guy, good professor. Super easy exams when he helps to make it. Sometimes lectures can get long and slow to cover. Good thing he records his lectures so I can watch it at 2x speed after!
Roger Eastman
CMSC330

Expecting an A+
Anonymous
12/21/2019
He makes the exams and the class as easy as possible. he is a fun lecturer in comparison to others.
Anwar Mamat
CMSC330

Expecting a C+
Anonymous
12/18/2019
Solid guy but not a good lecturer. Reads off slides. Lectures are so useless but attendance is mandatory via clickers. Slides are good.
Roger Eastman
CMSC330

Expecting an A
Anonymous
12/10/2019
He's a very good professor. He also has a good sense of humor and usually conveys topics well. I thought the projects were difficult and they caused me a lot of stress. Having a good TA helped for many of the projects. If it is relevant, he definitely has big gamer energy (for one, he teaches the game programming class, and for two, he's talked about playing 2000 Quake, so you know he's an OG Gamer).
Shriraj Gandhi
CMSC330

Expecting an A
Anonymous
05/15/2019
He's a great TA, and very understanding if you have a tight situation. He has been a TA for 330 for quite a while so he knows his stuff very well. If you have him as a TA you should be fine.b
Roger Eastman
CMSC330

Expecting an A
Anonymous
05/14/2019
okay, he's chill and nice and all, but my god i cannot pay attention during any of his lectures. 330 is a fast paced class in general and if you don't pay attention for one second you'll get swept away and won't understand the rest of the lecture. on top of that he sometimes doesnt explain concepts properly and just explains them in a very broad sense. i mean he's not the worst professor but i really did not like his teaching style, but who knows maybe that's just the way 330 is
Anwar Mamat
CMSC330

Expecting an A
Anonymous
04/06/2019
Decent lecturer, although he goes a bit fast at times. He is a nice guy and has some funny stories.
Anwar Mamat
CMSC330

Expecting an A
Anonymous
12/24/2018
Anwar is not a terrible instructor, but not great either. He mostly reads off the slides and often rushes through topics. He tells a lot of stories and goes on a lot of tangents, which would be fine if it didn't mean rushing through challenging topics. I often felt like I didn't learn much by going to lecture and wished I didn't need to go, but there are clicker questions in order to enforce attendance. The material itself is very cool and the TAs for 330 are phenomenal. Also, Hicks is supposedly incredible, so if he's an option, take him. Otherwise, you'll be OK with Anwar, you just might need to put in a little extra time and effort.
Anwar Mamat
CMSC330

Expecting an A
Anonymous
12/19/2018
Anwar is a pretty good lecturer and incredibly funny. His exams are fair, the average my semester was an 80% on the nose. The only valid gripe people have with him is the pacing of his lectures. He does tend to fly through some of the material on the slides, but if you try to pay attention, you'll be fine. Even moreso, all of his lectures are online, and his lectures are recorded and put online in case you missed them, so you should be fine. The projects will be more challenging than the ones you have had so far in 132 and 216 because you will be forced to navigate through different languages and different concepts, but for the most part, you will survive. People have gripes with him for having clicker questions that force you to come to lecture, but that really isn't criticism, because you should come to lecture anyway and he's giving you easy points that'll bump your grade at the end of the semester. All around a nice professor and person, and I definitely recommend you take 330 with Anwar. I've never had Eastman, but I hear he's ok too.
Roger Eastman
CMSC330

Anonymous
12/11/2018
Hes' really nice and doesn't go too fast. Somehow made going to his 8am lecture worth it (lol rip). He hates clickers just as much as us and tried to make it as painless as possible (sometimes just straight up gave us the answers). Really sympathetic to students and the undergrad struggles. Love the dude. Would take a course with him again.
Shriraj Gandhi
CMSC330

Expecting an F
Anonymous
11/30/2018
While I'm preparing to fail this class, I know it is 100% not the fault of this TA. Not only is he extremely smart (causally mentions interviewing with Google [goosh]) he brings memes to the class room. This reassures that the class room is not only a place to grow mentally but a place a grow our connection to the course through humor. The memes were the only beam of light in this course. Honestly though, the man is intelligent and helpful. I personally thought he was pretty funny, as well. At times, he did a better job then the main teacher. Thanks Shriraj! Sorry I didn't know your name til week 10.
Cameron Moy
CMSC330

Expecting a B
Anonymous
07/24/2018
he teachs the concept pretty well, although the coding question he gives on exam are hard
Michael Hicks
CMSC330

Expecting an A-
Anonymous
07/11/2018
Great lecturer - he's very clear and easy to understand. He wants the best for his students. If you reach out to him when the workload is unreasonable, he will try to adjust the coursework/scores accordingly to help his students succeed. However, do not expect him to help you if you are slacking.
Anwar Mamat
CMSC330

Expecting a B
Anonymous
05/13/2018
He is extremely engaging and I honestly understood the material so well after. He goes fast but the slides are online so you can just note what he says. I'm a visual learner and he's the best at explaining through code examples that he writes on the spot. I would say he is definitely a better professor to have for 330.
Niki Vazou
CMSC330

Expecting a B+
Anonymous
05/10/2018
She can be a little difficult to understand at times, but it is nothing compared to other TAs and professors I've had in the past. She is very knowledgeable about the content covered in the course despite this semester being the first time she taught 330. Honestly, she is a fine lecturer and if for whatever reason you don't find it enjoyable, you can always watch the recorded lecturers from other professors or even go to their lecture instead. My biggest gripe with her lecture was not her, but the incredibly rude students who would often talk loudly with one another while she was talking! If I could give her any advice, it would be to lay down the law and tell those people outright to shut up.
Cameron Moy
CMSC330

Anonymous
05/09/2018
He was very energetic and amazing. Learned all of the material from him and not the professor. AMAZING TA
Anwar Mamat
CMSC330

Anonymous
04/21/2018
Goes over slides pretty quickly, but he is pretty engaging in my opinion. Just sit in the front.
Michael Hicks
CMSC330

Expecting an A
Anonymous
04/19/2018
Lecture: Prof. Hicks uses slides mostly as an outline, and occasionally uses the whiteboard as well. In some cases he edits a slide temporarily for examples. He's really helpful in clarifying concepts to those who ask. As of spring 2018, Prolog is being replaced by Rust in 330. I believe Dr. Hicks had a major role in this decision, and for that I'm bumping this to 5 stars. While I didn't find the material too challenging or interesting, going to lecture did not feel like a chore at all.
Anwar Mamat
CMSC330

Anonymous
04/17/2018
what the heck is wrong with this dude. He goes over his lectures really fast. Cannot take notes and cannot understand anything.
Niki Vazou
CMSC330

Expecting a B
Anonymous
04/11/2018
Enjoyable and always seems to be in a good mood. She is clearly so smart and her class is straight forward, co-taught with Gilray and an enjoyable lecture. No complaints!
Thomas Gilray
CMSC330

Expecting a B
Anonymous
04/11/2018
This guy really knows his stuff! So nice and very easy to follow.
Shriraj Gandhi
CMSC330

Expecting an A-
Anonymous
04/04/2018
Great TA, very hardworking. Will answer your questions swiftly.
Michael Strauch
CMSC330

Expecting an A-
Anonymous
04/01/2018
A solid okay. Handwriting terrible but a pretty nice guy. Great at teaching discussion not so good for office hours
Jeffrey Foster
CMSC330

Expecting a B-
thunderd568
12/23/2017
Super friendly guy. Lectures can be super fucking confusing (at least if he is teaching 330). He's a reasonable option for any class. With the curve, I got a B- and finished the class with a 77%. So that alone is worth having him for.
Anwar Mamat
CMSC330

Expecting an A
me
12/16/2017
The lectures were way too fast and not engaging. By the end of the semester, I was skipping class and watching Foster’s lectures online. The tests and projects were fair, although we were left to just figure out basic SQL on the last one, which was annoying. The class itself is an interesting one, and old tests are provided for study. It’s certainly not the end of the world or anything if you have Mamat, you’ll still learn things, just probably not as much as if you had Foster.
Anwar Mamat
CMSC330

Expecting a B+
Anonymous
12/16/2017
Mamat is a very accommodating professor, but his lectures are completely worthless. On more than one occasion, he would explain the material in the first 45 minutes while barely moving through the slides, and then rapidly go through them, only doing quizzes AND SOMETIMES SKIPPING IMPORTANT THINGS ALTOGETHER! Fortunately, if Foster/another professor posts their lectures online, the class will be a breeze. Also, the project descriptions are very easy to understand, and the public tests are usually pretty robust, which is great especially if you're used to Nelson's "figure it out if you can" approach. I like the guy, but I didn't attend lecture after the first month and still got an A on the final just by reading slides and doing projects. That pretty much sums up how important his lectures are right there.
Anwar Mamat
CMSC330

Expecting a C
Anonymous
12/14/2017
I had cmsc330 with Anwar and between him and Hicks/Foster, he's probably the worst professor to take for this class. Anwar is a cool dude, but his lectures were terrible and he moves at a pace that was too fast for most students to catch everything. His explanations are less than clear, and I soon ended up watching Hick's online lectures to try and get the rest of the material. There were two midterms, fairly tricky but not too bad. Both of them were pretty long, and took the full 75 mins right up to the line - they really pack the exams. Definitely study the exams from previous semesters and drill ocaml/prolog programming if you want to do well on these. Otherwise, it's actually an awesome class and the material is really interesting despite the workload. I felt pretty solid in my standing as a software eng. after this class, because a lot of concepts across different languages kinda clicked for me. Get Cameron Moy as your TA if you can :) Good luck!
Chau-Wen Tseng
CMSC330

Anonymous
12/19/2014
I was TA for this course and I had very bitter experience with Prof. Tseng. He has been very mean to TAs, I found him instigating my advisor against me for some minor issue. Stay away from this course and this professor. Thanks to Prof. Tseng for inspiring me to not join academia after my PhD.
Nelson Padua-Perez
CMSC330

Anonymous
05/19/2014
I've taken Nelson for CMSC216/CMSC330, and he has to be one of my favorite CS professors. He explains the material well and tries to keep it fun in the process. If you are deciding between Nelson and another professor for a CMSC class - do yourself a favor and take Nelson. You will learn a bunch and have fun in the process.
Chau-Wen Tseng
CMSC330

Expecting an A-
Anonymous
12/20/2013
Although lecture tends to be dry (like most CS courses), Tseng makes up for it by truly being a reliable and helpful professor. Exams and quizzes are incredibly fair and he even provides a large amount of practice problems and solutions. Furthermore he's almost always available through email and piazza (the class piazza had a 16 minute response time). I remember once I was up at 1:45am working on a project the same day it was due and he was still up answering questions for us. Although class can be boring (and optional if you want to skip and learn on your own via the slides he posts online), prof tseng overall provides a fair course that is truly a breath of fresh air in comparison to 216, 250 and 351 (especially 351...)
Chau-Wen Tseng
CMSC330

Expecting a C
Anonymous
12/19/2013
Tseng is a great professor. I am getting a C, but I take full responsibility for it. If you ever needed help he was more than willing to help. Also, he is very fair with the projects and tests. By far the fairest assignments and projects I've seen in the CS department. While lectures can get a bit boring as he does have an unenthusiastic voice, he is very knowledgeable about the material and puts all of the lecture slides online. He speaks clearly and explains himself well. Definitely recommend him if you have the option.
Chau-Wen Tseng
CMSC330

Expecting an A
sbl03
11/27/2013
One of the best CS professors up to this point. He is a blazing fast grader - you will get your exam grades back in 1-2 days usually. There is so much material on the course page, and the exams and quizzes follow the exact format as previous semesters. There is no chance that you will feel underprepared for an exam or quiz if you do the practice material. The exams are graded fairly for the most part. He is also very nice and helpful - he checks Piazza very frequently and answers EVERY. SINGLE. QUESTION. that students post, or at least endorses a correct student answer. The projects are mostly fair. They are harder and take more time than 216 projects, but they are manageable if you start a good time in advance. A good portion of the projects are put in the secret tests, unfortunately. As for the lectures, they are not extremely useful since he posts all his slides online. I don't bother going to discussion unless taking a quiz.
Michael Hicks
CMSC330

Expecting an A
zaqu413
05/16/2013
Lecture: Dr. Hicks rarely used the lecture slides, but posted them online. Most of lecture was going over the concepts and answering questions, he likes questions. Projects: We had 5 projects, 2 with Ruby, 2 with Ocaml and 1 using Prolog. Overall they were pretty difficult, except for the first project, it wasn't very hard, but was very long. You really need to start the projects within a couple days of them being due, the concepts are more theoretical in this class, in 131/132/216 everything was fairly straightforward. Discussion: We had 5 quizzes (announced) and they were generally on the easy side, just testing basic knowledge of what was going on during lecture. I had Richard Johnson as my TA, he was very helpful. No discussion programming projects. Exams: We had one exam on Ruby/NFA/DFA/Regex/CFG and maybe some other stuff. This exam was pretty straightforward and easy. The second midterm was on Ocaml/Operational Sematics/Multithreading, this exam was pretty hard. The final was a little easier than the second exam.
Larry Herman
CMSC330

Expecting an A+
dfarias
03/02/2013
I can understand the people who really dislike him, because he can be quite harsh. However, in the end he is quite competent as a teacher, and provides good resources online through worksheets and slides. He also teaches pretty well. If you have to take him over a mediocre professor, it'll be fine as long as you use the resources available.
Chau-Wen Tseng
CMSC330

Expecting a B+
Anonymous
08/31/2012
Some people like good lecturers, but I liked the fact that I could appropriate class time to do more productive things, like sleep. All the tools to get an A are on the class page (slides, practice problems, past exams). Also, it benefits you to start the project early since a couple of times we had quizzes and exams before a project was due. A couple of times I regretted focusing on the quizzes/exams then the projects because I then realized I would've been pro at the material if I had just worked on the project first.
Chau-Wen Tseng
CMSC330

Expecting an A+
OtG
03/21/2012
Tseng is a pretty good professor, but his lectures are nothing special. The amount of material he distributes on the class website is ridiculous. In addition to all the slides from class and discussion, he posts practice quizzes/exams, the previous 4 versions of the quiz/exam, and general practice questions for each subject before every quiz/exam. He's an accommodating guy; just make sure to take the quizzes and exams seriously, because they cover a lot and are a bit part of the grade.
Jeffrey Foster
CMSC330

Expecting a C
Anonymous
05/23/2011
He is one of the best professor I have ever had and he is totally fair. He knows the materials very well and there is always a decent curve on his grades around ten points. He loves his students and never let them go down and if you need him please go to his office hours. His both midterms are long but easy. %50 of the grade is for projects. If you do your project and get around average for your test you can pass the class easily with b/c . He is talking very very fast but you will get used to it. He tests you on what you know not what you memorize. His hardest project was 4th project and the 5th one..... so do your best on the first 3 ... they are not easy but interesting and doable without any TA's help. He is always on time and on his schedule. he provides solution for all of his tests and quizzes.. he is awesome. I will take a class with him if i can
Jeffrey Foster
CMSC330

Expecting an A+
xenonscreams
05/16/2011
He isn't perfect, but there's one reason I'm giving him five stars: I can tell he actually tries to adjust his teaching style as opposed to holding onto how he teaches the course every time. This means that over time, he is going to become an even better professor as he drops things that didn't work and holds on to things that did. For example, in 2008 someone commented that it was "purely a slides class." A friend who took the course a couple years back also said it was very slide-heavy at the time. This semester, he used the slides sometimes, but didn't teach purely off of the slides. They played more of a supportive role, and oftentimes he didn't even use the slides at all and gave several real-time examples and the like. Projects were kind of a mix. I thought they were mostly fun, but toward the end the public tests dealt with nothing more than basic functionality, which isn't a bad thing, but you have to be aware of it and actually test your code. Practice exams, practice problems, and slides were sufficient for studying for exams, but I had to study pretty hard to get As (according to my browser, I visited the class website 226 times this semester). I know a lot of people care about this, so yes, there was a curve even though the raw mean was a 74. Potential drawbacks: I never asked for an extension in his class, but I did hear he was relatively unaccommodating about them. If you are taking this class at the same time as, say, a class with Meesh, and your life is hard, you should try to finish your assignments for this class on time and ask Meesh for the extension. If you know ahead of time you're going to have a really tough semester for whatever reason, I'd consider holding back on this course until your life clears up a little, if you can afford to. tl;dr not perfect, but good and improving, definitely worth taking
Jeffrey Foster
CMSC330

Expecting an A
tobiasfunke
05/16/2011
I highly recommend Professor Foster for cmsc330. His lectures are very clear. He enjoys class participation and answers questions very clearly and patiently. The projects are all do-able as long as you don't procrastinate. He's also a genuinely nice guy. There is a reasonable curve at the end of the course so if you're borderline on a grade a bump up is not out of the question.
Jeffrey Foster
CMSC330

Expecting a B
Anonymous
04/28/2011
Great guy, hard course. This course will work you to death, and then some. Ocaml and Ruby projects are hard, and are nothing (conceptually) like the projects you are used to C, Java, and Assembly. Good luck managing the lengthy projects with the difficult concepts of the class, which also lend themselves to harder exams than in previous CS courses. I wish I wasn't taking 19 credits this semester and could put in more work to get the A in this class, but I am quite satisfied with Foster, he's a genius, and quite possibly the smartest professor I know. Since CMSC330 is required for CS majors and minors, as well as CE majors, there's no way around taking this course, but take it with Foster, you'll learn a lot and feel better about your 400 level's after this course.
Chau-Wen Tseng
CMSC330

Anonymous
02/12/2011
The class doesn't really require a teacher because it's mostly just about learning the programming languages. There are a few more advanced concepts that Tseng explained decently. The projects take up a lot of time, but you will learn a lot from them. And at the end of the semester the projects die down significantly, which is nice because it gives you a chance to put in more time for your other classes. Some of the projects can be extremely frustrating though, especially when he doesn't give you an easy way to test them. For example, to test your code for one of our projects would have required days of writing out test inputs and figuring out their correct outputs. But even if you fail one project, it's still possible to get an A. Anyway, I'd say Tseng was fine for this class.
Michael Hicks
CMSC330

Expecting an A
collegeguy367
07/07/2010
Professor Hicks is, in my opinion, one of the best professors the computer science department has to offer. He is interactive and engaging with students by focusing more on sample code and examples generated in class rather than simply reading off the lecture slides. He even makes the boring material seem interesting. Also, he is very receptive to his students and will try to answer most questions in class, or will come back the next lecture with a solution to a question. Hicks focuses his material around student needs rather then curriculum requirements. I really enjoyed his CMSC330 class, and though it was very difficult, in my opinion, his teaching style was very effective and helpful. I will definitely be taking other classes with this professor including CMSC433. Highly Recommended!!
Jeffrey Foster
CMSC330

Expecting an A+
random
06/08/2010
He is a very good professor. This class is a bit dry, given it is very theoretical. But despite that, Foster made it quite interesting. He is a very nice guy, answers questions patiently and is an easy grader (decent curve). All material can just be learned from slides. This class is all about projects, where starting early is the key. Strongly recommended with Foster.
Michael Hicks
CMSC330

Anonymous
04/15/2010
Professor Hicks spends the lecture showing examples of code (which he generates during lecture) of what he tries to teach, while also posting lecture slides (which he doesn't really use in class). Ultimately, I found this style really helpful. It promotes attendance and understanding because you get to see the concepts in action if you attend class, but you also have the slides to refer back to. I enjoyed Hicks as a professor and plan to have him as a professor again.
Chau-Wen Tseng
CMSC330

Anonymous
10/12/2009
Chau-wen taught this class with Foster, who seemed to think that all of us were geniuses. Chau-Wen seemed to be the weaker prof of the two. Foster controlled the primary parts of the exams and projects. He turned simples project into massive, tedious projects. So far in the semester, at least half the students never even finish the projects. As a teacher, he is not the most amazing teacher ever. He simply reads off the slides, and I never go to class because of it anymore. I don't know why they decided to make the projects so hard for us this semester. This class definitely isnt as easy as it used to be. It's much harder mostly because of the projects. I'm taking this class simultaneously with 311 and it's a living hell. Whatever you do, do NOT take this class with another programming class. Take something like 351 or a decent 400 level class instead.
Chau-Wen Tseng
CMSC330

Expecting an A
fuzzyLogic
12/28/2008
Passable via the power points as I don't remember attending any lectures after the first week. Midterms didn't fit a nice difficulty/length ratio. Curve was appropriate however. Projects were easy. The final was easy if you studied previous/practice exams and the power points carefully.
Jeffrey Foster
CMSC330

blackshellbowser
12/23/2008
Great guy. He did try to make the lectures interesting (considering it's purely a slides class). Projects were for the most part reasonable (and pretty interesting imo). Only exception was the last project he gave. It was difficult and since it was a week before the final it wasn't pretty. Exams can be a little tricky and sometimes be a little too long, but nothing terrible. He is a lenient grader. What I like is he reserves about 3-4% of your final grade as "class participation" to bump you up if you did terrible on one project but good on the others. He also doesn't just use cutoffs as a guide, he looks at everyones standings and sees if he can bump them up.
Chau-Wen Tseng
CMSC330

Expecting a B
pluralfacade
12/08/2008
Chau-Wen's class was....an interesting experience. Like many CS teachers, he is an expert in his area of research and really knows what he's talking about, but he ocassionally struggles in conveying this information to students who know nothing about it to begin with. His tests were probably his greatest weakness. They had good coverage of the required material, but the combination of the tests being both too long and having extremely challenging problems made them pretty much impossible to finish. Towards the end of the semester, he started to deviate from his own syllabus, but this was both good and bad. Instead of giving us Java projects at the end as originally planned, he instead put more focus into new programming languages, which proved to be helpful since Java had already been covered to a great detail in previous classes. The grades for the class were pretty low throughout the semester and many people were worried, but Chau-Wen had a pretty nice curve at the end.
Chau-Wen Tseng
CMSC330

Expecting a B
Anonymous
07/01/2008
His lecture were long and probably the most boring I ever been in. His exams covered so much material and it was impossible for even the smart kids in the class to finish. He also did not stick to the syllabus.
Chau-Wen Tseng
CMSC330

Expecting an A
allie
06/04/2008
He gives you very detailed powerpoint notes that he posts online. I didn't have to take notes. He gave us good review materials for all the exams. The projects were reasonable. Overall he was a pretty good professor although lectures weren't too exciting...but how many comp sci lectures are?
Atif Memon
CMSC330

Expecting a B
Anonymous
02/13/2008
Very good teacher, you will definitely learn a lot from him. He keeps class light and interesting, constantly forces class members to go up to the board and do examples. Makes sure you're learning and not just losing him. Also VERY approachable. The drawback I had were his tests. If you want to do well on his tests, be prepared to hang around his office every day and do tons and TONS of extra problems. The average grade on our first test was something like a 28. His TAs were also really good, but there were several problems with project descriptions/testing (which the TAs were in charge of). It was all resolved, however, and they were generally lenient when they messed up. Overall, Id certainly recommend this guy.
Atif Memon
CMSC330

Expecting an A
Anonymous
12/18/2007
He's a great professor. I had him for CMSC330, and he tells good jokes, keeps class interesting, and is an effective teacher. I really felt like a learned a *lot* in the course, and the class will probably be very useful to things I do in the future. During the semester, I only missed one lecture (and I wish I didn't even miss that one), because the lectures were always engaging and informative. The one drawback is that he does not use the grades server, but this is a minor one. He is very approachable. Highly recommended.