Reviews for CMSC421
Information | Review |
---|---|
William Regli
CMSC421 Expecting a B+ Anonymous 11/08/2024 |
He’s a cool guy and pretty knowledgeable but he’s quite Incompetent when it comes to assignments. There are only 6 assignments, 2 or 3 of which are multiple choice gradescope assignments. And yet for every single programming assignment there’s always some big change in instructions and/or requirements halfway through that makes us redo things causing an extension to be granted. For every single programming assignment thus far there’s been an extension. The TA’s also generally seem to have no idea what’s going on with the projects so you’re just all on your own. How the projects are this poorly made is beyond me considering the entirety of the course material is pirated from UC Berkeley and a few projects are based on theirs too. Again Regli is a really nice guy and pretty reasonable when it comes to deadlines extensions for things and if you’re really interested in the subject there’s genuinely few better people here than him to teach you about it due to his background. But the projects, despite how few of them there are, make this class very annoying |
William Regli
CMSC421 Expecting an A- Anonymous 11/04/2024 |
Cool professor. The lectures and the notes are good and teach the concepts very well, and the exams are open note. Most of the pressure is on the projects. I'm giving this guy a horrible rating because the projects were just that bad, and the TAs were annoying. The programming assignments are not only worthless, a waste of time, and take way longer than they should, but they are also open-ended in all the wrong ways. I don't think he's disrespectful, but just a little bit autistic. I feel compelled to write this because there was just a fiasco where they changed an easy planning assignment multiple times due to a bug in the given library code, resulting in part of the project being changed from 'propositional planning' to 'software development bug-hunting', which was of course stupid and a waste of time. There was also a step in that assignment which was to modify the library for yourself in order to inject the desired behavior into the library, with no additional instructions beyond that. Why am I being tasked with software development in an AI class? AM's words from 'I Have No Mouth and I Must Scream' sums up how I feel about these programming assignments in general. They're not hard, but have far too high a proportion of time invested in busywork and unrelated tasks such as making 3000 graphs in Matplotlib than actually learning the concepts. |
Tianyi Zhou
CMSC421 Expecting a B Anonymous 09/30/2024 |
Got an B finally. I cannot recommend him. The main problem was he did not communicate and cannot respond to the questions and assignment questions well. Overall the course was disorganized. |
Archit Kambhamettu
CMSC421 Anonymous 09/07/2024 |
Archit single handedly saved me in 421. I had zero clue what I was doing but went to his office hours, and he helped finish the project. He also held extended office hours the day the project was due. He's a great guy who's for the student and also a very chill grader who grades on understanding the concepts instead of just checking for the right answer. |
Archit Kambhamettu
CMSC421 Anonymous 08/20/2024 |
great TA. class was super disorganized but he was really nice in office hours and stuck with the students after hours to figure out problems |
Mohammad Nayeem Teli
CMSC421 Expecting an A Anonymous 08/19/2024 |
Maybe Teli is okay for regular semester classes, but his handling of CMSC421 was quite poor. For our first project, it was impossible for us to actually gather all the data because he was asking us to run exp-time algorithms for (relatively) large graph sizes. For example, he said he wanted us to run algs on graph sizes from 5, 10, 15, ... up until about 100 or so, but in reality, running a 15 node graph took like an hour each or more. He then cleared up the day before the project was due that we could change up the increments and the bounds of the graph sizes (so our group did increments of 1 to get more data). The piazza answers he gives are not much better either. Given that the project descriptions are already either misleading or just poorly written, you would hope that he clears things up on the piazza, but no, he responds after a day or so, and usually in a few words that hardly string together a sentence. You have to really keep nudging him in the followups before you can get a straight answer. The final exam itself was pretty awful, the average was a 70%, so hopefully he curves it, but for now we still aren't sure. |
Mohammad Nayeem Teli
CMSC421 Expecting a C Anonymous 08/18/2024 |
Terrible professor. Do not take him. Had him for CMSC 250 and CMSC 421 (summer). The class was entirely online with the exception of exams. He was not punctual with lecture postings, rarely responded to students on piazza, and if he did respond, it would be one word answers. He did not show up to either the midterm or final. Exams were terribly worded. |
Max Ehrlich
CMSC421 Expecting an A Anonymous 05/20/2024 |
Cons: - tells you not to stress but seems to do everything to make you stress - unclear hw instructions - super hard exam (it was far too long and way too much content) - unclear instructions on final project pros: - lots of curving - no final exam - easy grading on the final project |
Max Ehrlich
CMSC421 Expecting a B+ Anonymous 05/19/2024 |
As a student, I was incredibly interested in the possibility of taking an artificial intelligence course at UMD. However the biggest thing that was a let down was the way the course was instructed and the instructors themselves. Max is most definitely incredibly knowledged about the subject, and seems to have a passion for AI itself. However, the course was by far the worst organized 400 level course I have taken at UMD, and that's coming from a university with many "below average" professors in the computer science department. First and foremost, no enforcement of the material was given throughout the year. The course "material" was directly copied and ripped off from CS188, Berkeley's Intro to AI course. The slides, were directly copied as well. As a student, I found it much more effective to visit Berkeley's website and learn from their instructors instead. Signing up for this course would be a waste of your tuition when you can simply learn the material yourself using the CS188 website. Even the midterm itself was given with a low effort on the instructors part. The midterm was given online in class. Almost all students found the midterm to be impossible to complete in the given time, and this resulted in a low average for the exam. Instructors had to remove an entire section of the midterm after grading to better curve the results, which meant that students spent time on that section for no reason. There were 3 total homeworks given in the class. Homeworks 2 and 3 provided more of a learning experience and had more applicability to the course material in comparison to anything else we'd ever learned in class. Homework 3 was building an image classifier using a nueral network which ended up being the most helpful and interesting project done in the class. This project was done using PyTorch, however Max provided absolutely no guidance on how to start with PyTorch leading students to self learn the material before being able to start the homework itself. The final project was a group project, but yet again students were misinformed of the requirements. We were orginally told to complete a short report on our project, but a week before the deadline, this was changed to a 3-5 page report. Moreover, the grading procedure of the final project was not given until a week before the deadline. The lack of communication and help with both the homeworks and the final project speaks to how poorly the class was run. Overall, it seems that some individuals are not meant to teach no matter how knowledgable they are in the material, and Max is one of them. |
Sujeong Kim
CMSC421 Expecting a B- Anonymous 05/15/2024 |
She is a new teacher and I don't think it is necessarily her fault, but attendance is weighted way to high for a class copied from Berkeley. and copied poorly. There is less frequent homework than the Berkeley course and this causes it to be a much larger problem set so everything is covered. There were only 3 homework assignments the entire semester and 1 group project. the workload is not bad but this means the class is not really the most engaging and you end up having to relearn lots of topics to do the homework because you haven't thought about it for 4 weeks ago since you initially learned it and the professor moved on. The attendance is worth way too much and I would have an A- in the course if they removed it completely. The one time the professor had to miss class for a family emergency we had to come to class for participation points and watch a zoom lecture of the other classroom projected on the screen and I honestly felt insulted reading that canvas announcement. It was a waste of the Ta's time that day to have to sit there in person, operate the zoom meeting and, ask questions for students when we just as easily could have watched from home and gotten the same experience if not better. |
Sujeong Kim
CMSC421 Expecting an A Anonymous 05/11/2024 |
Course was fine. Professor mostly read off slides, but I thought the material was neat. It was mostly material taken from Berkeley's course, so the slides are solid. The course has a few homeworks, an exam, and a semester-long project, all of which I thought were reasonable. Solid, relatively easy CS elective, but professor was nothing special. |
Max Ehrlich
CMSC421 Expecting an A Anonymous 05/10/2024 |
I'll preface my review by stating that I had Dr. Sujeong Kim, but she co-taught this course with Dr. Max Ehrlich, so much of this feedback applies to them both. Starting with the curriculum, I feel that this course was very poorly designed. The professors put in the bare minimum effort, more or less entirely ripping off Berkeley's CS188 course (https://inst.eecs.berkeley.edu/~cs188/fa23/), including all of the topics and slides. In fact, the slides they provided us with were identical to the Berkeley ones, just with the Berkeley branding replaced by UMD branding. They didn't even bother recording lectures, telling us to use the Berkeley recordings instead. Also, the Berkeley course had regular discussions, homeworks, and projects—which would have helped us learn to apply the material we were learning, something the professors didn’t really seem to care about. Moving on to the quality of the lectures, Dr. Kim seems very knowledgeable, but she simply cannot teach effectively and seems best suited for research. Her lectures pretty much consisted of reading off the Berkeley slides and giving inadequate answers when anyone would ask a question. It seems that there was very minimal preparation done before the lectures. The only reason anyone even bothered attending lectures was the clicker quizzes, which effectively made attendance mandatory. I personally learned more putting in headphones and reading the Berkeley notes instead of listening to her. The assignments didn't make the course any better either… There was one midterm exam, which was a disaster. The professors made us take the exam on Gradescope on our laptops in class, because their goal was not to measure students' comprehension of the material but instead to minimize the time and effort needed to grade the exam while maintaining the façade of a well-run class. They provided hardly any review materials themselves and only posted full solutions after complaints on Piazza. And even the solutions provided turned out to have errors. Besides that, they pointed us to Berkeley's past exams, which ended up being nothing like our exam. The exam was such a time crunch that hardly anyone could even finish, and they had to curve the exam to be out of 78 points even though there were well over 100 points originally. The first 2 homework assignments were quite boring, but Homework 3 (a PyTorch lab which involved building an image classifier from scratch) turned out to be quite interesting. However, the professors did not teach us anything to equip us with the knowledge necessary to do the homework. They did not go over how to use PyTorch, how to design a neural network, how convolutional neural networks work, how to improve models, or anything else that would be remotely useful. While this was one of the only thought-provoking assignments, the professors did not prepare us for it at all. Finally, we had a group project due at the end of the semester that was pretty interesting, but the professors did not communicate the requirements clearly at all. They waited until a week before the end of the semester to tell us the details of the final poster presentation and announce that we had to complete a 3-5 page report in addition to the deliverables that we proposed in our project proposals. And that's also when they finally communicated the grading criteria, which was laughable. Somehow, the poster presentation was worth 70%, while the rest of the deliverables combined (including the 3-5 page report and all of the code) were worth just 30%. Overall, it seems like not much thought was put in this course. Why am I paying for a cheap rip-off of a Berkeley course that is freely available to all? |
Sujeong Kim
CMSC421 Expecting an A Anonymous 05/10/2024 |
I'll preface my review by stating that I had Dr. Sujeong Kim, but she co-taught this course with Dr. Max Ehrlich, so much of this feedback applies to them both. Starting with the curriculum, I feel that this course was very poorly designed. The professors put in the bare minimum effort, more or less entirely ripping off Berkeley's CS188 course (https://inst.eecs.berkeley.edu/~cs188/fa23/), including all of the topics and slides. In fact, the slides they provided us with were identical to the Berkeley ones, just with the Berkeley branding replaced by UMD branding. They didn't even bother recording lectures, telling us to use the Berkeley recordings instead. Also, the Berkeley course had regular discussions, homeworks, and projects—which would have helped us learn to apply the material we were learning, something the professors didn’t really seem to care about. Moving on to the quality of the lectures, Dr. Kim seems very knowledgeable, but she simply cannot teach effectively and seems best suited for research. Her lectures pretty much consisted of reading off the Berkeley slides and giving inadequate answers when anyone would ask a question. It seems that there was very minimal preparation done before the lectures. The only reason anyone even bothered attending lectures was the clicker quizzes, which effectively made attendance mandatory. I personally learned more putting in headphones and reading the Berkeley notes instead of listening to her. The assignments didn't make the course any better either… There was one midterm exam, which was a disaster. The professors made us take the exam on Gradescope on our laptops in class, because their goal was not to measure students' comprehension of the material but instead to minimize the time and effort needed to grade the exam while maintaining the façade of a well-run class. They provided hardly any review materials themselves and only posted full solutions after complaints on Piazza. And even the solutions provided turned out to have errors. Besides that, they pointed us to Berkeley's past exams, which ended up being nothing like our exam. The exam was such a time crunch that hardly anyone could even finish, and they had to curve the exam to be out of 78 points even though there were well over 100 points originally. The first 2 homework assignments were quite boring, but Homework 3 (a PyTorch lab which involved building an image classifier from scratch) turned out to be quite interesting. However, the professors did not teach us anything to equip us with the knowledge necessary to do the homework. They did not go over how to use PyTorch, how to design a neural network, how convolutional neural networks work, how to improve models, or anything else that would be remotely useful. While this was one of the only thought-provoking assignments, the professors did not prepare us for it at all. Finally, we had a group project due at the end of the semester that was pretty interesting, but the professors did not communicate the requirements clearly at all. They waited until a week before the end of the semester to tell us the details of the final poster presentation and announce that we had to complete a 3-5 page report in addition to the deliverables that we proposed in our project proposals. And that's also when they finally communicated the grading criteria, which was laughable. Somehow, the poster presentation was worth 70%, while the rest of the deliverables combined (including the 3-5 page report and all of the code) were worth just 30%. Overall, it seems like not much thought was put in this course. Why am I paying for a cheap rip-off of a Berkeley course that is freely available to all? |
Tianyi Zhou
CMSC421 Expecting a B Anonymous 01/05/2024 |
DO NOT TAKE The course is very disorganized, there’s a lack of communication from the professors and TAs, the instructions for the assignments are very poor and ambiguous, the deadlines for the assignments are constantly shifting and the grading is inconsistent across the board. This class is way more stressful than it needs to be and needs to be overhauled. |
Tianyi Zhou
CMSC421 Expecting a B Anonymous 12/23/2023 |
Do not take this class with him. This was one of, if not the worst classes I have ever taken here. First, it’s an intro class and it’s not handled like one an at all. He expects us to know a lot of things that we don’t, and never lays a good foundation for important topics before going into more complex concepts. This made it extremely difficult to grasp and apply things on assignments if you didn’t already have a background in AI. Second, the class structure is poor imo. The curriculum was changed ahead of the class starting and many of us were not aware of this ahead of time. Additionally your grade was mainly weighted towards your assignment grades or group project grades, both of which we lacked a lot of guidance for. The expectations were so ambiguous that it was an avalanche of regrade requests whenever grades were posted. There also seemed to be an extreme lack of communication from the professor and TAs, especially towards the end of the course. Overall I do not recommend this class with this professor at all. |
Tianyi Zhou
CMSC421 Expecting a B Anonymous 12/22/2023 |
This class was the biggest waste of time I have ever had at UMD. Not only was it extraordinarily difficult due to poor lectures and low quality assignments created by TA's, but the teaching methodology used in this class was just completely inappropriate and set everyone up for failure. The class began by teaching how to create neural networks from scratch. The difficulty of understanding neural networks did not just come from the fact that neural networks can be a difficult subject, but that there was little to no introduction to the topic. In fact, the first assigned reading from the textbook required knowledge from previous chapters in the book. Simultaneously, an assignment was given out with a very low quality code base written by a TA. It was one thing to listen to lectures about neural networks and read about it in a book, but there was no guidance on how to implement them from scratch. When we asked for resources, Professor Zhou gave us Pytorch references which helped in no way to complete the assignment where we had to build neural networks FROM SCRATCH. No Tensor Flow, no Pytorch for the majority of the assignment, just use Numpy. The assignment was so bad that it was given about an 8 week extension because no one had any idea how to do it and the TA's were not helpful. If I actually wanted to learn how neural networks are created, I could have just read a book on it in my own time instead of stressing over an assignment and I would have learned more. Furthermore, the weights for the assignments in this class were pretty terrifying if you didn't have a grasp on some of the material. 60% of the grade was assignments (From 4 Assignments). We fell so far behind because of the mess from assignment 1 and the disorganization of the class instructors that assignment 4 was never released and the weights for assignments 1 2 and 3 became 12% 24% 24% respectively. So if you messed up on one of the assignments and didn't do well on the midterm, you were in some hot water for the class. The only good thing I can say about this class is that we got a free 20% grade for attendance. However, this got taken away and replaced with in class quizzes because people complained it was a against department policy which sucked. Like come on, why do you all have to complain about the small good thing that this class provided. Would you have rather taken an exam for a class that where we barely learned anything? It would be smarter to take the Machine Learning class instead of this. They did group projects for the neural network and it's a lot more organized than the mess we all had to deal with. Otherwise, avoid this class. Professor Zhou is nice but this was unfortunately a really low quality class that had so much potential. |
Tianyi Zhou
CMSC421 Expecting a B+ Anonymous 12/21/2023 |
Look...421 wasn't awful. The first few weeks were a crap shoot, and the first project was very confusing. But it wasn't for lack of caring...it was cause he wanted to make the course more suited to help students in interviews. He then proceeded to give a lot more time for the project and grade far more leniently. And here's the kicker, I started early (like he said) and I finished by the first deadline. It wasn't easy at all, I wasn't going to get a great grade, but I'm routinely a B/B- student in CS anyway. I went to office hours and I worked a lot of hours. I don't think that project was "fair" but kids treated it like the man was trying to nuke their grades. Not so. Also, as he showed us in class, he really didn't diverge that far from the Berkeley course that these kids are angry about (but never took). Was this class good, eh, do I recommend, eh, will I get a decent grade...yes. As a kid who has been worried about his grade every semester I wasn't worried about this class...cause I believe (and as he showed) he didn't want to fail the class. He essentially curved every assignment, and basically asked that you show up to class. So no this wasn't the hell that people said. Now. Do you actually learn anything usefull...ish. The course description (including the berkely one) tells you that you can't get a job in AI with just this info. It's a starting point. And as it goes, lecture alone will not bring you there, and yeah it can be hard to follow, but I definitely feel more confident in having a conversation on the topic. And that's what the course is billed as...a starting point. Are there better lecturers, yes, was this class that time draining, not really, that first project was super stressful but otherwise I was done for the next 10 weeks. Do your work, put your head down, and if your smarter then me you'll probably get an A. Also, he seems like a nice guy. So to conclude, is he the worlds best lecturer...no, is he the worlds most organized....no, will you get a bad grade...I don't think so, is he a good guy...yes, will you accomplish the course description...I think we actually did. Should you take this class....over some classes for sure, but you decide. |
Tianyi Zhou
CMSC421 Expecting an A Anonymous 12/13/2023 |
I feel that as long as the project of this course get a bit more polished, this will be a very good course. |
Yantian Zha
CMSC421 Expecting an A Anonymous 12/11/2023 |
Easily the worst class I've taken. Course is practically copied from Intro to AI classes at other universities (including provided material). Assignment 1 had incorrectly assigned code, and got postponed to over a month later, with all assignments/HW being graded only at the end of semester. The midterm was graded almost a month after being assigned, while the other section received their grades 3 weeks earlier. Moreover, no curve. We couldn't even see our own midterm without going to office hours, where we had to go to a different office hour to view each separate question of our submission (we couldn't see the whole exam at one time). The midterm average was a 66, with no curve. Multiple assignments were canceled due to the clumsy, unorganized nature of the class. That said, the grading policy was quite lenient for assignments and HW, and it was nice to be able to know which assignments can be dropped and otherwise. |
Tianyi Zhou
CMSC421 Expecting an A Anonymous 12/10/2023 |
This was an absolutely awful course. You can probably find a synopsis of what happened online on Reddit or Piazza, but in summary, Tianyi Zhou managed to run the most disorganized class I have ever seen or heard of in the CS department. His lectures were terrible; they over-complicated every topic beyond the point of understanding. Even as somebody who scored comfortably in the upper quartile in the only exam we had in the class (and also on every assignment), the little content I did learn was entirely on my own and from resources he did not provide, and studying for the exam was an unpleasant experience that felt like searching for a needle in the haystack in terms of what I had to learn. Additionally, his projects/homework assignments were extremely vague and looked like they were put together in about 15 minutes. The first coding project he released had so many bugs and the code base was so unworkable that it was extended by 6-7 WEEKS. When we eventually did have to submit it, the average grade was around 75% because the write-up questions (which had extremely unclear instructions at best) were graded extremely harshly by the TAs. The other assignments, while not as bad, were also graded quite harshly even though the questions were unclear. The one slightly redeeming part of this course was the group project, but him and the teaching assistants (my group's TA was Hongyu Zhao) managed to completely butcher that as well. I will spare you the details of our project, but in summary after working on it for the entire semester and submitting weekly reports outlining our progress and methodology (which Hongyu admitted to not have read at all in office hours during the last week of classes), several of our group members talked to Tianyi after class about our project (keep in mind this was after the final lecture), and he told us that a core component of our project was being done completely incorrectly the entire time. This project was quite advanced and was adapted from actual AI/ML research in the field, so there was no way for us to know that we were doing this wrong, especially considering this was our first exposure to almost all of the topics involved in the projects. I don't understand how we only got notified of the issue around finals week when we have been writing our methodology consistently and in-detail throughout the semester. Hongyu Zhou also completely ignored our messages to him in the CMSC421 discord server asking for advice on this group project, even though he was assigned to us specifically to help us with the project. This was completely unacceptable behavior. Don't get me wrong, Tianyi Zhou is a nice guy, very knowledgeable, and can provide good advice if you talk to him one-on-one. He would be a great research mentor. But to run a class where people actually learn, these are the minimum qualities you need to have, you also need to be able to prevent the things above from happening. He seemed to be completely oblivious to the chaos unfolding throughout the entire semester, I suspect he doesn't even realize at all the experience his students had in his class. He consistently acted like nothing was wrong. Tianyi Zhou cannot be allowed to teach undergraduates anymore. I don't doubt he is very smart and valuable to the research department, but he is incapable of transferring that knowledge to his students. Just have any other professor teach this class and it will probably be ok. I have also heard the other section (taught by Yantian Zha) was not any better. |
Tianyi Zhou
CMSC421 Expecting a B Anonymous 12/06/2023 |
After a semester of this class, I can definitively say this is one of the most miserable courses I have taken. While it used to be the Berkley course, they have tried to 'update' it with new projects and a different order of the concepts we learn. Some of my main complaints with this class were: - Releasing the first assignment after the drop date for the class, this first assignment was new and was so bug-ridden it was extended for over a month. It seemed to have been designed primarily by 1 TA and when attending office hours or trying to get help the other ones would tell you to do something and the TA that made the project would be like why are you doing that - Deciding midway through the course to make attendance graded and surprise pop quizzes to force people to come to the lectures - Using piazza but the TAs and prof cherry-picking which questions to answer and leaving some unanswered for the entirety of the semester, regardless of whether multiple students ask the same question - Lack of coding examples in slides and lectures, throughout this class the only exposure to any code at all that we had was in the projects, and those were extremely vague and lacking documentation until the whole class was in anarchy and the profs and tas were forced to rewrite and clarify the project Overall I have thoroughly been frustrated and exhausted by this course in various ways. While I can tell that Prof. Zhou is extremely intelligent and passionate about the field of AI and his research, I would urge everyone to avoid this class with him as it has been nothing short of a complete and utter trainwreck. They did make some adjustments throughout the course to try and help out the students like re-releasing the projects with more documentation and a lot of extensions but it seemed to be too little too late as the class had already spiraled to the point of no return. do not take CMSC421 with prof zhou. |
Tianyi Zhou
CMSC421 Expecting a B Anonymous 11/13/2023 |
Avoid. Even if you have a passion for the topic. The explanations given in class for topics is too brief and lacks clarity, anything I've taken away from this course has been reinforced through outside learning. Even though this is an Introductory course, there is a large amount of information they assume you already know. I'd say class time would be a 2/5, but the assignments and course structure deserve a 0/5. It has been nothing short of a nightmare, the course is structured so your group project grade or your individual assignments average is 60% of your overall grade. Which sounds nice, but if you're like me and your group decides to just focus on their individual assignments and stops doing the project mid-way through the semester, there is ZERO incentive to stop them from just leaving you high and dry. It encourages an environment where you have pre-existing friends that you trust to not just desert you. Also, I could spend forever explaining the failures of the assignments, but to keep this shorter, essentially the assignments are all new and not tested at all. For example, our first assignment has been extended 7 WEEKS because it was so difficult to comprehend and complete. Just do not take this course, self-teach if you really wish to learn, it's not worth the loss of sanity, time, and GPA. |
Tianyi Zhou
CMSC421 Expecting a W Anonymous 11/09/2023 |
He changed the entire course curriculum from the previous semester. TAs were no help with the assignments on Piazza and gave contradictory advice. The first project wasn't released until the day after course lock in, so we were stuck in the class. He also made the first and only exam AFTER the withdrawal period. He never responded to any of my emails, and was extremely unhelpful with addressing ADS accommodations. He also required attendance which I believe is against the CS department policy, so he changed it to an attendance sheet + daily lecture quiz after finding out it was against policy. Overall horrible experience. Learned nothing going into lecture each day and now I'm scrambling to figure out how to graduate on time. |
Tianyi Zhou
CMSC421 Anonymous 10/21/2023 |
Simply put, this class has been nothing short of an absolute trainwreck. The class is completely disorganized from the way that the assignments are written to the way that TAs provide contradictory information which makes assignments take longer simply due to the fact that we do not know what the instructors are asking us to do. Attendance is required, which is questionable but tolerable because we only had to sign a piece of paper at first. Recently, the professor adopted an in-class quiz policy where we are required to take a quiz which is graded on accuracy as a way to show our attendance. This is acceptable but we are often given minimal instructions on how to solve the quiz problem and the class is usually confused on how to proceed with the provided information on the quiz. To top it all off, we are assigned a research project that we are already a few weeks behind schedule on because the staff was spending time putting out all of the fires that the first weeks have caused. |
Tianyi Zhou
CMSC421 Expecting an A Anonymous 10/03/2023 |
Professor Zhou is truly dedicated to the success of his students. I do know that this semester he has changed the layout of the course and its not like the Berkley course anymore. However, I think his reasoning behind is to equip his students with the most up-to-date knowledge in the rapidly evolving field of AI. Professor Zhou aims to ensure that his students not only grasp AI concepts but also witness their practical implementation. Granted, it would have been beneficial if he had started with the basics and gradually introduced programming aspects. Nevertheless, Professor Zhou is putting in a tremendous effort to simplify the material for his students. He has generously extended deadlines for assignments and even reduced the weightage of programming tasks. It would be unjust to undermine his abilities as a teacher. I think he is just learning how to teach and wants his students to successfully understand the class concepts. In my opinion he is a really good teacher and an amazing person. All it takes is a bit of patience and open communication to make the most of his guidance. |
Tianyi Zhou
CMSC421 Anonymous 10/02/2023 |
yoterp69 clearly not had a chemistry course at UMD. |
Tianyi Zhou
CMSC421 Expecting a C yoterp69 09/27/2023 |
I do not know how this mans average rating is a 3.43. Maybe cuz he seems nice? This class is terrible and he is the worst professor I have ever had at UMD. The class has no structure, the assignments are off things he has never taught us, and 20% of our grade is for attendance. I would never reccomend this class or Mr. Zhou to anyone. He is the worst professor I have ever witnessed in my academic career. He should be fired. |
Hal Daume
CMSC421 Expecting an A Anonymous 05/12/2023 |
The class is straightforward, and Hal explains things decently enough. He brings up nice analogies and tends to focus on things that matter more. The midterm exam was exactly like the study guide. However, the HWs were vague and often had grading mistakes. The piazza also wasn't very active. In my opinion, this is a somewhat easy 400-level class, and Hal simply keeps it that way. |
Hal Daume
CMSC421 Expecting an A Anonymous 04/30/2023 |
Hal is a very engaging lecturer. He moves around a lot, does a decent number of examples, and always pauses to let students try problems before giving the answer. The whole course follows http://ai.berkeley.edu/. The project descriptions are a bit vague but not very difficult. Sometimes the curriculum feels a bit dated, and Hal does a decent job adding in footnotes about how you should approach something in practice. Unfortunately, Hal is way too busy to be teaching this class. He almost never checks Piazza, so the only time to ask questions is in the 5 minutes before or after class (or in his OH, but I had another class at that time). The TAs are not super helpful because they do not seem to prepare the material or follow along with the course. The homeworks often have under-specified or mistaken questions. Luckily, this usually results in almost everyone getting points back. The exams aren't too hard, especially if you do the practice ones. Unfortunately, they are very computational rather than conceptual. Basically, the course was pretty interesting, but logistically, it is a bit of a mess. I will say we had Tianyi Zhou as a sub one day when Hal was out. I can't speak to his logistics, but Hal is much more engaging and clear, and he goes at a more reasonable pace. Professor Zhou didn't really pause for questions. |
Tianyi Zhou
CMSC421 Expecting an A Anonymous 03/02/2023 |
He is a nice guy and tries his best. The whole course was 70% of Berkeley's course. He was generous with grading and you could get an A if you learned a little bit. I almost always attended lecture and he got a bit better towards the end. He was pretty nice, he would always answer questions even if they were dumb. He's just learning how to teach so it's OK. |
Tianyi Zhou
CMSC421 Expecting an A+ Anonymous 01/04/2023 |
He is a nice professor and tries to help us understand the material, though I agree that he doesn't explain the material well. The whole course was from Berkley so you could find a lot of helpful recourses on Berkley's website. 40% of the grades are from projects which are easy to get 100%. HWs are reasonable, if you go to OHs you can get good grades easily. Also, he had extra credit problems in the final exam. I think he also curved our final grades, so getting a very good grade in his class is super easy. |
Tianyi Zhou
CMSC421 Expecting an A+ Anonymous 12/28/2022 |
I agreed with other comments saying that his lectures is basically reading from the slides and it took quite sometime for the questions from the piazza to be graded, and the last two HW are only graded like one week before the final. Midterm took one month to be graded. Anyway, I stopped attending to the lectures after one week because I figured out his lectures is much better in 1.5X speed. I do learn a lot of stuffs from the class and sometimes his explanation to the slides contents do help the understanding. Midterm and final are really similar to our HW problems which are fair to me. The grading to the HW, even though with some ambiguity, but I personally find out the TA is tending to be generous on the grading due to the nature of our HW (sometimes a lot of calculations, or give explanations, etc.) so even if you might have same answers as other but different from the correct answer, you might have different scores because different TA were grading. Answer keys were provided so you can always check back and forth. TA are also helpful during office if you need help. Also, there are practice exams from previous year for both MIDTERM and FINAL along with solutions so you can have sense of format. Also one other thing I like is Project worth 40% of our grade and the grade is based on public test so as long as you put a lot of time you are guaranteed to get the 40%. Even though the projects are public berkeley projects but I personally don't mind that since I believe good projects and they do line up with what we have learned in class so helps my understanding. There are also many resources for you to explore the materials which I find nice. |
Tianyi Zhou
CMSC421 Expecting an A+ Anonymous 12/24/2022 |
Fair professor. Lectures are kinda dry so I stopped attending lectures after first week of school since I figured out his lectures is much better in 1.5x so I basically watched his recording to learn. Slides were actually helpful and his explanations are also helping understand the course content. Project are from Berkely and majority of the contents are from Berkely. Good thing with that is you can find many resources (and he did gave some resources) so you can learn after class. Bad thing is that it is kinda boring. Exams are fair and similar to our HW. I did learn many stuffs from the course. Also the grading is fair to me. I find out the TA is tending to give more lenient grades due to the nature of some problems of the HW. Honestly he is pretty solid 3 star professor to me. Just give him 4 star because I think he desevers a little better than 2.33 stars. |
Tianyi Zhou
CMSC421 Expecting an A Anonymous 12/23/2022 |
First off, Tianyi is definitely a nice guy. He tries his best to help students (making accommodations for taking exams in certain situations) and it's clear that he makes an effort to make the concepts come across to us while teaching. That being said, I think there's a lot that he can improve on. He is, no doubt, a very smart person, but there were a lot of times when he wasn't able to really teach certain topics effectively. Sometimes, it just felt like he was kinda reading off the slides not being truly engaged in the material. Secondly, the logistics of this class weren't the best. It took a month to get midterm grades back and all students were just left wondering what was going on. I would also mention that HWs and Piazza question took quite sometime to get responses to, but that's up to the TAs What swayed me to give a 3/5 is that at the end of the semester, he definitely listened to the concern of the students and implemented a couple of changes for the final exam to help us (allowing the use of a cheat sheet, a shorter exam overall because midterm was too long, etc). He also released practice/old exams for both the midterm and final exams ALONG WITH SOLUTIONS which is something CS profs don't always do and I really appreciated. Overall, I think you can succeed in this class if you just go to OH early and attend lecture. |
Pratap Tokekar
CMSC421 Expecting an A- Anonymous 12/22/2022 |
I made a review back in November regarding Prof Tokekar and I would say that his management of the 421 course improved between then and the end of the semester. Pros: 1) Posts lecture slides and links to additional online resources and textbook chapters to review 2) Mix of online and in-person OH and TAs did a good job at answering questions during OH 3) Interesting assignments and projects 4) Answers questions during lecture, OH, and is very flexible 5) Posts practice exams and problems to prepare for final and midterm 6) Allows regrade requests 7) Quickly graded final exams Cons: 1) Took a while for midterms to be graded and transferred to ELMS 2) TAs took a little while to respond to Piazza posts |
Tianyi Zhou
CMSC421 Expecting a B Anonymous 12/19/2022 |
The entire course was taken from Berkley. The professor simply read from the slides and when questions were asked, he simply would give a response that does not answer the question. The midterm grade was given back a month and a half after taken the exam but was not given the physical exam back. Some grading on the exam did not seem fair and when brought to the attention of the professor, his response was that all the TA's agreed the grading was unfair but they didn't have "the bandwidth" to go and regrade them. In addition, many questions on piazza would go unanswered. This probably was one of the worst professors I have ever had in CS. |
Tianyi Zhou
CMSC421 Expecting an A Anonymous 12/16/2022 |
Fine teacher, just this was the first class that I stopped attending the lecture about halfway through. This was not his fault as the course material was extremely simple and not all that exciting plus the whole course by its nature is almost completely off of a free Berkley course. All projects and most of the lectures seemed to be just directly from Berkley. Another reason I stopped attending was that students' questions would hold up the class to an extreme degree, and he would continue to discuss with them, but often there seemed to be some sort of difficulty in communicating ideas as we would be stuck on a topic from the previous lecture for the first half of the current lecture. I like that he really wanted to answer these questions, but I would imagine after 10+ minutes on the same topic with one or two students, you could just say "maybe talk to me after class or during office hours." |
Pratap Tokekar
CMSC421 Expecting an A Anonymous 12/10/2022 |
I think the professor taught as best as he could, but the class structure just wasn't good at all. The TAs never responded on Piazza so he was basically the only one who ever answered questions, grades took forever to get back, lectures weren't recorded for unexplained reasons, and the slides were taken from UC Berkeley and never updated. Pratap has potential to be a great professor, but if he's gonna teach this class in the future he should just make his own slides, and he should push the TAs to at least answer student questions. |
Pratap Tokekar
CMSC421 Expecting a B Anonymous 11/10/2022 |
Professor Tokekar is a well-intentioned professor with a strong background in AI and the material within the course is interesting. He also does a good job at creating assignments and projects that are relevant to the concepts we were studying. He also answers questions well within lecture and breaks down the topics for exams and best ways to approach projects/assignments. The TAs also do a good job at answering questions during online & in-person office hours. However, there are a few things that I think Prof Tokekar could improve upon when it comes to this course: 1) Posting the lecture slides in a more timely manner because sometimes, it takes more than 1 day for the most recent lecture slides to be posted and students that missed lecture may have to wait to catch up 2) Responding to Piazza posts more quickly as it takes a while for students to get answer to those questions 3) Posting more practice problems & exams as although the assignments do a good job at covering the concepts and the lecture slides have good examples, more problems would help us master these concepts easier. Also, we only got 1 sample midterm and having at least 1 more would have helped. 4) Faster grading & regrading because it took almost 4 weeks for midterm results to be released onto ELMS and a few weeks for projects to be graded and is taking a while for grades to be transferred from Gradescope to ELMS Other than that, I would say the course was managed well by Professor Tokekar. |
William Regli
CMSC421 Anonymous 05/16/2022 |
Professor Regli is a very considerate professor as he has been both lenient with grades and deadlines. His projects can be a little challenging (and the first one was a little too open ended - but by fault of one of the TAs), but they are fair and teach you a lot more about the concepts in AI than just the slides alone. For his exams, while they are a little more on the challenging side, they have generous curves (as an 82% on one exam translated to an A). As far as workload goes, it should be pretty manageable since there are 3 programming assignments and then 3 (much smaller) homework assignments throughout the whole semester. He recommends that you read the textbook and do practice problems, but this is mostly supplementary imo (and probably not worth the extra effort). I disagree with the comment about him being disrespectful as he has always been eager to help and connect with me whenever I've reached out to him during/after class. My only complaints about Regli are that it can be a little hard to follow along with him during the lectures because he goes over a lot of content in small amount of time, without pausing to do practice problems or repeating the content, which makes it hard to retain the information. Overall, I'd recommend Regli as he does care about the content and you having practical takeaways from CMSC421. |
William Regli
CMSC421 Anonymous 04/06/2022 |
Regli started out seeming like an accomplished and interesting professor, but as the semester went on that facade faded. He is one of the most disrespectful professors I have ever had. The first programming assignment he gave us had 3 conflicting sets of instructions, took the longest of any cs project I've ever taken (for some people ~40+ hours), and was detrimentally open ended, which is something I normally appreciate. His exam questions are extremely vague and have no clear answer. You can know your stuff and still fail the exam because you have no idea what the questions are asking. Overall this has been the least organized and most condescending class I have ever taken. Regli sees himself as above the students and above the class. He has not dealt with the material in 30 year and when pressed on an answer will just try to make you look stupid. Take this class if you have to, it won't be the end of the world, but you will probably hate him and the class. |
James Reggia
CMSC421 Anonymous 12/30/2021 |
Dr. Reggia is an easygoing professor and cares about his class a lot. It's basically a survey class for a wide range of ML and AI techniques. I recommend this class if you don't know anything about AI/ML. Many of the topics are taught at the surface level, but to teach anything above that would require significantly higher math prereqs which would get in the way of the spirit of the course. If you already have extensive experience in ML this class is probably not for you. |
James Reggia
CMSC421 Expecting an A Anonymous 12/24/2021 |
CMSC421 with Reggia is an extremely disappointing class. The first month you spend learning search algorithms (yes, exactly the same ones you already did in CMSC132). Then you spend 1 month on propositional logic (yes, exactly the same stuff you already did in CMSC250). Next, you cover the same bayes rule you already did in STAT400, and the following month and a half is just a watered down version of CMSC422 (and yes, you learn the exact same ML models, absolutely nothing new). You spend the remaining 15% of the course learning niche, obsolete (in both industry and research) topics like programming in LISP and Prolog. Topics that would be an actual extension of anything you've previously learned, like say Reinforcement Learning, are barely touched upon beyond a single lecture. Beyond the class being wholly underwhelming, Dr. Reggia is actually an incredibly reasonable professor. We did not have a single lick of programming assigned in the class, had 3 homework assignments and 3 take home quizzes (graded on effort not correctness) which you could easily find answers to on the slides and the midterm and final were both identical to the homeworks, if not easier. The only thing to keep in mind is that there is a semester-long group project worth 30% of your grade that you must complete in groups of 6 that involves writing an academic paper on a topic in AI (not an essay, you actually have to do something new in the field). So if you're a senior looking for an easy, low-effort class take 421 with Reggia, but if you actually want to learn something I suggest you look elsewhere. |
James Reggia
CMSC421 Expecting an A Anonymous 12/23/2021 |
I took this class Spring 2021 (online semester). This class is definitely one of the lighter workload 400 levels, and Reggia has major grandpa vibes. It's not necessarily the most engaging course, but you do get to learn a few cool things. The exams were actually pretty difficult given the time contraint, but he has an extremely generous curve (I think a 60 on the midterm counted as an A). I wish he recorded the lectures, but overall Reggia was approachable and cared about the students. |
Marine Carpuat
CMSC421 Expecting an A Anonymous 12/21/2021 |
The course was well planned. All projects were all public tests so you knew your grade when you turned it in. Lectures at times were unengaging. Recorded all lectures so you didn't have to attend. |
James Reggia
CMSC421 Expecting a B Anonymous 12/18/2021 |
This class and this professor were alright. Kind of unremarkable. CMSC421 isn't as interesting as it sounds, and there's a solid month of the course where you're spending time on stuff that you wouldn't really associate with artificial intelligence. An annoying portion of this course was basically a repeat of information from CMSC250 and STAT400, and neither of those things were very interesting or really what I was thinking of when I took this course. The class does end strong, focusing on neural networks and machine learning and those kinds of interesting things. Reggia is just a very bland professor, I guess. His slides are a little bare bones, and he doesn't record lectures. So I felt that going to class was more or less necessary. I couldn't learn anything just by reading his slides. If you go to class, you'll get a lot more out of what Reggia is actually saying. His lectures didn't blow me away or anything, but he's solid. The exams and homeworks were kind of tough, but they weren't graded very harshly, so that's fine. There's a group project. That's no fun, but whatever. Anyways, I would recommend this class if you're looking for a lower workload class. If you're in the unfortunate position of taking three 400 levels in one semester, as I was this semester, this class isn't a bad choice because the workload is fairly minimal and not particularly challenging. But overall I wouldn't call it a super interesting class, and I don't feel like I got all that much out of it. |
James Reggia
CMSC421 Expecting an A Anonymous 12/16/2021 |
Although he's a nice guy, he's sort of a grandpa if you know what I mean. Doesn't record his lectures, which was annoying. To be fair the class is still easy with only the slides that he posts and a friend or two that does go to lecture (for when a concept is unclear). I would just knock out in class so I completely stopped going after the midterm and still did alright. I personally wouldn't take him again, but only because there are definitely better professors at UMD. |
Marine Carpuat
CMSC421 Expecting a B+ Anonymous 12/09/2021 |
Insanely generous professor. We had a dropped homework and PROJECT. Incredible! However, the lectures are unengaging and I found it faster and more effective just to review lecture slides. |
Marine Carpuat
CMSC421 Anonymous 09/21/2021 |
She's okay, some things are a little confusing and the projects so far are acceptable. Sometimes her accents make things a little hard to understand. However, the slides are nice and clear, you just have to download them before hand and take notes while she teaches. |
James Reggia
CMSC421 Expecting a B+ Anonymous 03/09/2021 |
Spring 21 - Online - Doesn't record his lectures, has really vague slides and the exams are fixed for a certain time which makes it really hard if you're not staying in the US. |
Dana Nau
CMSC421 Expecting a B- Anonymous 12/17/2019 |
Nice person, not so great class. This has been the most frustrating class I have taken in my undergrad here. The projects were poorly implemented and communicated, and the TA's did not really help much. It would often be the case that there would be dozens of piazza questions left unanswered on the day before an exam or a project. In addition, expectations on projects and how they would be graded was not communicated well at all. With no semblance of tests to evaluate your performance, you just had to write something and hope whatever arbitrary grading scheme worked in your favor, if not then oh well. For this reason many people ended up with very low scores in the class, despite putting in a lot of effort. I would be very careful in taking this class. If you are expecting a class with clear expectations on projects and transparency with grading, this is not it. Instead you will feel a lot of stress over unclear grading, lack of communication and poorly defined student expectations. |
Dana Nau
CMSC421 Expecting an A Anonymous 12/12/2019 |
Uninteresting and poorly communicated projects. Lecture covers the material well but is uninteresting. Exams are very easy and it is not hard to get a good grade in the course. Homeworks are easy as well. |
Dana Nau
CMSC421 Anonymous 12/05/2019 |
This class was terrible. Very unorganized, waited forever for grades and overall sad. I already took 422 and this class was more dry and uninteresting. Thought it would be cool since ya know, AI but it was very difficult to bring myself to class and care about doing the world. |
Donald Perlis
CMSC421 Expecting an A Anonymous 05/25/2019 |
I took this class in spring 2019 and learned a lot about AI. Perlis' lecture style was a bit hard to follow at first (slowly going through examples handwritten on the projector) but I always understood concepts by the end of class (more than I can say for other professors). Simple quizzes on Mondays to refresh on the material, two midterms were pretty standard (mix of short answer and multiple choice). We had 5 HW and 3 projects, all of which took me about average time to finish. I heard from classmates that they had trouble getting extra help in office hours, but I never had a problem. I liked how responsive Perlis was about posting notes/answers and responding on Piazza; I would recommend this class as a good mid-difficulty CS upper-level. |
Dana Nau
CMSC421 Expecting an A- Anonymous 12/11/2018 |
One of the nicest professors I've ever taken. Taught the material clearly and commonly gives extensions on assignments if enough students ask for it. Reads from slides with heavy information, but goes back through them and students are visibly confused or ask questions. |
Dana Nau
CMSC421 Expecting an A- Anonymous 12/11/2018 |
I was really concerned with this class reading the previous reviews. He's actually a pretty decent professor if you listen to him. I really kind of wish that they didn't go over as much First Order Logic in the course but other than that he really paid attention to student concerns, was lenient with deadlines and frequently added extensions. If you had a question in class he would stop everything and made sure you understood the material and would readily go over anything anyone asked to. The project was pretty fun actually and I've heard a few people talk about how it was nice to have a project that actually demonstrated AI and was something they could show to their non-CS friends. I would recommend taking this class with Dr. Nau! |
Joshua Brule
CMSC421 Expecting an A Anonymous 08/08/2018 |
Josh was a great professor, he's a grad student and still has that drive to inspire others. He was receptive to feedback and is very enthusiastic. The home works were manageable and the exams were more than fair. He had 3 straightforward projects and his reply time on piazza was omniscient. Honestly a great guy and an awesome professor. I am by no means an honor student, but even I managed to get an A. Meet with him in office hours if you need help he's really great at explaining the material. If you study the home work you'll definitely succeed on the exams. Definitely take him if you get the chance. |
Joshua Brule
CMSC421 Expecting an A Anonymous 08/08/2018 |
Bless papa Josh. I took Josh during the summer of 2018 and it was super chill. The project were very simple and straightforward. He is very communicative on piazza and in class as well. The homeworks were manageable (could complete them all in one day) He was also very communicative on piazza. (Questions had a very fast response time and he gives straight answers, none of that "go read the text book on page ___." stuff. Overall, i would definitely recommend him. |
Joshua Brule
CMSC421 Expecting a B Anonymous 07/20/2018 |
At the time, Josh was a PhD student teaching this class during a Summer semester. He was pretty chill (as was this class) when it came to the material, grading and the exams. We had one midterm which was significantly easier than the homeworks (which already are not so bad) and a final exam which was a little harder but I never felt unprepared for any of it. I wouldn't say he is very effective when it comes to conveying the material. I still had gaps in my knowledge that only YouTube and other outside sources could fill. Overall, the class is easy. Josh makes it easy and from day one he told us "This is probably the easiest 400 level you will take here", and "I do not like failing anyone so I try my best not to do so". If you want to take a 400 level class during the summer, and Josh is teaching it again, consider this class. |
Dana Nau
CMSC421 Expecting a B Anonymous 12/19/2017 |
Pros: -Interesting and Challenging material Cons: -Professor makes mistakes during in class derivations, at one point becoming so flustered he ended class early. -Just reads from slides during lecture, students can do this just as easily on their own time and skip class -Grading was not prompt at all, project 2 of 3 was finally graded just a few days before final -Homework solutions are not posted, and homework is only returned if you go to TA office hours -Project 3 was based on TensorFlow, which the professor admitted "I don't know anything about and won't be able to help you. Just read and work through the tutorials" Summary: -Not easy, you'll have to study a lot, but the material is pretty interesting -Going to lectures isn't a good use of time -Projects are all group based and project 3 was absurdly difficult with no guidance |
Donald Perlis
CMSC421 Expecting an A Anonymous 03/30/2016 |
Perlis has a straight forward lecture style (notes available on course website). Unfortunately, his pace is extremely slow. What could be completed in 30min will take him an hour. This is partly because he is careful to explain all details, which does help with understanding. The homeworks are easy and very helpful for reviewing the material. We've only had one project so far (3/5 through the semester) and it took roughly 1 hour. Quizzes every week based solely on lecture material. Pretty easy if you pay attention in class. PLEASE NOTE: this is an INTRO class to AI. Most of the semester is spent building the fundamentals and not actually exploring AI techniques. It starts with blind searches, smart searches, propositional and first-order logic. These are not difficult topics, but they take up HALF the course. |
Hal Daume
CMSC421 Expecting an A Anonymous 05/15/2012 |
Hal is a good professor. He gives very interesting projects for AI based on the Pacman game. These are actually kind of fun to do. The HW is a little too easy I'd say, and doesn't necessarily clarify the concepts from class. But at least it doesn't take long. The exams are pretty fair and not too hard. Hal's lectures are a bit tough to follow and he isn't the best at explaining concepts, but he will go over good examples and try his best to explain if you are not understanding. Overall though, Hal is a really cool professor, and he cares about his students. |
Dana Nau
CMSC421 Expecting a B Anonymous 05/24/2010 |
I think Professor Nau is a nice person, but not the most effective/organized teacher. I took the class because I thought AI sounded cool, and it is but I don't think I was ready to put as much effort as I would have needed to get an A. Bottom Line: He's not bad, but don't take this class if you're just looking for an easy A. Be prepared to put in a decent amount of work. |
Dana Nau
CMSC421 ajoshi1 05/13/2010 |
Do not take a class with this professor. His class was very unorganised/unstructured. For the first project he had put it on the forum for about 2 weeks before even making any mention of it. He gave us about 1 month for that project, which was a simple "get familiar with the language" sort of a project and for the other 2, which were significantly harder he gave 2 weeks. His lectures were pretty boring, and he took forever to give back the homeworks. He tried to be helpful, but his teaching style/class structure just works against him. |