Mammen, Kurt  

Computer Science

2.98/4.00

247 evaluations


CSC 0


Senior
F
Required (Major)
Aug 2018
Kinda bad


Senior
A
Required (Major)
Aug 2018
Whatever


Senior
N/A
Elective
Aug 2018
No such course.


Senior
N/A
Required (Major)
Sep 2018
Hmmmm

CSC 100


Senior
F
Required (Major)
Jul 2018
Garbo


Senior
N/A
Required (Major)
Sep 2018
GIGO


Senior
N/A
Required (Major)
Sep 2018
Never taught by Mammen


Junior
N/A
Elective
Sep 2018
I don't think he teaches this class - is Polyratings broken?

CPE 101


Freshman
A
Required (Major)
Dec 2003
good teacher to have, cpe101 is a tough class though if you've never done programming before so be weary of that. this curve is something rediculous, and he wouldn't tell us what it was. i think ended up with a 85% to 90% before the curve, but who knows.. it's nice that you don't need to go to all the labs, you can program at home.


Freshman
A
Required (Major)
Jan 2004
I had the misfortune to take the class during the push to weed out people who didn


Freshman
A
Required (Major)
Jan 2004
Mammen is a kickass teacher, very easy to approach and always willing to help when he can. He doesn't care if you go to the programming lab, or even the lecture for that matter. Just get the labs and the projects done and you'll be in business. Make sure to start early so you don't find yourself rushing to get things done the night before the due date. If you work hard and you get help when you need it you can get an A in this class easily. The curve was incredible, I got a B and a C on the mid terms and I think I did terrible on the final, but somehow I got an A. Take Mammen...he is dominant.


Freshman
F
Required (Major)
Dec 2004
Mammen is a great guy and professor. He, like most professors, engages with the students that are having fun with programming. Unfortunately that leaves more than a third of the class wondering why we're talking about cpe 102 stuff. Go to office hours and read the book (Overpriced). At the end, you will know whether or not you want to spend the rest of your life and career looking at a blank screen. I want to hire them, not be them. Good Luck, CPE is not for everyone.


Freshman
B
Required (Major)
Jan 2005
Thus far, Mammen is by far the best professor out of any course i have taken at Cal Poly. Compared to my current programming instructor especially, Mammen was far superior. He covers just about all of the material that you need for the labs and programs in class, and if you have any questions then ask him, he is very willing and able to help you out. The best part is that he goes over the labs AND the programs so that you can understand it better. my current 102 teacher is not so kind, so take advantage of it. As for the midterms and final, I felt they were pretty fair. there are two written midterms, a lab midterm, a lab final, and the written Final. the written midterms do require you to understand theory and stuff, so read up, but the lab midterms are easy-jokes even if you have kept up at all in this class. Seriously, it took almost everybody in our class like 15 minutes to program the lab final. The written final will take a bit more though, so dont get lulled into a false sense of security by the lab tests and stuff. anyways, hes an awesome teacher, hes always willing to help, he has a deep interest in programming and his students ability to understand it, and he keeps the lectures moderately humorous and interesting. I also found him to be a fair grader (when people got wrongly graded down, he fixed it). The only reason i had a B in the class instead of an A was because i slacked off big time. if you can understand the material, you should be almost guaranteed a B in my opinion. Would definitely take again, and recommend to others.


Freshman
A
Required (Major)
Feb 2006
Mammen is a harsh grader, but he's also a great teacher and a truly excellent guy to boot. If you want to learn ComSci from a guy who knows his stuff and not just skate by with a high mark, I can't recommend him more highly. Unless you have prior programming experience, fair warning: his classes are going to be very difficult, but you'll be a far better programmer for enduring it. If his class is tough, it's not out of malice or any lack of understanding of his students--it's to ensure that you're tougher when you come out of it.


Freshman
B
Required (Major)
Jan 2007
Professor Mammen is, in a nutshell, an excellent, understanding professor who knows his computer stuff. He is great guy to be around both in class and lab, as well as during office hours. If the class is not coming to terms on a concept, then Mammen will explain it for you in great depth. Just make sure that you attempt a problem yourself first before asking him...he doesn't like having to explain something you could have already read in the book or in the instructions! I learned much in his class and I have him again for CPE 102. Even if you don't get Mammen, PLEASE don't get Professor Dalbey. You will grow to hate Dalbey anyways, since he wrote some of the labs you do in the course. Mammen is w00tness!


Freshman
B
Required (Major)
Feb 2007
If you want to learn how to program ridiculously well, take Mammen. If you want an easy A in programming, don't. Mammen loves heap diagrams, and he's not afraid to show it. I'm almost positive he's a stoner, but that just makes his solutions in class that more impressive. If you don't put in the effort, Mammen will rape you hardcore; but if you want to kick ass at programming, he will show you the way.


Freshman
A
Required (Major)
Nov 2007
Good teacher. HARD CLASS, but he tries and makes it easier. Homework is the same for all CPE 101 classes.


Freshman
B
Required (Major)
Dec 2007
Mammen is a good teacher... when he teaches. I came into this class having minor programming experience in several languages, and I enjoyed him as a teacher. I always went to his lectures because they were interesting to me. Applicable to the class... eh, not usually. But interesting, yes. Those poor souls who had not had prior programming experience, well, more on that later. When he did teach us something about the class, it was very well done, fairly well explained, and he seemed to care about what we were having problems with. That said, in lab it's hard to get help from a professor because they have to rotate among students, and you really need advice, make a change, advice, make a change, etc., so I ended up never going to lab (except when we had quizzes) and doing work from the comfort of my apartment, Google at my side. Now, on to a review of the class itself. They've told us that 50% of students fail either 101, 102 or 103. This, I believe, is the first year they've taught us C in 101, so that statistic would be for the entire first year being taught in Java (a language often used for beginning programming classes, unlike C). However, too many students were failing the first class in C 2nd year, so our department, in its great wisdom, decided to teach 101 in C. Hmm, they already fail 101 quite a bit, and they fail when first learning C after having prior experience, so let's combine them both together and fail everyone! Huh. C is not a language to begin with, especially when we have Materials Engineers in our class (because they were told it'd be good to take it, unfortunate ones). If you want to learn to program, learn a language that *makes sense* first, like Python, because the part that trips all beginners up is learning how to *think* like a programmer (look up "how to think like a computer scientist" on Google, it's a good start). Please, save yourself and learn just a tiny bit of something (even javascript) before taking the class, because it will help a lot. Oh man, I've worn out all my rant energy over the course of the quarter. This could've been a whole lot longer...


Freshman
B
Required (Major)
Jan 2008
overall mammen is a good teacher. he seemed to present the material well and took the time to explain it IF YOU ASK! when students asked they got answers but i know alot of people that couldnt understand the material and didnt ask him. one important thing about mammen is his harsh grading. he is really nit-picky and i probably should have got a A. the majority of people in my class that i knew got very low grades and he had to curve because of it. overall he teaches well but grades hard.


Freshman
F
Required (Major)
Jan 2008
I would not reccomend Mammen at ALL. He simply went on about mostly pointless **** and did not convey any message clearly. If you have prior programming experience before this class, you are probably in okay shape. If you don't, you will probably suffer. Office Hours weren't much help either, I went in to ask a question and he would give me this run around about how I should have learned this a week ago and didn't help me at all.


Freshman
C
Required (Major)
Feb 2008
Mammen is a hard teacher and he tends to get strict with you if you ask stupid questions as he really hates repeating himself. But overall he's a funny guy but an extremely hard grader.


Freshman
B
Required (Major)
Jan 2010
Ok, so there are obviously a lot of bad ratings here, and I have to admit, while I was struggling through the class, I did hate him quite a bit. Then I started to realize that I was somehow learning the material really well. Through his sometimes unreasonable and harsh programs assigned to us, I actually became pretty comfortable with the C language, even though I had never learned programming before. I did end up getting a 0 on one program, but I worked through that, and ended up with a B+ in the class. A lot of people failed though, so be prepared for some hard work. Once you start getting it though, you GET it. It makes sense, and it becomes a lot easier.


Freshman
A
Required (Major)
Feb 2010
Mammen\'s class was hard. I found myself being confused in lecture at times and could not do the programs without reading on my own for clarification. However, he is helpful if you go to office hours and learn how to ask the right questions. For example, you have to present to him what you have attempted to do, and how you have tried on your own to fix your problem (show him you\'re trying to debug) and then he will be helpful. He isn\'t going to tell you the answers, but he will try to lead you to find it on your own. I found tests to be very much in line with what we were learning in class and doing in our programs and did well on them. If you study and work hard, you can do well, even if you have never programmed before. I was overwhelmed by the difficulty of the course as my first programming class of my entire life, but now that I\'m in 102 it was well worth it. If you\'re looking to be forced to learn the material front and back as well as be prepared for future courses take Mammen. If you aren\'t willing to dedicate the time needed for his class, you will most likely fail.


Sophomore
B
Required (Major)
May 2010
great guy, but only if you know what you\'re doing to begin with. if you ask a stupid question, he WILL let you know. i knew the material beforehand, so i didn\'t have much of a problem, ad he was actually quite helpful when i asked him about some stuff that was not covered in the course. i can tell he wishes he taught an upper division class, he is not patient with people that haven\'t read the material. overall he is great, but he won\'t hold your hand through the process.


Sophomore
N/A
Required (Major)
May 2010
fucking ASSHOLE who knows how many times this fucker made me cry. FUCK HIM


Freshman
N/A
Required (Support)
Aug 2010
Mr. Mammen is an excellent teacher. i have no idea why he gets so much hate. maybe he had a spiritual reincarnation when i took him, but he\'s a great personality that can properly teach the class and address students needs. he\'s very nice!


Sophomore
N/A
Required (Support)
Nov 2011
Kid is garbage. He thinks he has been really doing well with teaching, but often moves too quickly though some of the later material he teaches, which I've been told from school provided tutoring hours isn't usually taught in an intro course. He is hard to get a hold of in office hours, and has been known to spend the entire hour and a half with one student, which works well if you are that one student, but not so much if you are part of the 6 or 8 kids waiting in his office courtyard. He sometimes extends lecture into the lab portion of the course, which is not helpful if you are looking for assistance during the lab hour. Also, I don't remember when he gave a lecture that didn't include at least a handful of poorly worded and unrelated metaphor. He uses the word "pedestrian" a lot. He often makes this girl who isn't doing well in the class cry. Not a good intro teacher, anyways.


Junior
B
Required (Support)
Dec 2011
This class is really easy if you have some programming experience. But if you don't this class can be really tough. He doesn't really explain the basic principles, he just expects that you already know them. Tends to spend a lot of time helping a single student but is helpful if you ever need it.


Sophomore
C
Required (Support)
Mar 2012
Though he's really knowledgeable in the material, if you have no previous programming experience, well good luck. He's extremely harsh to students who either never understood some previous material, had a hard time understanding it, or to those who just don't know it(this one is reasonable). He's more geared towards higher level programmers which was more than half my class. His explanations on the board were okay for awhile but when things started to get harder, it had little relevance/helpfulness to what we were doing. I remember a few classmates had a hard time or didn't fully understand some topics. When they asked for help, he got so frustrated, sighing heavily out loud many times, facial expressions like he was holding in the desire to back hand the guy, and pretty much humiliated the guy in front of the class, making him look like an idiot. He's really strict on grading and due dates. Maybe it was just me, but from what I heard before too, if you're taking a 101 or some other programming language with no prior experience, I would suggest looking for someone else.


Freshman
B
Required (Major)
Mar 2012
A good teacher but such and asshole when it comes to grading programs. You can check all you want, have perfect logic but miss a space somewhere and get severely marked down because it didn't match his to the letter.


Freshman
B
Required (Major)
Mar 2012
After a lot of thinking, I think I can express my rating for this teacher in an explanatory and unbiased manor. Mr. Mammen can be a somewhat intimidating professor at first, but he really does want you to succeed. His goal is to help make you an independent worker and to help you use your time effectively. I think his more intimidating side comes from the fact that he gets annoyed when you ask questions that are answered on the handouts that he took the time to make (I'm speaking from experience). Sure, there are other programming teachers that would make you work less, and you would probably get a better grade in their classes as well, but I greatly prefer Mr. Mammen because even though you have to work your ass off, you learn A TON of material. After consulting with other students in his class, they all came to the same conclusion (which is why they were also eager to join his 102 class). He is a really good teacher. Conclusion: If your goal is to learn, take this teacher. If your goal is to get a shiny "A" grade (which is still plausible in Mammen's class), take an easier teacher. Also note: His class was probably easier than I'm making it out to be, I personally just had a hard time because I have ADHD. What is so misleading about this teacher is that a lot of people think "he is an asshole" and those people are the ones to post reviews. The thing is, he is NOT an asshole. He just wants you to work for your grade. Sorry this is so wordy!


Freshman
C
Required (Major)
Apr 2013
He is an asshole at office hours...


Freshman
Withdrawn
Required (Major)
Apr 2013
Bottom line: DO NOT take Mammen if you are new to programming. He skips all the basics and assumes that students have a decent background in the programming language. I cannot speak for those who already know how to program, but for those who don't, avoid him at all costs.


Freshman
N/A
Required (Major)
Mar 2014
Professor asshole...he really is an asshole as a person, but he makes you learn the material as much on your own as possible. Office hours he helps you with concepts and ideas more than specific problems. He is not afraid to embarrass you during lab or in class. The class is hard especially for people who have never programmed but you will learn a lot if you really try and learn the concepts.


Freshman
N/A
Required (Major)
Mar 2014
The only people who truly think Mammen is an "asshole" are those who don't do anything on their own to try to understand the material. They expect their teacher to feed them all the information they need every step of the way. Sorry, this isn't high school anymore. You don't know how to use scanf? Google it. It isn't Mammen's job to be your reference book and help you with every little thing in your labs and programs. Cal Poly's motto is "learn by doing," not "learn by having your teachers be your crutch." Mammen is a great professor, very good at explaining concepts, and will be the most honest person on the planet if you ever talk to him or ask him a question. Sometimes the truth hurts if you're the kind of idiot who doesn't do reading or look at reference material to answer your own stupid questions. I can't imagine how bad of a time these kinds of students are going to have when they have to do EVERYTHING on their own such as in a class like 357.


Freshman
A
Required (Major)
Mar 2014
If you're a CPE, CSC, or SE and you hate Mammen, you should probably switch to a different major.

CSC 101


Junior
A
Required (Major)
Dec 2003
CSC 101 is the weed out class. It is all about mind game. They want to test whether you are really committed to this major. If you can do this class, they think you will make it. It is harder than I thought. Mr. Mammen is a very good teacher. He is willing to talk to you about the subject. I really recommend to take his class. Of course you have to do your work to pass the class. Nothing is easy if you don't study. Instructor is there for guide you. Enough for the lecture. Finish all the lab assignment on time. you will do fine in this class. This is all I have to say. About the instructor there is nothing I have to say. Keep in mind that noone is perfect.


Sophomore
A
Required (Major)
Jan 2004
This was the first 101 class after they revised the class, so it was very disorganized. Despite this, Mammen did his best to explain the material and he did a pretty good job. The class might have better explained concepts, but I think they wanted us do to all the work so they could test our ability to stay in a CSC/CPE program. Mammen is a nice guy and will take the extra time to help you if you need it. If you take this class, get all your labs in on time and buy another book besides Big Java. I got an A due to the curve and being in the top 1/3rd before the final. Hope you get as nice a curve when you know you got a C at best on the final.


Senior
A
Required (Support)
Jan 2004
Mammen is a great professor. His personality, young attitude, and sense of humor make class enjoyable to come to. During lecture he is very easy to open up and ask questions to and makes sure you understand before he moves on. There is no homework in the class just labs and the final. When he helps you in office hours its usually to help with your labs and he is great with that. He doesn't tell you how to fix your bugs but puts you on the right path so you have to think a while and grind out the corrections.


Freshman
A
Required (Support)
Oct 2004
A word to freshmen: IF YOU'RE NOT CSC, CPE, OR SE, TAKE 101 IN THE SPRING OR WINTER (IF YOU CAN TAKE SOMETHING ELSE) That said, Mammen is one of the CSC department's best. Get him if you can.


Freshman
A
Required (Major)
Apr 2005
I guess I'm the stupid freshman that has a problem with the last post's evaluation, so I'll just go !@#$ myself. I know I didn't take CSC235 with Mammen because I'm only a freshman, but his 101 class went by VERY smoothly, and he's a VERY NICE GUY and teaches EXTREMELY WELL. I wish O'Gorman would listen to this guy. I would have never have had to have repeated CSC101 if I would have just taken Mammen in the first place. Awesome guy! Highly recommended! Idiotic seniors that will never make it in this world should go !@#$ themselves.


Sophomore
A
Required (Major)
Jun 2005
Hey, give the guy a break for 235 already. It was the first time it was ever offered, let alone ever taught by Mammen. As a CSC major, I want to assure all the non-majors that this stuff IS hard, and that you shouldn't feel angry if you find it so. It's just the nature of the thing. I had Mammen for 101 and 102, and he was an exceptional teacher, but he had been teaching those for years. Give him a year or two with the 235 stuff and he might just surprise you. He's always open for feedback, too--if you've got a problem, you just need to tell him.


Sophomore
A
Required (Major)
Nov 2005
This guy is god-like. All assignments were graded reasonably and the material is presented clearly. He is very helpful during office hours and wants to do everything he can to get you to pass his class. If you cant succeed with this guy in 101 it's your own fault.


Sophomore
B
Required (Major)
Nov 2005
Wow this guy knows his stuff. Most of all, he acts real and actually interacts with the class to get to know students and make sure they all know the material. Presents things really clearly and responds quick to emails. Fair quizes and tests. Great guy overall. Definitely recommended.


Freshman
C
Required (Major)
Dec 2005
This guy is alrite. couple problems wit him and thats it. we had a guy that had previous programming expierence in the class and the kid would always ask why we didnt do somethin using a more advanced technique and mammen would go on fo ten mins talkin bout somethin no one understands. and my other problem was that i had a class during his office hours, i asked him when i could come in besides that. i went when he told me and he made a suggestion and told me he was busy. that was it. hes a nice guy and a good teacher, take him and hope to god that there are no guys wit previous expierence in the class.


Freshman
C
Required (Major)
Dec 2005
The lectures were barely helpful, with most of the time spent answering advanced questions from one student who didn't belong there. The parts of the class the struggling students needed help with weren't covered very much. Often the projects/labs took more than we learned in class, although to be honest I'm sure almost nobody started working hard until a few days before they were due. Mammen didn't seem very approachable when I had a problem, partly because his time was being taken up by the advanced student's questions, and partly because he made a LOT of mistakes and often didn't seem to know what he was talking about. I'm sure he did, but I didn't have that much confidence in him.


Freshman
A
Required (Support)
Feb 2006
Kurt Mammen is a decent teacher. I had this professor my Fall quarter and it seemed that his knowledge of C was lacking, even though he knows the concepts behind programming in general. He tried his hardest to help everyone, but when people asked for help most of the time he wasn't able to. Occasionally, if someone asked, he would look up the info and talk about it the next class day, but basically he relied more on the book teaching the class then teaching it himself. The structure of the course is basically a test a week: alternating between a lab test and a lecture test. The tests are always on the material assigned by the calendar and he will usually give a hint as to whats on it. Every few weeks there is a larger test that is taken in the lecture room. It mostly involves writing code samples by hand. Warning, this is a programming class and he grades very harshly on syntatical errors on his written tests so dont forget your semi-colons!


Freshman
N/A
Required (Major)
Nov 2006
Even though I already knew the stuff, I noticed he explained everything well to all the other students, and made sure to answer everyone's questions.


Freshman
N/A
Required (Major)
Nov 2006
I would say as a professor, Mammen is mediocre at best. He does an OK job explaining the basics in class, but doesn't go into too much detail with the actual code and syntax. The workload is not too extensive, but if you do not already have decent experience with programming, get ready to get help from your classmates or tutors as Mammen's office hours are extremely limited and nearly unaccessible. If you are however one of the "lucky" ones to find him during office hours for help, be prepared(especially if you are asking about programs or returned tests!) Mammen loves to accuse people of cheating on tests and programs and threatens to(and very actively does, as he told me)fail students under even the suspicion of cheating. Here's a heads up to those starting computer science : unless you feel VERY confident that you can do your own programming without ANY help from classmates, take someone else.


Freshman
A
Required (Major)
Feb 2007
His class made my first quarter a blast. His lectures do not bore you at all. He makes his lectures memorable and he relates to us very well. He is a smart ass and a definite nerd. If a professor does a horrible job setting up a program aka clements, he will clear it up for you. His grading may seem tough but it makes you stronger in the end. He curves at the end so if you bomb the midterm.


Freshman
C
Required (Major)
Jan 2008
Mammen, where to start. He is a cool guy and often makes class interesting by going of into tangents, but he rarely touches core material needed for projects that another teacher wrote. He often talks about "how to drop the class" at the right times and take it next quarter. He does not actually grade the assigments (programs),but instead he has a T.A. that "diffs" your program, which means he runs the program and has terminal check for faults. In the moon lander program their could be well over 300 lines of output, if one line is off then you will receive a 60/100. Also check your ide that it does not auto indent 5 spaces each line or you will recieve an additional ten points off your assignment. At least the other teachers grade the lab quizes and projects by the code you write. In mammen, if anything does not compile then you will recieve a "0". In my class 83 out of i believe 112 failed the second lab quiz because of the compile issue. Good Luck! He often teaches more in the lab section, but it is truely scarry to ask him questions because he will find some syntax fault and yell at you at it instead of answering a question you desperately need help with. Unless you have good logic based programming under belt you will need to resort to paired parntering for your projects. The pass rate for fall 2007 was over 60 percent for a c-, and it was only the common final that saved me and many other students because mamman did not write that particular test. Expect to program at a min of 10 - 20 hours a week between the programs and labs. Then expect your hard earned work get a 30 to 60 out of a hundred. Good Luck!


Freshman
A
Required (Major)
Apr 2008
Very funny, yet teaches the material well. He will jump on your case faster than a speeding bullet if you fuck up, but only if it's your fault. Basically, he loves it if you are a good student. So, in order to succeed in his class, just go to class every day, do the labs, do the programs, and you are guaranteed at least a B. If you study for the midterms/final as well, you should get an A. Take this professor.


Sophomore
N/A
Required (Support)
Jun 2010
Kurt Mammen is not a fucking asshole. -Katie Gauthier


Freshman
N/A
Required (Major)
Mar 2012
He looks like Stanley Tucci. He's quite entertaining. He ALWAYS has "Hello_Kitty.png" on the desktop of his computer which is awesome.


Freshman
A
Required (Major)
Mar 2012
Comes across as a bit of an asshole. But he really knows his stuff and he is willing to help students who don't understand the material, although sometimes he spends a disproportionate amount of time with one or two students. My only issue with Mammen was that he thinks some students shouldn't be CS/CPE majors and he thinks that it is his duty to weed them out in his 101 course. Regardless of how accurate this is in relation to the purpose of the class, it means that the first few weeks are definitely rough. But again, overall a great teacher given the above caveats.


Freshman
B
Required (Major)
Jun 2012
Many people say Mammen is an asshole. Depends how sensitive you are. He expects you to know the material and to put time into it. If you aren't willing to, don't take Mammen. This isn't an easy 'A', but it would be difficult to fail. No matter what, you will learn the material. Take Mammen if you want to learn how to code.


Freshman
A
Required (Major)
Apr 2013
Mammen is definitely one spicy asshole, but he's the best goddamn spicy asshole in the entire known AND unknown universe. He delivers C programming knowledge more forcefully than a Chuck Norris roundhouse kick to your face. Don't fuck with this guy. Oh, and I encourage you to ask him dumb questions in class. It's rumored that his verbal whippings create both pain AND pleasure...


Freshman
A
Required (Major)
Mar 2014
First off, his teaching style is not for the weak minded. If your question is something stupid, he won't beat around the bush and will straight up tell you it is. That happened to me a couple times before I wised up and stopped asking questions that could be answered with a simple google search. Don't take it personally, take it as a sign to start thinking and not expecting the answers to be easily found. However, if you are truly stuck and tried everything, he will really help you. The material for 101 is made by another professor (Keen) and so mammen isn't super knowledgeable about the exact course material (and on one occasion told us the wrong thing), but when I got stuck he really helped me. The programs are actually pretty difficult, so make sure you don't procrastinate. They aren't impossible (I got an A with zero coding experience prior) but don't underestimate them! And lastly the first two midterms were easy, and the final was pretty frigging long and hard because Mammen only writes the first two midterms.


Freshman
A
Required (Major)
Feb 2015
You'll learn a lot from this class. Mammen is a really good professor who will teach you everything you need to know, but be expected to be morally broken when you ask him questions.


Senior
F
General Ed
Aug 2018
Kinda bad, doesn't help


Senior
A
Required (Major)
Sep 2018
Someone appears to be trolling


Senior
N/A
General Ed
Sep 2018
I though he was really good


Senior
B
Required (Major)
Sep 2018
Hmmm

CPE 102


Freshman
N/A
Required (Major)
Nov 2002
Mammen. A good lecturer. Knows what he's talking about. Good at answering questions. It all ends there tho. A God-awful grader. For ex., in the first project, I got most of the output working but forgot to write in comments in the appropriate format, resulting in an F for the project. You have 3 Quizzes worth 7% each, 6 Projects worth 4% each that take 12-25 hours, 1 midterm worth 20%, and a final worth 40%. Don't procrastinate on these projects. Unless you're prepared to do things exactly as he tells you, don't expect good results from this picky grader. For all of you who get stuck with him, my sympathy doesn't go out to u, it goes out to me. Good luck, you'll need it.


Freshman
N/A
Required (Major)
Nov 2002
I'm taking this class right now so it seems kinda premature to be evaluating this prof, but I think I should probably give a heads up to everyone registering for him next quarter. First of all, he's not a bad lecturer, and he's very helpful during office hours. At first glance he seems like a real easy going guy. However, his seeming good nature is a bit deceptive. The course material isn't very hard if you have a solid programming background, but DON'T turn in a program that's mostly right because you're sick of working on it and are willing to get a B. You will fail, period. No make-ups, no redos if you don't get everything working perfectly and written the way he wants it the first time, you fail a project. That aside, the projects themselves aren't very difficult, and I thought the quizzes were a piece of cake. Just make sure your projects are ABSOLUTELY PERFECT and you should be fine...


Senior
N/A
Required (Support)
Nov 2002
Currently taking the course. Mammen knows his material and is willing to explain abstract concepts. This is Mammen's first quarter teaching after working in industry, and it shows. He expects you to turn in projects that are industry quality; documented, organized, following coding style, and with correctly submitted hardcopy/output. If you want to learn how to solve problems in an organized fashion and can present your solution clearly, this is your guy. The quizzes and midterms are simple if you spend enough time to understand the labs and projects. Go to office hours!


Freshman
A
Required (Major)
Jan 2003
I definitely have mixed feelings about this guy. On the one hand his grading policy can be a bit ruthless on projects. However, projects are only 20% of your grade and after failing the first one (which is only 2% of your total grade), I think most people got the hang of what he expected. The midterm was a total breeze, and the final though a bit more difficult was definitely doable if you looked over Liu's sample midterms a few times. In the end, I think most people got the grade in the class they were aiming for. And despite fear for your life (or in this case your grade), he's really a good guy. Not only does he know his stuff, but after he presents the material in the lecturers, he answers questions until everyone understands it. I also went to his office hours twice and he was totally able to clear up any questions I had. Most importantly though, once you pass the class, you will definitely know how to code.


Freshman
A
Required (Major)
Apr 2003
Kurt Mammen is a great guy. He knows his stuff and is great in lecture. His grading is tough, but its easy to get full credit on most assignments. I never had to goto office hours, but I heard he was pretty helpful in there too. Overall, I think he's one of the best teachers for the CPE 101/102/103 series and I wish he was teaching 103. Take him if you can.


Freshman
A
Required (Major)
Apr 2003
Kurt Mammen is a really good teacher. He knows his material and prepares you well for 103. The projects take time, but are not that difficult; however, make sure you followed his spec exactly or you will be losing many points. The good thing is that this isn't as hard as it seems. Watch out for the lab quizes. If you understand the material and go to labs they shouldn't be very hard, but if you aren't prepared you will probably do poorly on lab quizes. The lecture quizes and midterms were fair and almost completely straight from his lectures. If you go to class and listen you will do fine. Kurt Mammen knows the material and I suggest you take him if you can.


Freshman
A
Required (Major)
Jun 2003
Mammen's a great guy! He's really willing to help you in office hours and during lab. I even had a time conflict and had to leave lab 15 minutes early every day, and he was cool with it. He doesn't grade the labs (which I thought was good) but you have to make sure you do them anyway or else the lab quizzes will kill you. He alternates weeks - one week lecture quiz, one week lab, etc etc. Overall it's a good system, although I know many people had a hard time with the lab quizzes due to the time constraint. The grading on the projects is the only thing I'd criticize - he basically gives you all or nothing, which sucks. Make SURE your program works COMPLETELY with his drivers or else be prepared to get no better than a B or B-. Also, the projects tended to build on themselves so each new project was just a new addition...it got REALLY old REALLY fast...but, I think all the 102 Profs do that...I'd recommend taking him for sure. He's also got a good sense of humor, which is good especially if you want to stay awake in class ;)


Freshman
A
Required (Major)
Mar 2004
Labs (not graded): easy Projects: medium difficulty Lab Quizes: easy! Lecture midterms: medium difficulty final: difficult Doctor Mammen enjoys what he does - that is, making the class laugh. He's very laid-back and straightforward in his teachings. The labs are there to help you learn the material that will be thoroughly covered in the projects. The projects in the beginning are easy, but they get harder as you go along, especially the last project. If you do some of the labs they will help you a lot for the projects. The midterms were generally easy but had some difficult, specific questions. The lab quizes are open-everything and the final was comprehensive (this is the only thing you'll really have to study for). The class was fun and not as hard as CPE 101.


Junior
N/A
Required (Support)
May 2004
I am taking Dr. Mammen's course currently. He is a tough grader on the lab quizzes, but he is very fair and more than willing to help students understand java programming. I highly reccomend him as a teacher ESPECIALLY FOR NON CPE/CSC STUDENTS!!!


Freshman
A
Required (Major)
Jan 2005
Great professor. Very helpful during labs. Has excellent teaching abilities. Take him if you love programming.


Freshman
A
Required (Major)
Feb 2005
This guy is simply incredible. Extremely clear and to-the-point during lecture, and if you didn't get something he's one of the most approachable people I've met. The workload is anywhere between 4-10 hours a week on the programs, depending on how well you get the stuff, but that is far less than most of my other classes. The labs are optional, and the midterms are extremely easy if you understand concepts. Take him for any class you can.


Freshman
B
Required (Major)
Mar 2005
I would like to say that any non-major taking a CPE/CSC course and writing bad things about Mammen is an ass who doesn't know what he's talking about. The reason it's difficult is not the professor but because he/she has no passion in this area and therefore everything in this field will automattically be greatly diffuicult to learn quickly and efficiently, which is what a quarter system demands. To any and all students that are in this major, Mammen is the single best professor in my opinion. Granted he's also the only CPE/programming teacher I've had, I've heard about all the others and seen a few of them and I believe I can safely say that Mammen has a great style of teaching the material that is not boring (well, not always boring), and really gets the point across to the students. The labs are, when he has a choice over them, not required but anything done in a lab can almost always help you to do the programs, which are like weekly projects. The programs are the only programs he grades, and he gives about one to two weeks to finish them, which at an hour or two a night shouldn't be very hard. Even at worst it may only take three hours a night, but unless you're having a lot of problems or don't type fast then you shouldn't be having to spend more than 5-15 hours on one program (that's anywhere from less than an hour, to just over two hours a day). His lecture quizzes are right from stuff in the lecture, with minimal stuff from the pre-assigned reading (if during class he tells you to read something, then that's when you know it's more likely to be on a quiz). So as long as you show up and take some notes, if you're a note-taking person, then you should do fine. As for the lab quizzes, it's just basic, small-class programming that makes you show that you have at least a good foundation for the basic concepts of the subject. For example, The Logger class and StackTrace method. We had to write a very small program that had us do some printing with the Logger class and print out the stack trace every now and again. It rarely takes up the entire hour unless you're not a super-fast typer or oyu like to do really good testing. So in all, Mammen is a great guy who puts out fair tests and quizzes and has a great personallity and is always willing to help his students. Oh, actually, there is one last thing. I've heard O'Gormann (I think that's correctly spelled) is a HORRIBLE teacher, and from what Ive seen of his homework assignments, labs, etc, aI can definitely say that I was even more happy with the fact I was able to get Mammen for both CPE101 and CPE102. The only shame is that I can't have him for CPE103 next quarter, what a bummer =( .


Freshman
A
Required (Major)
Mar 2005
Mammen is easily the best teacher in the entire CPE/CSC department. I have only had two but I've interacted with a few and Mammen is not just good at teaching, he is good at gauging the students understanding and needs and judges everything well. He grades fairly and is willing to reason with you if you have arguments about a grade. Most of the people that say he is a bad teacher either don't attend the lecture or are not taking this as a major course and are not used to programming. If you are in CPE/CSC/SE, take Mammen if you can. He is a great teacher and the work shouldn't be too bad. If your not in one of those majors and are just taking one of these courses for an elective, I would give you the same adivce but just be prepared for a lot of confusing work. If you ask him, he will help you but don't assume that this is supposed to be easy. Everybody has trouble in courses meant for another major and this is one of them. He is a great teacher, just don't underestimate the class difficulty and you will be fine.


Sophomore
B
Required (Major)
Aug 2005
I took Mammen for both CPE 101 and 102. He is an excellent teacher and knows the subject very well. He often goes off on tangents but they do not take away from the class, very humorous. The grade is based on 2 midterms, a final and several projects throughout the quarter, labs are mostly to help you on the projects and are only graded based on attendance.


Sophomore
N/A
Required (Major)
Jun 2006
I am retaking CPE 102. The course was seriously jacked up in Winter 2006--totally unorganized, with a passing curve set at ~54% because of the high failure rate and many open seats in CPE 103. But with Mammen handling it alone this quarter, many of the programs and labs were easier to understand and make sense of. I agree with the previous students' evaluations for his Fall 2005 CPE 101 cours -- too much of his lecture time was wasted on answering advanced students' questions on topics we didn't understand. If students didn't speak up in my class, some programs wouldn't have been extended for their lack of comprehension. He can be stubborn sometimes and push us to work very hard, but it really is for our own good.


Freshman
N/A
Required (Major)
Mar 2007
Mammen was alright in lectures but his policies on projects make them extremely difficult to complete. This quarter you weren't allowed to turn in a project each week unless it passed his test driver 100%. Each day late you turn it in takes 10% off your grade. This was the dumbest teaching style i've ever seen in my life. Don't bother asking him questions either he likes cussing students out in the middle of class.


Freshman
A
Required (Major)
May 2007
Everyone should take Mammen if possible! Yes, he's hard. But now that I'm in 103 I am so glad I had the background! It makes it way easier, and I feel very confident in the material. I am sure our class did much better as a whole than the other classes on the common final. There are a lot of big programs, but if you put the effort in you will be rewarded in the future. Fantastic professor!


Freshman
N/A
Required (Major)
Mar 2008
I came into this class thinking professor Mammen was a nice guy. However, his grading system is totally automated and based on perfection. There is no partial credit awarded unless your code is perfect. I learned this the hard way. He grades fair on the midterm and the lecture quizzes, though. As a professor, he is very hard to approach. When a student asks him a question in lab, he acts like it insults him as a person. He is also a little on paranoid about cheating(just a heads up). I would not recommend him as a professor, but he is a nice guy in general.


Freshman
N/A
Required (Major)
May 2008
I took this teacher for 101, and failed it. I decided to give him a second chance and take him with 102, and sure enough, he did not change one fucking bit. He doesn't give partial credit. Your shit has to flow flawlessly or else you get a big fucking 0. I tried going to his office hours and sure enough he isn't there. There was a note saying that you could go to the labs during his lab times to get additional help, but of course his lazy ass won't be there. Shit teacher. Don't take this fuck.


Freshman
N/A
Required (Major)
Jun 2008
I was warned of Mammen by friends and ended up with him for 102, yet I greatly enjoyed having him as a professor. Mammen teaches material that exceeds what most 102 teachers will expect you to know, but teaches it very well. The only problem I had with him was the tangents he goes on; the frequency depends on if you have "lolinternets" kids in the class, which I did. Lecture is VERY important to learning. He grades programs with a test driver, and gives all or nothing credit. Others make this sound harsh, but he gives you multiple days to turn it in AND provides you with the actual test driver(you can find out why and where your code fails). It isn't the hard, and on top of that Programs are worth only 10% of your overall grade. He probably could have taught debugging a little more, but it isn't that hard to learn independently in my opinion. In the real world, are you going to get paid for partially working program? No. He also does not collect labs, but it is always a good idea to do them for practice, as lecture and lab quizzes are directly related to the topics covered in programs and labs. Book is not required for the class, I read maybe 10 pages. Bottom Line: If you are a CSC major or enjoy programming, take Mammen. You will learn a lot and be prepared well for future CSC classes. If not, and/or you are a student looking to do as little work as possible(as most negative responses here are from Freshman), then I'd probably take an easier teacher. It all depends on how much you want to learn. I personally will try to take him again as many times as I can.


Freshman
A
Required (Major)
Aug 2008
Mammen is a really cool guy, and he tries and usually succeeds in making you enjoy going to class while at the same time learning information. Only sometimes it seems like 75-90% of the class time is him going off on tangents(that are very interesting) but however help you in NO way to helping you complete the labs and programs on time. He knows this and expects you to ask your questions in lab time and in his office hours(SO you better do just that if you want to pass). However, don't expect to hear a nice reply to your question...yes you will get your answer eventually most of the time, but the answer he gives you won't be a nice one(though for having him for 3 quarters now he has improved on his niceness :) Best advice, show up for all classes, don't be afraid to ask questions all the time, go to tutoring during the week for extra help, and start EARLY on your programs


Freshman
C
Required (Major)
Apr 2009
Overall, Mammen is a very good CPE 102 instructor. I really learned a lot. He is very well organized and his lectures are pretty straight forward. He's a pretty nice guy in lecture, but for whatever reason in lab he can be a real dick sometimes. He's nice and helpful to some people (usually the ones who need a little extra help) but to others, like myself, you ask him a question and he can be condescending and just a plain a**hole. As you should expect this class has a big workload. 7 programs, 2 graded labs, 4 lab quizzes, 1 lecture midterm and a final. Programs are usually assigned each Monday and due next week Tuesday at 9 pm. Your programs must compile and run 100% with his test driver (that he releases the Tuesday it's due) or you get no credit. His late policy for programs is pretty nice. A day late is 90%, 2 days late is 80%, etc. Some of these programs (which he specifies) must be turned in by the end of the quarter (even if you get no credit) just to pass the class. There are 6 labs in total, although only 2 of them are graded for credit. I recommend doing all the labs because they can help you with the programs. There is no late policy for graded labs. The lecture midterm, I thought was actually pretty easy. The Lab Quizzes really aren't that bad either, and unlike in CPE 101, they don't have to be absolutely perfect. And just a little note of warning. Be extremely careful on how much you collaborate with your friends and classmates in this class. You can collaborate on the labs, but the programs are completely individual. Mammen will absolutely look to f**k you over. Trust me, he will catch you. The A.I. software they use is pretty frickin incredible. So much as even talk to someone when you are working on a program in class or look at someone else's computer screen and he will threaten to fail you out of his class. Be careful and be smart.


Sophomore
A
Required (Support)
Apr 2009
I went into this class with the knowledge of all the posts below and was surprised. Though he was too harsh sometimes, too laid back other times, and assigned way more work than 101, I liked him. He was willing to help as long as you didn't just asked for the answer and though we always had at least one program an one lab at any given moment it wasn't too much (I was holding upper division math classes at the same time). And all this is coming from a math major, so all the csc majors just need to get over the workload


Sophomore
N/A
Required (Support)
Jun 2009
Let me just say Mr. Mammen was one of my favorite professors. He makes class enjoyable, and spends most the time lecturing about what the current projects are dealing with. If you have a problem he is more than willing to help, as long as you make some sort of an effort... He can be a bit of a smart ass, but that just makes the class a bit more entertaining. I suggest anyone that is interested in being challenged and actually wants to learn the material to take one of his classes


Freshman
C
Required (Major)
Mar 2010
I had never seen java before taking this class. Mammen seems to assume you have seen some form of java code and fails to explain the syntax clearly. I have heard that he does a good job of explaining stuff if you already know java, but I recomend not taking him if you are a beginner. If you ask questions, he does not clarify claiming that you should go figure it out for yourself. He was not my professor this quarter, Google was. There was one memorable lecture when he spent half an hour trying to get us to come up with a solution to an unsolvable problem. During this time, he failed to explain other things that we needed to know for the program we were working on. [end unbiased part] I lost all respect for this professor when he addressed the class as a whole as \"you lazy sons of bitches\". If you can deal with that, have fun...


Sophomore
A
Required (Major)
Jan 2011
After everything I\'d heard (which is probably summed up nicely by some of the older comments below), taken Mammen turned out to be not that bad and in fact I\'d take him again without hesitation. He truly does care that students in his class do well, he just tends to come across as a jerk at times. If he suspects somebody of cheating, he will go after that suspicion ruthlessly (and is usually right...but that doesn\'t mean he has to do it in front of the whole class). He is helpful in office hours but will let you know if you ask a stupid question or ask something that was covered in lecture or a lab.


Senior
C
Elective
Mar 2011
Kurt Mammen is by far the best professor I've had at Cal Poly. He really does care about his students and doesn't just talk the talk. He will go out of his way to help you out if you ask for it. He is a very fair grader and you will learn a lot from him. He takes his class seriously and expects the same from his students. Take him if you can!


Freshman
A
Required (Major)
Mar 2012
Mammen is an awesome lecturer. I always enjoyed his examples and the discussions about the tangents he went on. The lab is completely optional as others have said, you only need to go if you want help on something. I never needed help on anything, but from what I've heard, you should make sure you have really tried to fix something before going in because he is sort of an ass when it comes to questions about simpler things. Also, the grading is a bit steep, but it is fair and if you follow instructions and know what you're doing you should get full credit on all the labs and quizzes.


Freshman
B
Required (Major)
Jun 2012
Mammen is NOT an asshole at all. If you actually get offended by the jokes he makes or when he points out something stupid you've asked or said in class based on material already covered, then you should probably mature a little more and learn to laugh at yourself. We all make mistakes, and realizing when we make mistakes helps us grow and lets us evaluate ourselves better. Mammen does this perfectly while teaching the material in class every time someone asks something that's already been answered. Now that the whole "asshole" thing has been addressed, let's go onto the actual course and his presentation of material. I feel that Mammen does a very straightforward style of teaching that focuses on very specific, relevant areas in the object-oriented world of programming. This has pros and cons. On the positive side, you learn a LOT about the areas he decides to focus on. On the down side, sometimes it feels like you're missing out in other important things to learn about in Java or in terms of object-oriented programming. The class is supposed to be about teaching object-oriented programming, and does so through Java; Mammen does very well in conveying that Java is simply one of several tools to use an object-oriented approach to programming, and goes very in-depth about OOP. If you're looking to learn more about OOP as it directly relates to Java and more advanced Java-specific things, you're not really going to get that in Mammen's class. Of course, if you get through the course you're going to have a LOT on your belt for coding in Java and should be able to do a lot of different things in the language, however don't expect to be any kind of expert just yet. Long story short, Mammen is a very good teacher and isn't an asshole, just very straightforward. And a straightforward teacher is absolutely perfect for this class, since there's no reward in taking any easy way towards learning this material. It's a reasonably challenging class but doesn't really throw any curveballs. You either pay attention in class and do the work to pass with a good grade, or you don't and end up failing. The midterm and final both went exactly over material covered in class, so there's no real excuse for not knowing all of it besides simply not studying enough or missing material in class or in assignments. Mammen gives his students a more independent working style, meaning it's all on you how you do in his class, and he's always available for assistance as long as you do your part of the job. Take Mammen if you want to learn a lot and are willing to put at least a few hours of work each week towards his class. Otherwise, find another, maybe more leisurely teacher who will hold your hand more along the way.


Freshman
C
Required (Major)
Oct 2012
Mammen will teach you everything you need to knowand more and will address every question you have about the material. He will not hold your hand at all through labs however. Overall he prepared me for 103 better than students who had other professors


Sophomore
A
Required (Major)
Nov 2012
If you've taken AP Comp Sci or know what you're doing Mammen's pretty cool. He knows a lot and doesn't bullshit around. He tells you what he expects from you and what to do. However, he's kind of a dick if you ask a retarded question and doesn't offer a lot of direction on projects, so if you don't know what you're doing or haven't learned Java it may be kind of rough. He also believes in test driven development so he recommends you write a million tests for projects. I did and I always passed his test driver easy, others didn't and spent a lot of time guessing and checking. To each their own. For CPE 102 he has a lab every class or a lab quiz (I had 3), a midterm and a final. He gave a practice midterm which was cool. No notes on final, not really needed. 7 projects I think, only one of which was Swing so not much annoying GUI. If you know Java well and want a good teacher, take him. If you don't know much about coding yet and aren't up for the challenge, don't. .RCJ.


Sophomore
C
Required (Major)
Nov 2012
This guy is just plain mean. He teaches to the A student, not the B or lower student. He also likes to make fun of students and shame them in front of the rest of the class. He pulled my and several other students' programs up on the projector and made us say who we are. He then proceeded to say what was wrong in a demeaning, yet not constructive at all way.


Sophomore
A
Required (Support)
Mar 2013
Mammen jumps into Java very quickly which makes the class hard at first but once you get the hang of it, it's okay. The lab quizzes tend to be difficult but everything else is fair. The midterm is almost exactly like the practice midterm. Mammen likes to call himself an asshole and he can be if you approach him wrong. But if you've legitimately attempted to understand something he is more than willing to explain it. I would take him again!


Sophomore
A
Required (Major)
May 2013
Hey Asshole, I just wasted five minutes of my young, not balding life listening to you blabber on, in your whinny white guy voice, about something I already knew while I was trying to ask you about something else. After you left, I looked up what my real question was, and got an immediate and helpful answer. So morale of this story is: Don't ask Mammen a question in lab, ask a peer, ask google, or shoot yourself. Only way you will progress as a programmer.


Sophomore
N/A
Elective
May 2013
I don't personally have Mammen for 102, but he dictates all of the deadlines and program grades for every 102 section. He refuses to release his test drivers which you have to pass 100% until 6am the day that the program is due, leaving you a few hours to rewrite all of your code. Furthermore, on our program 5's, he gave a bunch of students zeroes on the programs for some bullshit reason, and won't explain to us why he's doing it. He is a worthless piece of shit.


Sophomore
A
Required (Major)
Oct 2013
If you think he is asswhole, you just chose the wrong major, don't be ashamed and change major(50% of CSC/CPE will do). He is the best CS professor I've ever met, he actually teach you stuff.


Sophomore
C
Required (Major)
Jan 2014
Mammen is working on improving, but still finds the need to humiliate students. He can be a very nice person, but he is not an effective teacher. If you go to office hours for help he flies through the material and is very condescending. Despite the fact that he lacks teaching skills; he limits who students can ask for hel, making it extremely difficult to learn this material, unless you can teach yourself. I would look for a teacher who recognizes different learning styles and realizes that when students consistantly do poorly, it is the teacher, not the students.


Sophomore
B
Required (Major)
Jan 2014
Well to be honest, I really did not like him when I took CPE 101 with him because he really hate teaching CPE101 and he gets mad at people all the time. In CPE 102, I actually enjoy learning from him. While he might not be the nicest guy, his classes are not even the worst comparing to the other classes here. Appreciate him while you can, because when you take CSC 357, you will really get an idea of what's hard.


Sophomore
B
Required (Major)
Feb 2014
Alright -- there are a lot of sour, pissed off, assholes who write reviews for this guy. "He's a spicy asshole" "He gets mad when you ask stupid questions" To those who believe either of these, you're just angry about a grade or maybe he hurt your feelings. Boo fucking hoo. Mammen doesn't pander to the 1% or any of that shit. He teaches the class the way it should be taught. His assignments present difficult but doable problems and he is helpful in office hours. If you want to be prepared for 103 and the rest of your classes take him. I will say, if you're a little bitch who cries themselves to sleep every night then you probably don't wanna take this class. But then again you should probably drop out because this is life,get used to it you won't always get babied. When you go to a job interview and ask a stupid question you're gonna find yourself unemployed and confused why. Take Mammen.


Freshman
B
Required (Major)
Feb 2014
Mammen, is great. I just wanted to lightly voice that. On a side note, to the kid in my CPE102 lecture. MWF 3-5. SHUT THE FUCK UP YOU KNOW WHO YOU ARE. YOU ASK THE MOST GODDAMN ANNOYING QUESTIONS AND SOUNDS LIKE A COMPLETE ASSHOLE DOING SO. I hope you read this and learn to shut your trap, holy shit.


Freshman
B
Required (Major)
May 2014
I know you see a lot of stuff on here about how Mammen is an ass (he sure likes to talk about it in class a lot), but he's really not. People need to understand that when he answers your question, in class or lab, he isn't judging you, even though his tone can sound like it. You're just another student to him, and he probably forgets about it afterwards, so don't take anything he says personally. Other than that, Mammen was a fantastic professor. He would make these side comments that weren't directly related to what we were learning, but still were interesting and valuable. His labs were great, and for every project, he would release a test driver, and it would tell you if you passed or not. If it didn't, just fix it until it does. There was really no excuse to ever fail a project. His exams are a bit weird, some true false, some labeling, and some free write coding, but definitely fair. Nothing was out of nowhere, and he gives a practice midterm that's a lot like the midterm and the final. Definitely take him, he knows a lot and you'll walk out a better programmer


Senior
A
Required (Major)
Jun 2014
People here write bad reviews about Mammen because he doesn't hold your hand; he teaches. Instead of giving you the answer, he teaches you how to find the answer yourself, a much needed skill in this field. He doesn't just go through the basic 102 content; he ensures that you have a deep understanding of Java, Object-Oriented Programming, and just programming in general. I'm not sure why people say he's an "asshole"; he's one of the most fair, understanding, and helpful professors I've ever met. He's not looking to fail you; he's trying to help you succeed, not only in his class, but he also gives you skills that will help you in future classes and beyond college. Take Mammen, and if you're really serious about studying Computer Science, you will absolutely love his class.


Freshman
A
Required (Major)
Jun 2014
Kurt Mammen is a wonderful teacher. He definitely knows his stuff. If you don't want to take his class because someone told you that he's hard and is an A-hole, suck it up. He is an A-hole because he's trying to help you. If this stuff is hard and you don't understand, isn't it better to change majors now than when you're in your sophomore or junior year?(where you have already given Cal Poly ~$40k) If you like/love programming, don't worry about this class. If you're someone who is deciding between CSC and EE, take his class. To all of those who hate him or who are afraid of taking him, I had him for CPE101. A good number of students hated him, but I enjoyed his witty humor so much I chose to take him for CPE102 even with first rotation. I can't wait until I can take him again for 357


Sophomore
B
Required (Major)
Dec 2014
I love Mammen. He explains concepts clearly. However, I don't find him very flexible. Great teacher. To do well you have to be able to read and follow directions. I kind of hate how I never know what will be on a midterm or final. The lab quizzes were ok.


Senior
C
Required (Major)
Feb 2016
I am writing this review two years after having taken this class. What I learned from Mammen has been extremely beneficial. As I am picking up C++, I found many concepts from Java (which the course was taught in) easily translating over, especially OOP. Mammen is definitely intimidating, and even now, I would probably shiver a bit to ask him a question, but he is certainly an effective professor. You will learn good shit.


Freshman
A
Required (Major)
Oct 2016
Prof. Mammen is the kind of teacher everybody says they want and then backpedal on when they have to show up to do the work. He will call you on all of your shit. He will not take any of your shit. He won't appreciate stupidity that loops inward (you have to meet him halfway to learn what's he's trying to teach). And he will teach you exactly what you need to know, and he will teach it well. The kind of people who appreciate this kind of approach (even if it takes them some distance and perspective) are the people you will want to work with on a regular basis in a full-time job. Hopefully, you get a chance to take Professor Mammen early, he's a great asset and mentor if you get to know him!

CSC 102


Sophomore
N/A
Required (Major)
Dec 2002
Mammen is a good lecturer and certainly knows his material well from all his work in the industry over the years, but his grading schemes range from fair to the guillotine. He doesn't care how many days you spent on a program...if it doesn't do exactly what it's supposed to in the exact way he wants it to (and if it doesn't do the things that he doesn't tell you but just assumes that you know to do) you won't even recieve passing grades on your programs. The lecture tests are pretty fair, but beware of the coding lab tests! He seems to have a hard time relating with students that don't have all the years of experience he does. Other than that, if you want a professor that will improve your coding immensely (the hard way) I'd say Mammen is a strong candidate.


Sophomore
A
Required (Major)
Feb 2003
I'm not sure but I think that the quarter I took Mammen was his first here at Poly... I felt that he's a good lecturer except and handles the material well with only a few mishaps here and there, nothing major, mostly minor. His grading of programs are ruthless but the grading got easier as the quarter progress so maybe that was just a fluke from it being his first quarter here. His quizes and tests are fair and he tells you exactly what you need to study and goes through the material well. It was scary taking him (I didn't do well on the first few programs/quizes) and I was surprised at the grade I received but I'm not complaining.


Sophomore
A
Required (Support)
Mar 2003
This guy's a good lecturer, and he teaches you what you need to go on. His grading was a bit hard when I took him, but it was his first quarter here, and he hadn't really gotten the drill of things, although he seemed to be much more reasonable toward the end. Going out of the final most of most of the people I talked to (taking Liu) couldn't believe how little they knew. I just kept saying "Ya it was pretty tough" in an attempt not to piss anyone off. In reality, there wasn't one question on that test I didn't know, and I have Mammen to thank for that. Whatever bad things people say about him are nothing in comparison to how much you learn in this class. I would have killed to get this guy again for 103 instead of Phillips...


Freshman
B
Required (Major)
Mar 2003
Professor Mammen is a great lecturer. He makes everything crystal clear and will spend extra time re-explaining things if you don't understand it. Even though there were weekly lab or lecture quizzes, the class was not too hard. The projects were not too hard either and we were given sufficient time to do them. Just make sure you meet all the specs or else you may lose some points! He was also very helpful when I needed help fixing errors on the projects and labs. I definitely learned a lot in this class.


Freshman
B
Required (Major)
Mar 2003
Prof. Mammen is very kind, and although his grading scale is ridiculous and doesn't make any sense, if you follow the material and his lectures and do all the labs, you should be fine. He is more than willing to help, and will do all he can in order for you to learn the material. His tests usually have stuff that weren't gone over in class though, and his programs are very long and detailed, so be prepared to work really hard, and get a really bad grade on the project because you forgot to put a comma somewhere. VERY HARD GRADER, just do all the labs and you should do well on the tests, which pretty much are the only things that matter.


Freshman
B
Required (Major)
Apr 2003
Mammen is a very good instructor who is able to teach Java in English. He doesn't talk to the class like we are computer screens, but rather like we are people. Pay attention to overriding the equals method, he hits that hard. And pay attention to what he specifies on programs. If he metions something in particular, then he is probably going to mark you down if you don't do it. There are quizzes every week, pretty easy if you stay on top of the reading and pay attention in class. There are also 6 programs, so about 1 program every week and a half. I would definitely recommend him for 102.


Freshman
A
Required (Major)
Mar 2004
This was my second class with Mammen, and he has left big shoes for the CSC faculty to fill. He


Freshman
F
Required (Major)
May 2004
Well Mammen is a great professor, I just fucked up! I didn't go to the lab sessions as often as I should have. I feel I learned the material very well but those fucking lab quizes nailed me...I just couldnt program under the pressure and restrictions he had. Oh well. I'm taking him again this quarter and as I suspected I know everything he has to offer, but even now I am still having trouble with the lab quizes..Just have to do better on those lab quizes and its an easy class.


Freshman
N/A
Required (Major)
Jun 2004
Messed up grading system...as in its possible to get negative points. He is paranoid about people cheating, i heard he nearly failed ten people the other day because he suspected that they had coppied code, now some of them have to resubmit. He presents the material well though, i'll give him that, you will learn. You may know the material, but if you cant speed program or do well under pressure you're fucked on the lab quizes.


Freshman
A
Required (Major)
Jun 2004
If you want to learn, take mammen. I had mammen for 101 and for 102, twice. Mammen presents the material very clearly and you will learn how to program. It was great when mammen taught the material but he didn't grade it, like in 101 which was team taught and graded by a computer for the most part. Mammen's major vice is his grading system, as others said before, its possible to get negative points on projects if you add them all up, but he has a max at 75. There are just too many places where you can screw one little thing up and it will mark you down A LOT. The lab quizes were acceptable for the most part, but could seriously mess your grade up if you weren't the best at getting something right the first time in 45 minutes. Because in industry you know they will fire you if you can't get a project done perfectly on the first try, or done very quickly so you can try again. If lab quizes didn't make up 30% of your grade it might be better, but oh well. This quarter I saw the lab quizes comming and I was ready for them. One last thing, don't right really good code, because if its anything close to what his solution would be (perfect) he will suspect you of cheating, as many people in our class were, and will either fail you and report you to the university, or he will make you rewrite the code. So be sure to write inferior code so as to prevent making more stress or work for yourself.


Freshman
A
Required (Major)
Jul 2004
I had Mammen for CPE 102 last spring...and he was awesome. I went into the class with a strong programming background and I still learned a lot from this guy. He is very approachable and friendly guy...MAKE USE OF HIS OFFICE HOURS...I CANT STRESS IT ENOUGH....and yea his grading might seem harsh at first but then again he uses a 100 point grading system for everything from quizzes to the midterm. So it really isnt that bad. What sucks is the weightage he gives to the projects and quizzes....the projects (which takes hours and hours of work) are only worth 3 % each...whereas the lab quizzes which are done in 50 minutes are 7.5 % each....how jacked up is that??? Other than that...this is a great class...you'll learn a lot...take Mammen above all the other teachers for 101 or 102...


Freshman
A
Required (Major)
Oct 2004
It dismayed me to see so many negative evaluations of Kurt earlier this year--their grief is suspect when you consider they didn't make it. I would like to address the statements these people have made, if you don't mind. 1) It is possible to get negative points on Kurt's projects. -- It is, theoretically. He caps the point loss at 75/100, you get 25 just for showing up. The truth is, everyone gets killed on the first project. After this, you pick up the pieces and get a better idea for the next one. If you don't read his guidelines (which are one page, at most), learn from your mistakes, and take the time to make sure the program works and all the elements are in place, then maybe you deserve negative points. Keep in mind Mammen will help you with anything you need--just go to office hours. He is amazing in office hours. 2) You can get dropped from the class for cheating if your code is too good. -- This I cannot relate to, since it wasn't an issue in Winter 04, when I took it. I imagine he would have zero tolerance for cheating. However, I imagine he would be fair about it, giving the accused their say and all. Cheating is a big problem, and I don't want to lecture, but let me just say this: do you think that you will be able to get away with copying and pasting code in industry? Can you say, would you like fries with that? 3) His quizzes are too hard. -- This is an odious complaint if ever I've heard one. I didn't find his tests too hard, but regardless, he ALWAYS tells you what is required. He gives you the tools to succeed. He shows you the proverbial door, and you have to open it. It isn't his fault if you want to party on Tuesday night and get 30/100 on the Lab exam. The lecture exams, especially, are fair. If I sound like one of those fire-spewing reviewers, I apologize. Seeing erroneous impressions of one of the best intro-level instructors being spread around by future business majors (the repository for failed CSC and CPE majors) boils my blood. Take Mammen if you are serious about learning, and just do the work. If you don't care, take Pokorny, because he doesn't care and it shows.


Sophomore
C
Required (Major)
Nov 2004
Mammen is the best Computer Science 101 and 102 teacher I've had. He gives you plenty of time for projects (this coming from some one who'd start them the night before). The one complaint I had wasn't about him, but the driver's he provided for one of the projects that screwed my grade on that project. You just have to make sure to stay up on his projects because often there will be two or three of them that build off each other.


Freshman
F
Required (Major)
Nov 2005
I took Mammen for CSC/CPE101 when it was Java-based, and it was an awesome experience. I've had quite a bit of programming experience coming into college, and since the 101 class was mainly learning Java, I had a blast. He seemed real level-headed, and knew a lot about what that class was about. Then came, 102. I quickly lost interest as he taught a strictly Java-oriented course. Which isn't necessarily bad, but some of the procedures he taught were unique to Java, which is worthless in the real world. I should have dropped the class when I could, but I was still thinking Mammen would rise up and do the steller job he did for 101. Take him if you're down for simple mindless regurditation of code, take someone else if you want to learn something truely useful.


Sophomore
N/A
Required (Major)
Feb 2006
Mammen sucks. Rediculously anal about everything and very unfair grader. If you get stuck with him make sure you double check every error you get on a program or lab. I've been marked off multiple times for stuff he said was ok, and had to complain to him to get my points back. The midterm is dumb. be prepared to write your code 2 times over and in record time.


Freshman
A
Required (Major)
Jun 2006
Excellent professor. I had him all three quarters this year. First quarter I was confused as I'd never programmed before...he was still a great professor - I only wish I'd gone to office hours and understood more of the material back then. Second quarter was when they tried to team-teach cpe102...that, I felt was a failure however Professor Mammen still did the best. I ended up having to retake 102 due to my own stupid reasons, and I'm quite happy that I was able to experience 102 with solely Mammen deciding the programs/labs and teaching the material. We convered more material spring quarter than winter and I especially loved the GUI work. He is very good at explaining the concepts and material with just enough code so you get a good idea of how to start but he still leaves you with enough to problem solve. He is VERY fair. He knows how to write tests and lab quizzes so that anybody who has been paying some attention and doing the programs/labs can finish. So far as I can remember, every lab quiz or test had an average in the mid to high 70s, maybe once or twice in the low 80s. He did also extend the deadline for a couple projects when he realized that they had been a bit too tough. If you put any effort into his class, you should realize that Professor Mammen is a truly awesome teacher and I would highly recommend him to any student.


Sophomore
D
Required (Support)
Jun 2006
Here's the deal with Mammen... if you're a CPE major or a CSC major, Mammen is probably a smart choice. He will not let you pass that class without a VERY strong understanding of the material. However... if you are NOT a cpe or csc major, I would NOT recommend taking him. I spent about 25 hours a week on this class ALONE and still ended with a D. This isn't the teacher to take if you just want to pass the class and never see computer science again. Also, he doesn't have much patience with his students. Midterms and final are do-able, but definitely not easy. Programs and lab quizzes are either you get credit or you don't... which is what screwed most people like me. I heard that the average for my class going into the final was a 35%. But... on the other side of this, Mammen is very committed to making his students understand the material 100% and preparing them for CPE 103.. he won't pass you unless you do. So basically... if you just want to pass this class, this is definitely not the professor to take. If you are looking to really understand the material and willing to put in countless (literally) hours of work to do so, this is the teacher for you.


Freshman
B
Required (Major)
Jun 2006
I "failed" CPE 102 Winter quarter and retook it in Spring with Mammen. The main difference was the fact that many professors taught it during Winter, but only Mammen during Spring, so things went at his own pace.. which was both good and bad in a way. I felt that the people who were taking 102 the first time around, were getting worked way too hard, at least twice as hard, compared to winter quarter. Nonetheless, Mammen is still a good professor, despite the craziness of spring quarter. Expect to be working on programs all the time, all week, every week of the quarter. Your programs basically either work for full credit, or don't work for a 0; grading can get really retarded, but I suppose that it's for your own good. Don't take Mammen if you want to be writing code 24/7, but take him if you want to fully understand things, I suppose.


Freshman
B
Elective
Jul 2006
I'm only going to say this: I didn't learn anything from him, I mostly learned from other people.


Freshman
D
Required (Major)
Apr 2007
If you have not had previous programming experience with Java or at all, you will not get a C- or better in this class. I had taken a year of Java in high school and was completely lost by week 5. I was able to do ok on the midterm and beginning of the quarter and thus was able to get the grade I did but if i had not had that previous experience it would have been much worse. Mammen himself is a pretty funny guy and at least made the class entertaining but wasn't incredibly helpful once the quarter progressed. The grading scheme of all or nothing kills you as well.


Freshman
N/A
Required (Support)
Mar 2008
If you can avoid taking Mammen - do it! His unfair grading policies has you working for hours only to get a fail. He says he will give you credit if your program compiles, but when you get your grade, he gets more detailed on what he really "meant" by compile. Don't go to office hours because he only gets attitude.


Freshman
D
Required (Support)
Mar 2008
Automated and impersonal grading system that will not give any credit towards effort or time spent to do the best job possible. He is also a major jerk!!


Freshman
A
Elective
Mar 2008
Mammen teaches very well. I understood most of the lecture material without consulting the book or internet. However, he expects a lot from you and grades hard. Your programs must pass his test driver (work perfectly) to get any points at all. On lab quizzes, you get 0 points if code won't compile. Outside of lecture, he is hard to approach. He acted offended that I was asking a reasonable question. So, if you want to be challenged, take Mammen. He teaches well, but prepare for a good workload


Sophomore
A
Required (Major)
Apr 2008
Mammen is a strict, hard grader. I often lost bunches of little points on programs that added up to seriously hurt my performance on the projects. This level of strictness is somewhat terrifying on Lab Quizzes, where a large number of people fail. On the other hand, he is definitely NOT trying to fail people, he just doesn't let anybody off for anything unless it would make a HUGE difference and there is lots of evidence that they did all the right work. So his grading is frustrating as all hell, but he does grade based on class position. However, he does present the material very well, and the book is unnecessary. He managed to keep lectures going well, though I can understand how people might be offended about his humor (he's mostly just playing around, but he doesn't mind telling people when they say something stupid, and then reminding them about it again and again). There were some individuals who just didn't program well at all (you know-the why are you here? type), and he really did get frustrated with them a bit. But some of them really didn't put their all into the class and couldn't pull it off, so he refused to bail them out by lowering his standards. To do well, try and get a feel for the projects ahead of time to ask him questions, especially about what he wants the program to do because if you make code that handles extra challenges you can lose time and points (I found the test driver great for checking the specifics of what he wanted, but it was often hard to follow). It is easy to do well on the Lecture and Lab quizzes: just do the LABS!!! They don't take too long and sometimes they cover stuff that's not in the programs and not focused on too much in lecture, so just cram them in the day before the quiz and you will know everything he's going to test you on. If you just do the programs, you WILL get killed at LEAST once, if not several times. Overall, the grading really frustrated me as I always felt like I was failing, or not getting the satisfaction of the grade my code definitely deserved, but at the same time I really knew I was learning in this class (I dropped 102 one qtr because the teacher was horrific). The curve evens it out in the end, I suppose, and I would have to recommend this class, but only to those who really put time into working on their own and can handle a good bit of frustration (grading and debugging) without losing their cool. Oh yeah, and get really good at learning Javadocs.


Freshman
N/A
Required (Major)
Apr 2008
You need to read into some of the good ratings that Mammen is getting here. They are basically from the A students who did everything perfectly. Believe me when I say that he does not deduct a few points if you make a minor mistake. Its all or nothing. He feeds your results into a machine with machine results - no human aspect of deciding why your program was not perfect. In other words, he is too lazy to take the time out to evaluate a student and grade that student based on his or her true abilities.


Freshman
C
Required (Major)
Mar 2009
Mammen is a jerk. He seems to really hate teaching and I don't know why he does. Its funny because he is actually a decent teacher when he actually lectures, but everyone in the class was afraid of asking questions because when you asked a "dumb question" he just looked at you like you should know that and threatened to fail you. He is a really tough grader and 60% of the grade is written! However, if you are willing to work hard and look elsewhere for help like the book, you will do fine in this class. But I recommend someone else first.


Freshman
F
Required (Major)
May 2009
It's best to take this professor if you pretty much already know most of the material. His lectures tended to be off topic, and then would contain some vital info, so you go to class to get a couple pieces of info. Most is self taught, so if that's not your style, beware.


Sophomore
N/A
Required (Major)
Aug 2009
This guys is an asshole. He made a fool out of me in class for asking an on topic question. You can tell he enjoys being an ass as well. Don't waste your time with him he shouldn't be teaching. If he is nice to you, then you probably gave him some sort of (sexual) favor which he might enjoy, who knows.


Freshman
B
Required (Major)
Feb 2010
People often give this professor a bad rating because he is an \"asshole\". i\'ve read two types of reviews on Mammen. The first type of review comes from students who don\'t do any work, fail, then get pissed at him. the second type come from people who call him a bad professor for being an \"asshole\' While professor mammen can sound like quite the jackass sometimes, people fail to realize the overall truth of the matter, and that is that he simply telling you the truth, however brutally honest it might be. people get mad because he is an asshole when they ask a question in class. more than likely you asked a stupid question and he called you out on it. the first program of the quarter I had my architecture all wrong, and he called me out on it, in a way that at first I misconstrued as rude. But what you need to realize when taking Mammen as a teacher is that he is honest with you to the highest degree, and to some people that comes off as rude because they can\'t handle the fact that they did something stupid. I recommend Mammen as a teacher. I was never bored in a single class, and I quickly gained an understanding of java without having to do much extra work on my own. If you take notes, do the programs, and actually do work, you will learn something, and you will enjoy the class.


Freshman
C
Required (Major)
Mar 2010
It was my first time to do java, and his class was very HARD. I did not think I could pass the class at all. I fail his midterm, i fail his quizzes. But after all, i think i am getting familiar with java. I think the students in his class were doing better than the students in other professors\' classes, because we totally got challenges in his class. Maybe many people think his programs are hard to do, and he did not explain every thing clear enough. Why i passed the class? I think it was the pressure, if u are a self-motivated person, you gotta study hard in his class, read the textbook, and get some online materials to learn.GOOD LUCK, and be sure to submit all your programs on time, he will curve based on your programs submission.


Freshman
B
Required (Major)
Mar 2010
Moderated Comment
Garbage. Absolute garbage. Mammen is a fucking prick, thinks he is absolutely hilarious with his Microsoft jokes, and is just all around an asshole. I got an B+, and I\'m not even sure how, but I DO know that it wasn\'t due to his teaching. He goes on tangents about things that are ridiculous, and will waste class time with this. Paying for this class, I don\'t care to hear his bullshit. I want to learn. Read the book and use tutors, because he sure as hell isn\'t going to help.


Sophomore
Credit
Required (Support)
Sep 2010
I had heard some really bad things about mammen, so i was a bit nervous coming into the class. It was challenging, but i didn\'t find any of it impossible. The couple times i was really struggling, I went in to talk to him, and he was very helpful. It was very important to pay attention in the lecture to do well on the projects, lab tests, and midterms, and I don\'t believe that he was ever unfair in what he tested us on. I found his grading system fair. Depending on what you got done on the tests and quizzes, you earned a certain amount of points. The projects had to pass a test driver to be turned in, but you only lost about 15% on the project per due date (usually a two day gap between) that you didn\'t meet (each individual project was worth a very small percent of your grade). Overall, I felt that I learned a lot in the class. He may not spit out answers for you like other teachers, but that doesn\'t mean that this class is impossible. My main advice: if he gives you a hint, take advantage of it! especially if he is telling you what is going to be on tests/quizes. also, try and finish your projects as soon as possible to get a nice cushion on your grade.


Sophomore
Credit
Required (Support)
Sep 2010
I had heard some really bad things about mammen, so i was a bit nervous coming into the class. It was challenging, but i didn\'t find any of it impossible. The couple times i was really struggling, I went in to talk to him, and he was very helpful. It was very important to pay attention in the lecture to do well on the projects, lab tests, and midterms, and I don\'t believe that he was ever unfair in what he tested us on. I found his grading system fair. Depending on what you got done on the tests and quizzes, you earned a certain amount of points. The projects had to pass a test driver to be turned in, but you only lost about 15% on the project per due date (usually a two day gap between) that you didn\'t meet (each individual project was worth a very small percent of your grade). Overall, I felt that I learned a lot in the class. He may not spit out answers for you like other teachers, but that doesn\'t mean that this class is impossible. My main advice: if he gives you a hint, take advantage of it! especially if he is telling you what is going to be on tests/quizes. also, try and finish your projects as soon as possible to get a nice cushion on your grade.


Junior
B
Required (Major)
Nov 2010
Note that Mammen will come off as aggressive, but don\'t be mistaken. He will let you know if it is a good question or not because of this. If he seems like an asshole, it\'s a very good indicator that you should know that by now. This allows you to make sure you are studying enough. I\'m pretty sure that he usually gives this message on the first or second class. He is genuinely a good teacher and likes to answer questions that will challenge him as well and will let you know. His class is fair and gives announcements at the beginning of class that let you know things in advance even though it is already online. Just ask him if you come in a few minutes late at the end of lecture or lab. You will learn a lot from Mammen and his goals will help you build confidence in a job setting. I would say that he does come across as having a big ego and in your face which I ignore and not let me loose focus when learning the content.


Sophomore
A
Required (Major)
Dec 2010
The basic truth about mammen is this: he tells the blatent flat out truth. Will he tell you your question is stupid? yes, if it\'s a stupid question. Will he then proceed to answer your question clearly? absolutely. If youre the kind of cry baby who can\'t be told they did something wrong for once, then don\'t take him, if you can deal with the fact that you can be wrong or have an interest in growing a pair, then by all means take Mammen.


Freshman
B
Required (Major)
Mar 2011
Ok, this guy was pretty amazing at what he was teaching. He went really in depth on what he was teaching, which is probably why many people felt like he did not do that great a job of teaching: his class is more meant for people who already know the basics pretty well. He went really in depth and thus, did not do as great a job of covering basic concepts. However, provided you have your basics down, you will learn so much about what happens under the cover. Also, he is NOT an asshole, learn to handle sarcasm people. Once you do, his class is actually pretty hilarious. He says he is working on the whole asshole thing, so give him a chance because he is an amazing teacher.


Freshman
B
Required (Major)
Jul 2011
Professor Mammen is a good teacher, and if you have to take 102 he's worth having. He doesn't grade labs, so you don't have to go to lab, but they're worth doing and are helpful for programs. If you do go to lab, he's happy to answer question you may have from anything in the class, which is nice. Programs are a significant part of your grade, and take some time, but they feel useful and aren't excessively difficult. The two midterms and the final are a bit tricky, but if you can do the programs (and really understand why they work in the context of object-oriented programming), an A or B shouldn't be too far out of reach. Mammen is entertaining in class, funny, and he's a nice guy one on one, but there is a caveat: don't ask stupid questions. If he gave an explanation previously, or if another student just asked the same thing, prepare for a bit of verbal abuse. You may be embarrassed, but he'll still end up giving you an answer. Another small gripe I had at times was his grading. Sometimes it felt like he took off too many points for small mistakes. For example, I lost 10% on a lab quiz for simply forgetting to write "public", even though it was fully functional; sometimes the subtractions just felt disproportionate. Regardless, take Mammen if you get the chance, you'll learn Java pretty well, and he'll give you some good programming habits for the future.


Freshman
A
Required (Major)
Sep 2011
Took this class last year, but forgot to submit a review. If you've taken the Comp Sci. AP in high school, the class will be mostly review and fairly straight forward. If not, I thought Mammen taught the course pretty well. At the beginning of the course he talked about how he read his reviews on polyratings and was making an effort to better his teaching. I think he's done a fine job in changing and was a great teacher. His expectations from you are fair and practical. He allows you to run your program through the test driver as many times as you want (contrary to my 103 teacher) which is great. I'd take him again.


Freshman
A
Required (Major)
Jun 2012
Professor Mammen has a reputation of being an "asshole" as he claims it to be, but he does say he's improving on that topic. But, from my experience, he is not so, and an intelligent man. He is very organized with his lectures and knows his topics by heart. Bam, bam bam! It comes at you through a chalk board and his linguistics to provide a very enjoyable lecture about computers. Discussions include what the developers of Java were thinking, the memory and CPU aspects of good code, and the trade-offs between different styles of coding. Lectures are overall entertaining, lively, and even has some of his own style of uncensored jokes, which if you know the man, are funny. His grading procedures are fair. I have seen occurrences of harsh grading, for example: Your code not compiling at a lab quiz will get you a zero. But a nice thing to have emailed is the class's grades for lab quizzes. After each lab quiz, the number of students who took the lab quiz, the class mean, median, and top score along with the number of students who achieved that top score is emailed out. It's a way to gauge yourself amongst your peers. For my 102 class, labs are not graded, purely optional, but Mammen claims that if your grade is borderline, participation in labs will bump up your letter grade. His instructions for labs and programs are very clear. A lot of energy has been spent typing every single specification to make sure that these instructions produce exactly the desired action. Their difficulty? Not difficult, just please manage your time and start early. He's more open to questions if you present them earlier than later. A program is assigned mostly every week, but you can be sure to always have a program assigned. For our year, a total of 7 programs were assigned. Of course, this comes from one student among many others and my perspective may be different. As for me, I would happily take Mammen again, mostly because of his good lectures.


Freshman
N/A
Required (Major)
Jun 2012
OK. Mammen is COOL. I liked the way he taught in class. He wasn't dry, and he presented the information to us clearly and gave us syntax to bounce off of. He's not an asshole, and I don't know why there's heat on the debate if he is or not. I mean, those complaining that he's an asshole are complaining because they're whiny babies that can't handle light punches anyway. If anything, I liked that "asshole" persona in Mammen. He just tells the truth. Flat out. That's not a bad thing


Junior
B
Required (Support)
Jun 2012
Mammen knows the material well and knows how to explain it. When I took 102 with him, I actually learned more than I ever have in a computer science class up till then. He grades based on programs, lab quizzes, and exams. Lab quizzes are worth a lot - make sure not to miss any of those. He accepts late work (programs) for partial credit. Make sure to come talk to him during his office hours, he is helpful plus he will remember you. It does take a while to get to him though - there is usually a line outside his office.


Freshman
B
Required (Major)
Aug 2012
Mammen is a great professor. His explanations are thorough and humorous. I really liked his style of humor. He is not afraid to make fun of people, but he will answer their questions immediately after. Keep that in mind and I don't think you will find him offensive. There is usually one program and several labs assigned each week. The programs are required but the labs are not (I recommend them though). There were only three lab quizzes and they are very similar to the corresponding lab assignment.


Freshman
C
Required (Major)
Dec 2012
This guy is an ASSHOLE! He doesn't know how to teach, and what he teaches is complete BS and has no significance what so ever to anything programming. He also thinks he has an amazing sense of humor but is just an annoying POS!


Freshman
B
Required (Major)
Dec 2012
If you think Mammen is an asshole, then you're an asshole for not putting in any effort on your own towards his class.


Graduate Student
Withdrawn
Required (Support)
May 2013
Your'e not wrong, you're just an Asshole.


Junior
N/A
Elective
Jun 2013
Don't be afraid of the polyrating score. Go to the lectures, ask for help in the lab. This class is easy, and very, very relevant. I highly recommend Kurt Mammen, he is very kind, intelligent, and reasonable. His lectures are entertaining and always interesting. I wish every CSC course was taught by him.


Sophomore
C
Required (Major)
Feb 2014
this teacher is by far the worst possible teacher to have for cpe101. That is a fact when just learning the material he goes way to fast he hates the material. He loves to accuse people of cheating and is rude in office hours, also makes fun of people in class when they were genuinely confused. For CPE 102 he is better because at this point you know enough to ask him to not sound like an idiot plus he cares more about material. Definitely stay away from him if your first time programming


Sophomore
A
Required (Support)
Feb 2014
I completely agree with the person below me. And yes Mammen is good.


Freshman
A
Required (Major)
Jun 2014
I don't know how he is for 101, but having him for 102, he isn't so bad. The nice thing is he will lecture about concepts far more than details. What's also nice is that his labs and programs have pretty clear specs. Just do the labs, do the programs on time, and you'll be fine. If you ask stupid questions he'll make fun of you or be sarcastic towards you (which actually amused me quite a bit). But if you actually want to learn something, take Mammen, and there shouldn't be any problems.


5th Year Senior
B
Required (Major)
Nov 2014
Mammen is a great professor, and every student can learn a lot from him. Honestly, I had Mammen for CPE 101 my sophomore year...it was enough to scare me away from ever wanting to touch programming again. But after getting an internship in firmware (much later), I realized everything Mammen taught me was super valuable knowledge and applicable to real world applications. He definitely challenges his students, but he does it to make you better. I also took him for CPE 102 and will be taking him for CPE 357. He is an awesome professor, and you should take him!

CPE 103


Sophomore
C
Required (Support)
Jun 2007
Mammen has been a follower of making sure everyone fully understands every concept behind programming, but somewhat failed at it. I don't blame him though, it was his first quarter teaching it. Lectures were always 20-30 minutes of random talk before actual material, and he never fully covered everything in class. There were a multitude of labs, lab reports, and sometimes even random homework.. Programs weren't as plentiful as CPE 102 was (thank god); there were 5 total, with a little less than 2 weeks to complete each. You can have a good time in this class if you understand everything right off the bat and can learn everything yourself, but Mammen didn't do much of a job of teaching the material. There were FOUR in-class exams.. way too many. Three "lecture quizzes" which were essentially 8-10 question, full-hour exams, which were basically midterms.. and one "midterm". All the same, really.. During weeks 4, 6, 8, and 10. Considering that it was a 3hours/week lecture, barely covering any material, that was a lot of testing and not enough learning. Mammen was also really messy on a lot of the program assignments and exam questions, but I give him that since it was his first quarter for 103. I hope he improves since he is a good teacher, but this quarter didn't go so well. He ended up curving the class about 8%, and even allowed students with high grades to skip the final. The majority of the final consisted of the midterm material all over again, which was good.


Freshman
A
Required (Major)
Apr 2008
He goes off topic often, and rarely covers all of the material that is needed for the assignments. I did get an A, but that is because I spent a lot of time outside of class researching the information that he was supposed to teach us. The book was completely useless for this class, he even tells us that we can use any general java book for the course. I recommend him as a teacher if you like working independently. He is a rather arrogant person, so be careful of that, as he tends to berate students when they ask questions. Labs are not collected.


Freshman
N/A
Required (Major)
Mar 2010
I don\'t know why everyone is saying Mammen is a bad teacher. Compared to my CPE 101 teacher he is definitely better in terms of style and knowledge of the material he\'s teaching. He\'s not like most professors that assign something and never talk about it. Almost all the lectures have to do with the current program due. The only reason why i think people have trouble with him is because he doesn\'t like stupid questions and if you ask him one he will pick on you for being dumb.


Sophomore
B
Required (Major)
Dec 2012
Mammen get's a lot of unnecessary bad rap. Supposedly, he used to be an asshole, but 103 was my first class with him. I strongly recommend Mammen for CPE 103...when it comes to the material we learn in the class (stacks, queues, sorts, graphs, etc.), Prof. Mammen actually makes you learn everything and understand the concepts behind the material. Which is GOOD. All of the other CPE 103 professors just gave out pseudo code and the students just converted it into Java and turned it in. He avoided the mess of students making input/output, console-based test drivers and used JUnit instead. If you ask dumb questions (which I did plenty of times in this class), he will make you look like an idiot and be a little rude to you. But we're in college here, and a certain level of maturity is expected. You can handle a professor being rude to you. Pay attention in lectures, go to office hours, and ask smart questions. If you can prove to him that you're competent, he will treat you just fine.


Freshman
B
Required (Major)
Apr 2014
I had no problem with Mammen and enjoyed his direct manner in answering questions. I would actually say is one of the more enjoyable professors compared to some of the other nuts in the computer science department. He wants to hold up his image as the dirtbag "asshole", but he's really not that bad.

CSC 103


Freshman
C
Required (Major)
Apr 2003
If your taking 102 I can honestly say if you want to learn take Mammen.(Not that any of the 102 teachers are bad, I didnt have any of them) His grading may seem hard but actually its not bad. Programs if you spend time on them and pay attention to his driver you will do fine. And if you start programs before the lab or lecture quizes you will do better than I did in the class and probably get an A or B. You will work, but will also be prepared for 103.


Sophomore
C
Required (Major)
Dec 2012
Mammen is a good professor. His lectures are clear and the programs are interesting. He is willing to help but he expects students to be willing to work hard. In 103, he ramped up the difficulty from 102. Perhaps this is because my class was the first 103 he taught in several years. The content was obviously more advanced but he also did not give out test drivers until after his 100% due date. This makes it hard to get 100% on a program even if you write your own test drivers. He has a strong emphasis on timing tests which is interesting, but sometimes hard to get as fast as he expects. Overall, he is a good professor, but I would recommend taking him for 102 and taking another professor for 103. If nothing else, taking a different professor will get you exposed to different teaching styles.

CSC 141


Senior
N/A
Elective
Oct 2018
Hmmm


Senior
N/A
Required (Major)
Oct 2018
Never taught by Mammen


Senior
N/A
Elective
Oct 2018
Troll?

CSC 142


Freshman
B
Required (Major)
Mar 2010
Okay, I did know some Java going into the class, so I did have something of a headstart. As the quarter went on into stuff I hadn\'t seen before, I recognized that he had a tough-but-fair taching style, in that he forces you to try and solve the problem first before eventually coming around and helping you. I believe his enforcement of proper coding style helped me to become a better coder. My big gripe is that the two written tests are TOUGH, requiring you not to know only code, but how the code truly works as well.

CSC 145


Senior
F
General Ed
Sep 2018
A bad


Senior
N/A
Elective
Sep 2018
No such class


Senior
A
Required (Major)
Oct 2018
Troll?


Senior
N/A
Elective
Oct 2018
Reviews, such as those above, are not helpful. Nor is this one, how ironic!

CSC 191


Senior
F
General Ed
Jul 2018
Ew


Senior
N/A
Elective
Sep 2018
No such class


Senior
N/A
General Ed
Oct 2018
Troll?


Senior
N/A
Required (Major)
Oct 2018
Hmmm

CSC 225


Sophomore
N/A
Required (Major)
Dec 2013
what an assWhole!!! haha no but really it wasn't a bad job at all considering it was his first time teaching 225 this quarter. He is very straight forward with you and might come off as rude if you need help and don't know what the hell you are doing. He presents the material pretty clearly but that damn fucking powerpoint has so many errors in it that it will confuse the shit out of you which material is right and which is wrong. That really needs to get fixed dude. But anyways 225 was not easy for me but overall mammen did a good job clearing up a lot of the info you need to know to pass the class which was good and class was pretty entertaining sometimes.


Junior
C
Required (Major)
Dec 2013
Mammen is very smart, but to quote others who warned me not to take his class "Mammen is a spicy asshole." He explains things well and he obviously knows what he's talking about, but he humiliates students who ask "stupid questions". It's very counterproductive to the learning environment and discourages asking questions or going to his office hours. I don't recommend him, but if you end up taking his class, it's not the end of the world.

CSC 234


Sophomore
B
Required (Support)
Jun 2011
Prepared to work super hard for this class if you're not a computer science major and never had any programing experience before. He has a very high expectation.I found it hard to ask for help from him. Take someone else for this class!

CSC 235


Sophomore
N/A
Required (Support)
Feb 2005
Professor Mammen is probably the WORST professor I've ever had at Cal Poly. He doesn't recognize how hard the assignments he gives are, and he doesn't realize that they take up way to much time for a support class. We do projects throughout the quarted which take on average 5-10 hours to complete, and they are only worth 2% of our grade. He makes mistakes in his code in lecture ALL THE TIME, and he doesn't offer adequate help in lecture, lab, or office hours. GET ANOTHER PROFFESOR!!!!!!!!!!!


Sophomore
A
Elective
Mar 2005
About the 235 course - I enjoyed this class a lot. Six projects, several lab quizes, two midterms, and a final. Labs aren't collected. It is fairly laid back. Some people are going to find this class way too easy though, and some find it a little challenging. The previous 235 reviewer was just frusterated because Mammen assigned a project that was way too hard for some people. He has since apologized and made up for it (it really wasn't that hard). About Mammen - can be a little long winded in some of his answers to questions, but I like him. The book isn't really necessary, but some may need it.


Junior
N/A
Required (Support)
Mar 2005
Mammen is a great professor, his problem is that Cal Poly gives him classes he doesnt know how to teach. The comp class for math majors is terribly designed becuase people are coming in from all different levels. There are some who have programmed for years, and others (like me) who detest computers and triedto avoid them until now. This class is like throwing Freshman in highschool and freshman in college in the same math class. However, Mammen approaches the problem well, and readjusted his teaching pace ad style to fit the median needs of the class.


Senior
N/A
Required (Support)
Mar 2005
I don't care what all you comp. sci. majors have to say about Prof. Mammen, he is not that great. He doesn't explain the material very clearly and has no clue about what the students understand and what they don't. His mid-terms are ridiculous and are in no way related to what is covered in lecture. He takes forever to get any grades back, and unless you are absolutely perfect he docks points big time. The projects he gives take up way too much time for a support class. I don't think it makes sense for a support class to take as much or more time than three major classes combined. This was his first time teaching this class and it showed. Hopefully he will get it right for all of you that may have to take him in the future. Only take Mammen if you have no other choice!!!!! P.S. Any of you stupid freshman that have a problem with this evaluation can go f#@$ yourselves!!!

CSC 302


Junior
B
General Ed
Feb 2011
It is a pity that this course was presented by this teacher because the subject matter is fascinating and important. He basically lets the students teach the course --- everyday we sat and listened to 3 or 4 students give presentations. When he did speak he stood on the proverbial soapbox. He'll be pleasant if you agree with his ideologies but if you don't, he'll cut you off or smirk while you're speaking. Unprofessional with undertones of sarcasm. The assignments are not difficult in terms of format but while he asks for perspectives on current issues, he is not open to considering perspectives that do not agree with his own.

CPE 357


Junior
A
Required (Major)
Jan 2015
I really don't like Mammen, man. I learned from other, more compassionate and kind teachers just fine. You don't need to be an arrogant, dismissive, and ultimately childish jerk to teach a class. I believe the 101 and 102 students believe his methods are okay because they haven't seen the capabilities of a decent portion of the computing departments' faculty. Yes, he CAN teach. But a proper professor does not need to humiliate their students in order to do so.


Senior
A
Required (Major)
Apr 2015
The rating below me should demonstrate that despite his reputation, Professor Mammen does actually care about helping his students succeed. If Mammen is such an "asshole", then why is he putting so much effort into getting more students through 357? 357 is still a tough course, it has to be, otherwise you won't develop the necessary critical thinking skills to succeed in the field. But Mammen is trying to make the course more reasonable and gives as many tips and as much help as he can to students to help them develop such thinking skills essential for success.


Sophomore
B
Required (Major)
Jun 2016
I will echo the post two below me in saying START IMMEDIATELY. One of the things that plagued me in this class is that I retained my part-time job and worked out a couple hours each day while taking it. As a result sometimes I got a later start on projects than was ideal. I failed to pass two projects because of this and it almost did me in (I had them essentially 99% done but got 0 credit). Those definitely hurt bigtime. But the material definitely made sense, and when I did give myself time to think carefully and read supplemental materials everything made much more sense. Professor Mammen has done some fantastic things with this course. I feel like he has lightened the load to make the class enjoyable and rewarding, without compromising the breadth of learning. I'm sure extra practice is always good, but if you feel utterly overwhelmed it can alienate anyone from CS, and this class made a lot of people excited to code. It was still freaking hard, and most weeks involved Saturday/Sunday coding marathons plus several nights during the week. But Professor Mammen's principle objective is to make great programmers who usegood practices, and he will do whatever he can to help the class get there.


Senior
A
Required (Major)
Sep 2016
This class was definitely heavy on projects. Expect to spend at least 15-20 hours a week (quite possibly more) on just this class. This was my first time taking 357, so I personally spent about 35-40 hrs most weeks. Warnings aside, the course felt very balanced, and fairly well prepared for it's first iteration. There were 3 midterms and 1 final (the final was optional if you had a B+ or higher). There were 6 projects of increasing difficulty, and you had different credit for each submission date, i.e. first submission date had 120%, second had 110%, ect. All submissions (labs and projects) were graded by an automatic system, so you usually had your results by 11:20pm. The professor was always open for questions and took his time to make sure you understood his answers. Grading was very fair with an emphasis of projects over exams. Overall the class was challenging but manageable. Definitely recommend this course over the "other" version.


Junior
B
Required (Major)
Dec 2016
Your group mates exists for a reason. But of course not all groups are balanced despite efforts to balance teams. Projects > exam scores. Wikipedia books and other online sources are your friends; Mammen rarely does the teaching. Getting 5-6 projects in successfully within couple days of the 100% deadline will put you in good shape. Excellent shape if you are able to get them in by that deadline. Read project specifications in detail to minimize number of times you'll need to redesign your program. Curve at the end was quite generous. Finally, if you can get almost all and/or all projects in, you'll be in good shape.


5th Year Senior
C
Required (Major)
Dec 2016
On a factual sense and not an aggressive/offensive sense, Mammen is an ass. If you can handle an ass, then you'll be fine. If you're self confidence is low, you should be concerned. When questions are asked he tends to latch on to parts of them but not the whole thing, which usually means you don't get the answer you were looking for. If you can reword the question, you may see better results. If you can't think of a different way to phrase it, just drop it and look somewhere else. Grading is impacted as much or more by rules and style than functionality so skim your code and all the requirements, then check everything specifically, then skim it, check it specifically, and skim it once more before submitting. He gives English descriptions of his tests, core and feature. Core tests are required to receive points. His descriptions of the tests are missing something, almost always, small or big. So if you are trying to get "something, anything" submitted, make sure to comb through the project file for details. If it was detailed in more than 1 sentence, it's probably a core test whether it's listed or not, so just do it. He seems to be of the opinion that if you haven't turned something in you haven't done anything, so even if you know your solution is wrong just submit it to show him you're working on it. Exercises are worth basically nothing for your direct grade but a lot of them will help ease you into projects so it's good to at least understand them even if you don't do them. The group thing is weird. He groups you up with people you can work with but don't directly do projects together. I think I answered more questions than anybody else by far in my group and I had the worst grade. When I needed help I got it though, so paying it forward is a good plan. Overall I would say Mammen is far from my favorite professor but also far from the worst I have had. In my opinion I think I would have enjoyed him and the class more if I asked LESS questions, as I felt chastised almost every time (hence the ass comment). That didn't make him bad, or me mad, but it made me less happy with the course and quarter in general. When he went over projects in class his overviews were WAY more helpful than the written descriptions, so I'd really suggest going to the class. I didn't miss a day and it's probably the only reason I passed a couple of the projects and a lot of the exercises.


Sophomore
B
Required (Major)
Jun 2017
3 Things to know if you're going into this class next quarter: 1. Take 12 Units. The workload is intense, and you will need all the time you can get (unless you're a guru) 2. Start on the projects immediately. Often times you'll need help, and he is only on campus 2 days per week so if you're not careful your weekend could be death. 3. PASS THE PROJECT CORE TESTS. I can't stress this enough. Even if you get a 2% on a project, it's better than a 0 on a project. At the end of the quarter he counts how many projects you successfully get a non-zero grade on and will give you a grade accordingly. From my experience he is incredibly generous with grading as long as you do the work. Overall, this class made me contemplate what I was doing with my life, which wasn't necessarily a bad thing. Even though it was incredibly difficult for me, I learned more from this class than all the other CPE classes combined to date. You WILL be a better programmer by the end of this course. But it comes at a price. For an average programmer like me, there will be panic attacks, mediocre scores, and a whole lot of stress. But if you take the time to do the very best you can (and pass core tests on all the projects), you will be in good shape. Mammen understands that this class is difficult, and wants to help as much as possible. But you'll need to show him that you've put in the effort to figure out what you're doing wrong, and also that you've read the book (READ ALL THE RESOURCES HE OFFERS BEFORE GOING TO OFFICE HOURS OR ELSE HE WILL MAKE A FOOL OUT OF YOU). Solid professor, difficult class, incredibly valuable experience. 10/10 recommend if you're willing to put in the effort.


Junior
A
Required (Major)
Jun 2017
If you have heard of the infamous 357 and are worried if you will survive. Mammen is for you. He completely reworked the material from the previous teacher that taught 357 that made it so hard and dreaded. This is still a hard class and you need to spend at least 20 hours a week coding to stay up to date. If you want on the assignments when they are assigned you will do well. It goes fast and he creates teams of 5 people for you to work with and ask for help. He does everything he can to help people pass. It is a difficult subject and hard class to teach and Mammen does a great job at it. There is three exams. Each of increasing points of (5,10,15) percent respectively. The finial is optional and if you take the finial he will either replace your finial grade with all your other exam scores or just average it. This is to help anyone who falls behind in the first half of the quarter but catch up at the end. There are 6 projects all of increasingly difficulty but for each one he gives you the spec for it and a reference solution to compare yours too and mess with to see how it behaves. Pro tip create tests for your program based on the reference solution BEFORE starting on your own code. It makes your understanding of what you are coding better and you can test often to see how you are doing. Mammen is constantly looking at previous feedback of last classes of 357 to improve his teaching technique and really cares about helping you make it. That being said when you ask a question have the question be concrete first otherwise he will respond with just a vauge reply. But if you have a specific question he was always answer you as best he can. Plan to spend the time and this class should not be too much harder then any other programming course. His personality and humor is really great if you enjoy teachers with a dark sarcastic humor. Overall he cares for his students and teaching as best he can. Take with mammen if you want the best experience of taking 357. And good luck!


Sophomore
B
Required (Major)
Jun 2017
357 is a hard class. It is a class that is a lot of time and work from even before day 1. There's constant stress about getting your work in and having it pass just one of the many deadlines. Mammen is hard and is an asshole- but its fair. He is fair to a fault and that makes the experience really what it is. He explains the concepts very well and has a truly deep understanding of the material so he can answer any and all questions in lecture. However, when it comes to anything past a concept he is near useless. Will not answer any question because if he has to go through your code, he has to go through EVERYONES code and that would overwhelm even the best of us. He does put you in groups and that's a really good idea and tool if you use it correctly. He really does try and work hard on the class and to his credit it has gotten much better than the horror stories of the past. Here's some tips that I learned the hard way and would benefit anyone looking to take his class: 1. SCRIPT EARLY. Bash is really interesting and pimping out your .mybashrc will help you so much in the class. I did the following and it was helpful to me: - If its a long pathname like a stylecheck or anything use an ALIAS!!!! - Write a function that can use loops to grab his test description text files, concatenate them into one file, and make a directory to store them them so you can look at them. - Find a way to copy the makefile and requirements so you can use those and not fail unecessarily. - Make a function that will make, stylecheck, complexity check, zip your files, and submit your assignment. It is easy to fail any part of that. REMOVE YOUR ZIP FILE EVERY TIME SO IT DOES'NT HAVE ANYTHING YOU DON'T MEAN TO HAVE IN THERE. 2. TEST. He literally gives you the tests, so it will boost your chance of passing if you can write the tests and pass them before. 3. WORK WITH YOUR GROUP OR FRIENDS. If you have no idea what youre doing, someone may be able to help you. Unless you have BIG problems, mammen is useless. It makes life way easier to work with others. 4. TRY AND CHILL WHENEVER YOU ARE DONE. I know that I had so much stress with any assignments over my head. Start early and get it done. There will be some small issue down the road and until its passed, keep working and testing. When you pass, try and enjoy what little time you have and destress. It will keep you sane. 5. BITCH TO EACH OTHER. Complaining is a natural stress reliever and its way better to vent frustration (which there will be a lot off) than to just give up and have a breakdown. It's a rough class. I learned so much and have no regrets about taking it. It's been the most useful class i've taken at Poly and it sucks. Really learning sucks. But because of that class I am way more confident as a coder and student. tldr; class is hard, mammen is an asshole but fair, will make your life hell but you become a god if you make it.


Sophomore
C
Required (Support)
Jun 2017
I enjoyed having Mammen for 357. I really don't think he's a jerk like so many people say he is. He seemed very invested in his students and was willing to help out any student that was struggling. 357 is a difficult class with a large workload, but it is certainly manageable. I would recommend taking Mammen.


Senior
A
Required (Major)
Nov 2017
I am not completely through this class yet, but I felt i should write this now while people are registering. 357 is by no means an easy class. I have sacrificed most weekends of the quarter to solely this class, but with that being said if you are willing to put in the effort you can definitely succeed in this class and will learn a ton. In my opinion Mammen is a fantastic professor. While he may come of slightly rude if you ask a dumb question, that is only because this class simply does not have the time for you bs. I can see why some people think he is a bit of an ass, but I personally love the fact that Mammen will shit on the kid who tries to argue with him over some tiny dumb issue in the lecture, some of these kids really need that. If you truly want to learn C and become a better programer i would highly recommend Mammen and be sure to take the valuable tips he gives in the beginning of the course.


Sophomore
B
Required (Major)
Dec 2017
Mammen was much less of an asshole than I expected from his reputation and other polyratings. He was able to convey the material clearly, although I would have preferred more structured lectures. The class is very heavy on projects and exercises, and the due dates are quite stressful, and the class overall seemed like hazing. However, that is no reason to hate on Mammen in particular, it is just something to note about the class. If you start early and refactor often, you should be able to get a fine grade from him in this class, and if you just turn in every project for some amount of credit, you will almost certainly succeed, for various definitions of "success". Don't expect to take any other tough classes with 357, because you will probably need a fair number of working hours for this class. It did make me a better programmer, but also crushed my spirit and showed me more of what imposter syndrome and burnout could really mean. Regardless, Mammen was helpful and knowledgable and, for what it's worth, didn't seem like an asshole at all to me.


Junior
F
Required (Major)
Dec 2017
I originally wasn't going to write a polyrating for Mammen, but after rereading the last several ratings for him I felt that I needed to for the sake of future students taking 357. Now I'm sure you've already heard that he assigns a ton of work or that he's a straight up asshole (both of which I thought were true, but not why I failed), so I'm gonna try to not talk about that. What I found most irritating about Mammen was his teaching style, or the lack thereof. He describes himself in class as a "guide", not a teacher. This is his excuse to barely give anything resembling a useful lecture every class. He will occasionally help you in office hours if you go, after several insults to your code and intelligence of course. He doesn't teach you anything, simple as that. Here is my warning: If you're able and willing to teach yourself all the material for this entire course, then great! As long as that continues the whole quarter with 20-40 hours a week just for this course (depending on your self-teaching ability), you'll probably pass the class with at least a C. However, if you are unable to teach yourself 3 months worth of difficult material like me, AVOID MAMMEN AT ALL COST. If you're in the second scenario, I would literally take ANY other professor. Save yourself the time, stress, and money by taking someone else, I know I will be when I'm retaking this class.


Junior
C
Required (Major)
Dec 2017
Right off the bat, I have to say this class will require a lot of your time. Mammen tries his best for all his students to succeed. The class requires you to do majority of the reading and studying and Mammen uses class time to answer questions and sometimes go over some important C topics. He really cares about code quality. Unit testing and functional decomposition will help you a long way in making the projects and exercises easier. I am not a student that usually attends office hours or really speaks with their professor throughout the quarter but doing so will greatly help you do well in this class. Overall, this was a great class to take and helped me get a better understanding of UNIX and unexpectedly taught made me a lot better in writing BASH scripts.


Senior
C
Required (Major)
Dec 2017
He may be an asshole if you ask stupid questions but I believe this is only done so that you think for yourself. He was nothing but kind and understanding in our interactions (although few). This course was very difficult but I learned a tremendous amount so I would definitely recommend taking 357 with mammen. He tries hard to have you succeed. The course material could be altered but mammen is already taking steps to improve upon it for next quarter. Many people will give him a bad rating because of his low tolerance for stupid questions making people afraid to ask them but I promise if you do the reading and aren't a basketcase you won't have many stupid questions to ask. Honestly I enjoyed his bluntness as I don't appreciate having my time wasted because some idiot didn't do the reading and is too slow to figure it out on their own. Mammen's strategy of groups helping each other on projects can probably be hit or miss but I still think it's the best solution available. I can't speak to his office hours as I did not attend them but it seems like he tries hard to be available. Tl;dr: good teacher, maybe asshole. Your quarter will be hard but you'll learn a lot and thus won't regret taking him.


Senior
A
Required (Support)
Dec 2017
Mammen is the shit. If you didn't like his teaching style it's because you weren't prepared to put in the work this course demands. If you are willing to work at it Mammen's class will teach you more than you've learned in your other classes combined.


Sophomore
B
Required (Major)
Mar 2018
I'm not going to sugarcoat it, 357 is a leap compared to the intro classes. But it isn't as bad as it used to be. Mammen makes an effort to improve the course every quarter. Just this quarter he separated a project into two different ones to help more people pass. He claims to have lowered the workload, but this class monopolized my time. This isn't an easy class. Start on projects early (it's easy to put it off but don't give into the temptation) understand the exercises because they will be part of the project or exam. Since there is a different project every week, if you get behind on a single project, it will put everything back. You will dedicate hours outside of class to coding. Just because you have a lot to code, doesn't mean you can't code smarter, not harder. Make test cases and scripts, check for style and makefiles, and code in small testable parts. Especially in the beginning, don't neglect the reading! Mammen writes observations at the end of assignments, these are important and can save you time later! One gripe I have is that his office hours are only on the days he is on campus, Tuesday and Thursday, and then it's important to make an appointment. If you have a bug you can't identify over the weekend, hope you can figure it out. There are teams you get grouped into, but be aware of the collaboration agreement. He is very strict on this and can even lower your grade retroactively if you share your code after you finish the class! Also, there is the grading system. You have multiple times to turn in the same assignment by a due date, each time the score decrease. It's nice that there are multiple opportunities if you forget to style check, and see progress, but it does mean constant coding to improve for the next one. Mammen is tough but fair. If you get a B- or better, you don't have to take the final. Good luck, you're going to need it :)


Junior
C
Required (Major)
Mar 2018
Professor Mammen is incredibly intelligent, and I think that sometimes his intelligence makes him come off as demeaning. He has a strange way of making his statements both informative and insulting...but I loved it. He's someone you can talk to and you can tell he's not babying you, which actually came as a refreshing experience after working with professors who I simply couldn't relate to because of that "babying" wall. Professor Mammen forces you to look at yourself in a different way, realize your mistakes, and then make you want to fix those mistakes and weaknesses just so you can prove him wrong. All in all, Mammen is extremely knowledgeable in the subject matter, genuinely cares about the success of his students, is helpful in office hours (sometimes...usually...kind of), and is extremely responsive to e-mails. I actually preferred e-mailing him, just because he was so thorough and typically slightly less mean. Office hours were good for debugging though. Just make sure you PREPARE to talk to him. He won't give you the time of day if you can't prove to him that you have worked through it a lot and still can't figure it out. I walked in to this class expecting to hate him, and walked out thinking he is pretty amazing. Despite the demeaning tone, I still went to office hours and still walked out enlightened every time, and by the end of the quarter I even walked out of office hours with my self esteem still intact (mostly because I learned how to not ask stupid questions...maybe he's demeaning on purpose just for that reason?). Honestly, I would suggest taking him for 357 just because you learn so much in so little time. Thank you Professor Mammen for an exciting quarter. I'm not sure I'll miss it, but I'll definitely look back on it fondly.


Sophomore
B
Required (Major)
Mar 2018
Contrary to popular belief, Kurt is not an asshole. He may be intimidating at first, and well, he's still kind of intimidating throughout the quarter, it was reassuring to know that if you sent him an email with a well thought out question, that he'd respond in a timely manner with helpful feedback or ask that you schedule an appointment with him. Don't get me wrong though, this class is not easy. I do not recommend taking more than 12 units with this course (including this course). This course contains 24 exercises (lab assignments) and 7 projects. Exercises and Projects have a rolling due date, which means there are several submission dates, each day with a lower percentage (e.g. Project is assigned Tuesday, first submission is Thursday for 110%, Friday for 100%, Saturday for 90%, etc.) These rolling due dates are great because if you fail core tests for one submission, you can fix your code and submit it again the next day. If you fail core tests, your code isn't eligible to be graded, so it's important to write test cases early on. I've learned that it's not the end of the world if you turn in an assignment for 30% max credit. Kurt knows that some students take longer to write a project than others, and so he believes that if you're able to eventually write a project, that's acceptable to him. He's told our class that he's never failed a person who has turned in and passed 6/7 projects, so there is hope! I'd highly recommend becoming good friends with your teammates, because those will be the people who will answer your questions at 1 AM. Kurt told us one day that he's been told that his lectures are mostly just history lessons on the class. Well, he isn't wrong. He likes to give stats on previous sections that he's taught/other professors taught and then compare it to recent sections of 357 to show his improvement. While that's great, I wish he had spent more time teaching subjects that relate to the day's exercises. Typically, he would go over the exercise in lecture, but then really leaves it up to you to learn it, which isn't necessarily the worst thing either. There are three midterms and a few reading quizzes. The quizzes were based directly off of the assigned reading, which is very helpful, and the midterms were ok. The first midterm average was something like a 68%, the second midterm was low 70s and the third midterm was a little higher than that. Personally, I did well on the first midterm, ok on the second midterm, and not so hot on the third midterm. My project grades got lower as the quarter passed and I was sitting around a B-/C+ range overall. The last day of class, he will hand you a piece of paper with your course grade, and if you have a B- or higher, you don't have to take the final. I lucked out with a B- and said I'm good - the course curve is huge! I learned A LOT in this 10 week course and my confidence in coding has increased significantly. Even though this course kept my stress levels at a constant high, I don't regret taking Kurt and I do recommend taking him if you want a challenge and want to learn a lot about C.


Sophomore
B
Required (Major)
May 2018
CPE 357 has been my biggest stepping stone so far as far as CS classes go. That being said, Mammen has taken his time analyzing where students have traditionally struggled in the course, and modifying the course to better facilitate our grasp of the material. Even though the course is difficult, he teaches it in a way that naturally progresses you through the topics so that it doesn’t feel ridiculously overwhelming or confusing. Don’t interpret this as 357 with Mammen will be a smooth ride, I did still spend countless days without eating (until 11 PM) and with little sleep, but it was all worth it with how much I feel like I’ve grown as a programmer. People may say he’s an asshole at office hours but as long as you pay attention in class, take good notes, and make a solid attempt at understanding whatever issue you have, he’s more than willing to help. Essentially, don’t be expecting free handouts. I’d like to end this by saying that what I’ve learned from this class may have been the biggest driving force behind landing an internship for this summer, as being able to explain the performance of one of my projects left a lasting impression on the interviewer. It will be difficult, but as long as you complete all of your projects, you will almost certainly pass the class, and grow significantly as a programmer.


Junior
B
Required (Major)
Jun 2018
Here's the deal with 357. It's hard. You're gonna have to do work. You're going to struggle. This is -very likely- going to be the first REAL CS course you take at Cal Poly. On paper, it sounds like it might not be a good idea to take Mammen's 357, but I'm here to tell you why its the -best- thing you can do for yourself as a student in CS/CPE/SE at Cal Poly. That being said, this was my FAVORITE class so far at Cal Poly. Hands f*ckin down. Mammen is the man. Would 100% recommend him to anyone. You're going to learn a lot of cool stuff this quarter, and you're going to be doing it under a professor who seriously cares about his students. Hard work is rewarded in this class, and being ahead of the game will pay off later in the quarter when things really start to get tough. Mammen is not a BSer. He happily removes things from the course material which he deems unnecessary or extra "busy work", which leaves only the most important material behind. If you're someone who works hard and is willing to put in the time, you will be rewarded in this class.`` Mammen trains you (hopefully) to carry the mindset of "do it right the first time", which is really valuable in later courses where there is virtually no hand holding. If you wanna learn how to become a self sufficient, efficient programmer, and learn relevant skills to the industry, then give this dude a shot. Like most others have said before me, this class is a massive time sink. You will spend WAY longer working on the assignments given to you in 357 than you have for any other CS class prior. I guarantee it. However, with the right approach and preparation, you can minimize this amount of time to virtually as little as you like. Personally for me, I spent anywhere from 10-20 hours a week working on this class. For some, its 30-40. It just depends. Hopefully the stuff I explain in this PolyRating will give you some ideas on how you can be the "10-20" guy and not the "30-40" guy (or gal). This is going to be a long evaluation, but I encourage you to read the whole thing, because I'd like to attempt to explain to prospective students why they should not be afraid of 357 and why Mammen is the best choice you can make for this course. I will also attempt to give some advice for doing well in this class and getting off to a good, clean start. If you read this entire post, then you will likely have a good understanding of what you're getting yourself into. Anyway, here goes.. 1. What should I know about the class? Here's a breakdown of the things you're gonna be doing this quarter: 24 Exercises (Labs, if you will, but they aren't as long as your typical labs) 7 Projects (the bulk of your course grade) 3 Exams 1 Final, tentatively based on your final grade beforehand * Grading: Almost an entirety of your grade is going to be based around how well you do on the Projects. In this class, the curve is generous, so getting ANY credit at all on a project is very favorable for your final grade. Just get it done at all costs! You also need to do fairly well on the exams too, however in my section, the averages were pretty normal (C-range), so the curve will help you a bit there if you at least manage to do average or slightly above average. * If you manage to get a B- or higher overall, Mammen allows you to opt out of the final and accept your grade as-is! Probably the coolest thing because if you do well enough, it's basically a reward to you for being ahead of the curve. Also, if you DO end up having to take the Final exam, you are allowed to substitute your "Exams" grade with your Final Exam score, which means that if you do horribly on the first 3 exams, you can have all their collective scores replaced with your Final exam score! A comeback opportunity, if you will. The workload: This is a PROJECT BASED COURSE! That means you're going to be spending less time learning about core programming concepts and focusing more on the projects. Mammen DOES lecture, but it's usually about the newly assigned project(s): explaining technicalities and expectations, showing how the reference solution works, etc. YOU ARE EXPECTED TO KNOW BASIC PROGRAMMING CONCEPTS. If you still don't know what an IF statement is, or what the logical difference between WHILE and DO-WHILE is, you need to do some brushing up NOW, while you still have time! You also need knowledge of basic data structures, and since C is a lower-level language, computer organization skills (memory models, etc), both of which you should have gotten from your 202 and 225 classes, respectively. FURTHERMORE.... MAKE SURE YOU HAVE A DECENT GRASP ON C OR AT LEAST C++ OR JAVA. Part of the difficulty for most people in programming in C is that the language is statically typed, which means that your program's data needs to be defined at compile time. You have to be explicit with C with everything. Data types, array sizes, etc. Among other things, syntax is heavily enforced. C is the type of language you hear about where people spend hours debugging because they forgot a semicolon somewhere (unless you are smart about your programming habits). If you already know C++, that's a huge bonus, since C and C++ are extremely similar. If you've started at Poly in the last couple years, chances are high that you took your entry level classes (202, etc) in Python though. If that is YOU, start learning C or at least C++/Java ASAP. Mammen has written his own textbook for this class based on the required K&R text, which DOES explain most core C concepts.. but not all these things will be gone over in heavy detail in class, so knowing C at at least a basic level prior to the first day of this class will seriously improve your chances of getting off to a good start. And in Mammen's 357, a good start is essential to doing well in the end. Like I said above, Projects have the biggest impact on your final grade. These are what you've been hearing about where people stay up until the wee hours of the morning getting done. You NEED to get these ALL finished if you want to have a serious shot at an A. Do NOT underestimate their difficulty and the time it takes to complete them! Remember, its not 202 anymore. You're not gonna get brownie points for simply finishing the problem. As Mammen himself will say countless times, the best solutions solve the problem in a clear, concise, and performance-efficient way. You're going to be graded on not just finishing and passing the tests, but also on the complexity of your code, as well as performance in CPU and Memory Usage. You also need to adhere to a specific style when writing your code, all of which will be explained by him in the first week. This class has a different grading system than most other courses you've probably taken in the past. Assignments are given with rolling due dates, which means the point value of the assignment degrades over time. Typically, assignments start off being worth 120% credit after a day or two, so you get a couple of free days if you get started early. As days go by, this percentage begins to decay, eventually bottoming out at 0 altogether, after which you will receive no credit. Taking advantage of the extra credit is how you can keep yourself a head of the curve, and give yourself a buffer (no pun intended.. well maybe) for "bad days". An automatic grading system is used that checks your code against pre-made test cases, which Mammen kindly gives you descriptions for. The ones you need to be concerned about are the CORE Functionality tests. These are the tests that you SHOULD pass if you at least solve the problem. If you fail ANY one of these for ANY reason, you will receive a ZERO for that submission date. The grading system only runs once a day, so if you fail, you will have to wait until the next night to find out if you fixed it. THIS is why you need to start early and do well (there's a whole section on that below too). Also, the Exercises directly correlate to the Projects too, so don't skip any of them either. A lot of times, you can directly copy the code you wrote into your Projects! Stuff gets real in 357, so you need to step up to the plate early and stay there. 2. What should I know about Mammen? Kurt is a very knowledgeable professor. He has experience in his field and he knows what it takes to succeed. If you are willing to do the work he gives you, he will be willing to work with you in return. You're in college now. You're gonna have to start doing the work yourself eventually, and this is likely going to be the first class where you will have to do just that. He isn't here to hold your hand and reteach things you should already know. He's here to teach you how to be an efficient programmer who has good work habits and possesses significant knowledge to pass future CS/CPE classes that 357 is a pre-requisite for. That being said, the #1 reason why I loved taking Kurt's 357 class was because of his EXCELLENT organization skills. Trust me, I've seen some of the past material for previous 357 iterations, and Mammen's new and improved method is way more digestible and manageable. All of his Exercises and Projects have a realistic purpose and they all lead into each other quite nicely. In fact, most of the code you write (if not all) in this class could be used to help yourself land an internship. Kurt has removed a lot of the material he has deemed unnecessary, or material that is simply "busy work", which means that your Projects are slightly simpler than previous iterations / other 357 courses offered at CP. All in all, he's a really down to earth professor and he wants to teach you the relevant facts and material, and just that. He isn't gonna waste your time with random details, and in fact he will make an effort to point out flaws in the text and address them in his own succinct and concise way, which only helps you understand it better. Mammen is also very interested in improving the overall pass rate of 357, since historically speaking, the class has had poor performance until recent years. This plays a large part in his set up of the class material, and he will take the time to remind students where they stand with respect to history and average statistics. After every test, you will be told the average score and will have an opportunity to discuss grading mistakes. He will encourage you that a low grade on an exam doesn't necessarily translate to a low grade in the class. The guy wants you to succeed. We all know there are professors out there who don't really value student success over their own personal endeavors. Mammen is definitely NOT one of these professors. He wants everybody to pass, and you should come in with the mindset that you will do well and that you CAN pull it off. One last thing: Kurt is extremely cognitive of cheating, and he takes plagiarism extremely seriously. Don't try to cheat. You will be found. You are NEVER under any circumstances, aside from with a prospective employer, allowed to share your code with ANYONE or publish it ANYWHERE. EVEN AFTER THE QUARTER HAS ENDED. You will have your grade lowered! He will tell you this many times throughout the quarter. 3. What do I need to do to succeed? Here's what I recommend you do in order to succeed in this class and have a much simpler quarter than most of your classmates who DON'T read this PolyRating :) I. LEARN HOW TO WRITE BASH SCRIPTS Mammen actively and vehemently advocates his students to learn how to write scripts in the Unix BASH environment. If you've ever messed around with Windows Batch scripts, then BASH is somewhat similar, except it has tons more flexibility. It's basically it's own programming language for the terminal (Mac users should know what the Terminal is). If you learn how to write scripts in BASH, you can essentially automate a lot of the mundane tasks you will have to perform throughout the quarter (and during EXAMS, which saves valuable TIME!!!). Here are some examples of things you could write BASH scripts for: - Creating and running test cases (numero uno for importance. Your grade depends on this!) - Computing the complexity score of your code (yes, your code needs to be reasonably well-formed and written, and this will be graded) - Style checking your code (yes, there are style guidelines for code in this class) - Fetching and displaying Mammen's assignment data (test descriptions, makefile, etc) Basically, you want to automate as much as you can, because it only saves you time in the long run. There will be on-machine portions in your Exams where you will need to write WORKING and WELL-WRITTEN code under time pressure. Scripts are going to save your ass for these portions because you need all the time you can get! The first week of the class is pretty chill, and you won't get your first project until Week 2 or 3. Use this time to learn BASH and create some useful scripts for yourself. THIS IS WHAT SEPARATES "A" FROM "B/C" STUDENTS IN THIS CLASS. We're Computer Scientists/Engineers/Software Devs. We take advantage of the technologies given to us. Use BASH so you can make the terminal your ***** and save yourself some time and headache! II. START EARLY Seriously. Start. Early. I already mentioned this a little bit above when I talked about the Grading System. You'll see what I mean when you get to Project 1. Like I've stated above, this is a REAL CS class with REAL expectations. There's no skeleton code you fill in to complete the assignment, there's no groups (well, technically there are *), and YOU have to write the code yourself. This class is really going to test your ability to articulate and understand a problem, then come up with a well-formed solution. It's going to test your understanding of how programs work in general from a logic and algorithmic standpoint. Project 1 is very simple compared to the rest of the course, but if you're like me, then you will realize that Project 1 is already a lot more difficult than most other projects you've done in your CS classes here at Cal Poly. So.... DO NOT LET MULTIPLE PROJECTS STACK ON YOU AT ONCE. You will have a new project EVERY WEEK. AIM TO GET THE PREVIOUS ONE DONE BEFORE THE NEXT ONE IS ASSIGNED. Take my word on that! I gave up my weekends to ensure that I only ever had ONE project to worry about at a time, and I am so glad I did, because it gets more difficult later on. Pay it forward for yourself and keep ahead of the curve. Trust me on that one. WAY less pressure!! And you have better things to be doing besides spending 40 hours a week on 357 anyway! And by the way, Mammen rewards hard work. There are some Projects/assignments in this class where having the previous one completed directly aids you in the followup assignment, so just get it done early! * there ARE groups, but they are groups you can collaborate with on concepts and ideas. They are NOT partners you can write/share code with. And by the way, Kurt is VERY cognitive of students attempting to cheat in his class. If you already know you might do this, don't bother signing up because you're gonna get caught. III. PARTICIPATE You get graded on participation in this class, both from attendance, and your involvement with your team. Take the initiative to ask questions while you are in lecture/lab (the TA's are awesome - S/O to Griffin), and be there for your team. A small portion of your grade will depend on it! This is definitely NOT one of those classes where you can get away with skipping a day or two just cause you stayed out until 2 AM drinking with your friends. Be responsible and make this class a priority, as it should be. If you get all your stuff done, then sometimes you CAN get away with skipping class, and that's part of Mammen's reward to you for being a good student. IV. HAVE GOOD CODING HABITS Write things clearly and concisely. Use meaningful variable names. Use meaningful function names. Be explicit with your code. If you decide to make an if statement, add a COMMENT explaining why. We don't write comments to clutter our code, we write comments so that we AND OTHERS can understand WTF is going on in our code. Honestly, come up with some pseudocode and write the pseudocode in as comments FIRST. Then fill in the gaps with your code. Not only does this streamline your development process, but it actually makes it easier to DEBUG your code. If you don't write comments explaining WHY you put that IF or WHILE where you did, you might come back to it later and wonder why that's there or what it's doing. It also helps you reinforce the algorithm in your head, which only helps you to understand WHERE potential problems may lie when you inevitably run into them. It ALSO helps later on tests, where you may need to recall processes/algorithms from past assignments! At any rate, that's all I can think of. Your destiny with 357 largely depends on your willingness to do the work and not just complete it, but actually understand it and do WELL. I can't stress enough, the importance of getting projects done EARLY. Seriously, most of us have Financial Aid or other obligations that require us to be full time, which means you aren't just going to be taking Mammen's class. The LAST thing you want is multiple projects (which decay simultaneously in score) at the same time! And like I said about the suggestions, aim to do things right THE FIRST TIME. AUTOMATE STUFF. And be a good teammate and ask questions. If you do all that, this class is not nearly as bad as people make it out to be. Good luck!


Sophomore
A
Required (Major)
Jun 2018
CPE 357 definitely has a reputation. The class is a lot of work and certainly is stressful. As Mammen often says, A students can expect to spend about 20 hours per week on the class and it only goes up form there. Of all the courses I've taken in my first year in computer science, none have taught me as much about C and Unix and programming in general as this class. Mammen doesn't lecture a ton (it's mainly going over the projects and giving tips) but his descriptions of tasks are thorough and helpful. Some general tips for the course: - Clear your Wednesdays. Projects are assigned on Tuesday, you have all Wednesday to work on the project and discover whats difficult, then you can ask questions on Thursday. If you wait to start late and encounter a problem, you can't ask Mammen until next Tuesday when you can only score 60% max and you are assigned another project - Learn Bash scripting. Bash scripts allow you to run a bunch of tests quickly and discover your problem. Also, when you go to office hours and Mammen asks you to run your tests, he won't destroy you for running them individually - Do the exercises early. Exercises from the Thursday before and the Tuesday a project is assigned are usually related to the project. Do them early and you'll usually have something to help with the project. Mammen really is a good professor, don't be afraid of this class. Almost 90% of people pass the class and almost 2/3 don't have to take the final (B- or higher). Enjoy!


Junior
D
Required (Major)
Nov 2018
Spicy asshole.


Graduate Student
N/A
Required (Major)
Dec 2018
Mr. Mammen's 357 class had the most organized curriculum I have ever experienced. Your intellect and tenacity will be challenged beyond a point you think is reasonable or even possible. You will become a more independent, confident and efficient programmer if you make it through his class. The "Mammen is an asshole, etc etc" mumbo jumbo is simply a wake up call for students who are yet to break bad habits, for example asking for unnecessary help. Yes, you will get chewed out if you ask a question you should either already know, or know how to get the answer. In short, Mr. Mammen's class is very well thought out. He gives a shit about your success in his class and beyond. YOU NEED TO DO THE WORK. Keep a positive mindset and don't take anything personal


Sophomore
A
Required (Major)
Dec 2018
This is going to be a very long review about almost everything in Mammen's 357. There's no TL;DR at the end but I hope it will be helpful, sorry! I'm going to begin with the class structure. Your grade is made up of several components: programming projects, labs, exams, final, and participation. The seven programming projects were worth (around) 30% of our grade. These were the part of the grade that many people struggled with. Typically, the projects were assigned on Thursday and had multiple due dates, with a declining percent of points possible on each subsequent due date. Usually the first due date was that Sunday night at 11PM, on which you can get 110% credit. The next would be Monday night at 11PM, for 105% credit. The credit goes down by 5% each day, and usually the due dates go until around 50% or less depending on the project. After the final due date, you would get 0 credit. The programming projects also affected the final grade we were eligible for. With every project we got 0 credit for, the maximum final grade we could achieve in the class went down (I believe if you get 0 credit for one project, the maximum grade you could get is a B-, and it decreases with every project you don't complete). The labs were smaller assignments, and we had a lot of them. They usually were there just to reinforce your knowledge of 357 concepts -- Mammen said he didn't want to have them for credit, but gave credit for them as a "carrot on a stick" that encouraged us to actually learn the concepts. They were usually due the same night they're assigned at 11PM for 110% credit, with subsequent due dates knocking off 10% each time. The exams were pretty difficult and sometimes tested minute details of the reading. The first two exams were worth less, but the third exam was definitely the most important. With the third exam, you need you score at least 10% of the exam's value below the median class grade to be eligible for a B- or higher in the course. Participation was another "carrot on a stick", again Mammen's way of encouraging students to come to class and learn. He sometimes took attendance in lecture and lab, which would be factored into the participation grade. The final is largely a repeat of the third exam, but the class is graded on a curve. And, if on the curve you have a B- or higher before the final, you can opt out of the final exam and accept your current grade as it is. If you have lower than a B-, though, you are required to take the final exam. There is a strict collaboration agreement, that if you violate you will most likely be given an F in the class and reported to the university for cheating. All work is expected to be independent work, and you aren't allowed to collaborate on assignments with your classmates who aren't in your team. You are assigned a team in the class, who will be the only people you are allowed to collaborate with on 357 assignments. This means you can ask them for help with debugging or talk about approaches to projects with them. However, you still aren't allowed to copy code. If your code is too similar to that of anyone's -- whether it be your teammates, classmates, or previous students, Mammen will talk to you and if he finds that you copied code or collaborated inappropriately, it will be a violation of the collaboration agreement. DO NOT COPY CODE UNDER ANY CIRCUMSTANCES!!! There is a lot that might incentivize you to cheat, but in the end it'll hurt you for not knowing important concepts and whoever you cheat with because they'll be dragged into this too and will probably receive an F in the class with you. Mammen can and has also changed past students' grades for letting current students cheat in the class as well. Don't copy code just to get it in early; there are many due dates for each assignment to give every student every opportunity to turn in work and get a grade. Also with the curve I believe there is a relatively high pass rate, so if you do what you're supposed to in learning material and staying honest you most likely should not have too many problems passing the course. Mammen was, objectively, an asshole. But he was a good asshole; he wasn't an asshole to students for the sole purpose of being an asshole to students -- he did it so that students could find their own solutions to their problems, so that he could teach them one of the skills that computer programmers need most: the ability to step back and look deeper into a problem to find a new approach at solving it. Of course if you take Mammen's class expecting it to be just like any other CS class you've taken, you'd be in for a rude awakening. Mammen gives you the basic information you need to succeed in an assignment, like introducing new concepts that you've probably never seen before. The rest is up to you; it's your job to dig into your prior knowledge of programming concepts and learn new ones outside of what he taught you in lecture to come up with your own individual solution to a problem. CPE 357 took up a very large chunk of my time this quarter. A lot of that time was occupied by researching new concepts and debugging. One tip to anyone taking 357 with Mammen: make sure you know what you're doing. Please don't use the technique that got you through all your prior CS classes, just coding and figuring out what you're doing as you go. A lot of the projects in 357 required a decent understanding of the main concept as well as a decent understanding of the different steps you're going to take in your code. Mammen's teaching style worked for me, as I was able to independently work on my own understanding of ideas touched on by him in lecture. Mammen does not hold your hand through solving problems. When you ask him a question, he expects you to know at least the basic idea of what you're doing and possess a good understanding of the concept the assignment is based on. He will pick apart your knowledge when you ask him about a bug. Don't do your reading, and you'll be in for quite the embarrassment as he derides you for diving in before knowing anything about the topic. Know what you're doing, and Mammen will be the most helpful helping hand as he walks you through debugging your code. Overall, Mammen was very effective in introducing us to what'd be expected of us in an actual job in industry. I was worried at first taking his class after hearing what I've heard from the students before me, but taking every project and new concept one at a time and really thinking about what I was doing really helped me get through the class.


Sophomore
No Credit
Required (Major)
Sep 2019
He looks like Walter White / Heisenberg from Breaking Bad!


Senior
C
Required (Major)
Dec 2019
Though he was almost going to fail me because of an plagiarism incident (otherwise I would have a B-), I love him so much because the way he taught!

CSC 357


Senior
A
Elective
May 2010
I got to admit, based on all I heard, I was prepared for hell. For all that, Mammen\'s alright. He\'s a typical, \"if you haven\'t read the manual first don\'t waste my time with your problem\" kind of guy, which a lot of hardcore coder types are, and I wouldn\'t want him in an intro course for that reason. However, for a higher level programming course like systems programming he\'s alright, because if you\'re at that level you should be reading the manual first anyway. Follow his lectures and you\'ll never be surprised come program assignments.


Junior
A
Required (Major)
Aug 2010
Mammen can be rough to get along with. He\'s VERY quick to jump down your throat if he feels like his time is being wasted, and can be very intimidating. He\'s genial enough in labs and lectures, though. If you don\'t see yourself needing a lot of help in the course, Mammen is a decent prof to take. If you think you may need any help from him whatsoever, though, try to get it from someone else.


Junior
B
Required (Major)
Apr 2014
Yeah yeah we all get it, Mammen is a dick, but he's only a dick because it is effective. Do you rarely put your best effort forth and try and slide by in your classes? Mammen will call you out on it. In your mind you're thinking "This guy has it out for me". Wrong, he is trying to better you, make you think about your problem before mindlessly whining for help. As a student who asked tons of lazy questions myself I know how much it sucks to have a professor make fun of you in front of everyone but it is honestly necessary for your development as a programmer, nay, as a productive member of society. I truly believe that every student should be forced to take him for at least a quarter because he is not only a great professor in terms of subject matter but teaches you a lot of other programming skills that most professors are too lazy or too weak to teach you. You're pretty fortunate if you get this guy as a professor for one of your classes.


Junior
C
Required (Major)
Mar 2015
The problem with Mammen teaching CPE357 is he's stuck with Staley's coursework, which is specific to Staley's homework system and Staley's lectures, and Staley's Labs, and Staley's project, and quite frankly no one deserves to have to deal with Staley in any capacity. If you demonstrated you did at least attempt to solve your problem before you came to him, he will sit down and help you solve it for as long as it takes. The other 10-15 people waiting for his office hours might not like it, but that's just the reality of Staley's projects.


Sophomore
A
Required (Major)
Mar 2016
Seen this guy walking around in his Hawaiian shirt drinking OJ like hes on vacation. Chill guy definitely him over staley. staley cant even pull off the hawaiian shirt he looks constipated even when he smiles.


Sophomore
B
Required (Major)
Jun 2016
Mammen is a great guy and very well knowledgeable about this subject. As far as 357 goes, it is a hard class. The projects are challenging and there are a lot of them. That being said, this experimental, new format of 357 is much more manageable than Staley's version (from what I've heard). I cannot recommend taking this class with any more than 12 units because it takes on average 25-35 hours a week outside of class for this class alone to do all of the projects and assignments. Everything is given to you well before the deadline, and if you wish to do well it is important to start as soon as possible. In the new class format you will be placed it teams of 4 or 5. GET TO KNOW YOUR TEAM! It will imrpove your 357 experience immensly. Most importantly if you are ever stuck seek help from your team or other students before Mammen. Simply put, Mammen is an absolute ass hole and is not at all helpful one-on-one. Going to Mammen for help will likely just decrease your morale and make the project more difficult. As far as the exams go, they are all very fair as far as material goes. If you do your assignments and reading, nothing on the exams should be a surprise. They will take the full 2 hours, and are generally 50% on paper 50% writing small programs. Overall 357 is interesting, fun, frustrating at times, and inconceivably time consuming. GOOD LUCK.


Sophomore
B
Required (Major)
Jun 2016
I can honestly say I was terrified to take CPE 357. I had only ever heard horror stories of the class and was expecting to fail my first time. But Mammen completely changed the way that this class has been taught in the past. We were able to have collaboration groups (not sharing code) but people who were there for you to answer questions; and I actually ended up becoming really close with my group. This caused me to learn so much more about coding than I've ever learned before. I think Mammen differs from teachers of 357 in the past because he is not just promoting the geniuses in the class, but he really roots for the underdog. He is always trying to see what he can do to help get at least one more student who is falling behind a chance to catch up, and I think that's a really great quality. This class was definitely still hard, and I put in many 40+ hour weeks, but I have to say the experience was actually made so much better because of Mammen. If you utilize the tools he gives you, and work very hard, then you'll learn so much from this class and hopefully have a positive experience rather than a terrible one.


Graduate Student
B
Required (Major)
Jun 2016
First off, I just want to go on record as saying that Professor Mammen had to restructure the whole course this quarter and it's always very difficult to implement it exactly as you've planned. However, he did an excellent job giving us relevant Projects and exercises pertaining to the material we were currently covering. The class is still incredibly difficult and the workload is absolutely NUTS. I've put in easily 40 - 50+ hours per week in the last 4 weeks of the course as we get wrapped up in midterms, exercises, and Projects (for just this class), in conjunction with all the material from other classes. My word of advice to all the people taking this course: 1. Start the Projects literally the day he assigns them. If you do, you can get it done ahead of time and you'll do well in the course. If you don't, I can almost guarantee you'll have a horrible time because each project literally starts the second after the previous one is done. AND MAKE SURE YOU PLAN THEM OUT BEFORE STARTING THEM. Also, Professor Mammen mentions at the beginning of the quarter that everyone should read the spec for the Projects that he posts. ALWAYS READ IT VERY THOROUGHLY, as it has literally everything on there that you need to code the projects. 2. READ THE TEXTBOOKS. Almost all the exercises are covered very well by the textbook. As for the Projects, you WILL NEED to read the relevant chapters because they mention the correct functions to be used. Try to understand them before using them or it'll cause huge problems. Overall, I'm not sure if this class is a little easier than Staley's version as I've never taken Staley before but I'd assume it is because I've heard that people fail that class a bunch before actually passing. Mammen's class was hard as hell, but I still feel that it was very fair because he gave us the opportunity to Auto A and B to opt out of the final as long as we've done relatively well up until the last week (class is curved a ton).


Sophomore
B
Required (Major)
Jun 2016
I actually enjoyed taking this class and this was probably my favorite CS class I have taken so far. I got a B+, but definitely could have gotten an A in the class. Some advice I would give to you guys is: 1) Start the projects and exercises immediately! Don't even wait till the next day, start writing your pseudocode literally right after class. I knew so many people that were struggling with their projects because they didn't start working on them until later and they easily could have finished it if they did. That's probably the most important piece of advice I would tell anyone taking this class. Also make sure you spend a lot of time planning out your projects. I spent 4-5 hours each project just writing pseudocode and designing the steps of my program. 2) Read the assigned reading! Most of Mammen's quiz and midterm questions come straight from the assigned reading so they're easy A's if you just read. I recommend having a 2 hour gap right before your class so you can read the assigned reading and have it fresh in your mind when you take the quiz. Overall, Mammen was a great teacher and the projects were really complicated but they were really fun.


Sophomore
A
Required (Major)
Jun 2016
I don't normally write ratings, but between professor Mammen asking for students to write honest reviews of the REVISED 357 and my personal fondness for both the professor and the course, I decided to give it a go. First things first, yes, you read the previous line correctly. I am indeed quite fond of this course despite the reputation it has developed over the years. Having a number of good friends that took this the quarter before I did puts me in a unique position to highlight some of the changes the course underwent between the two years, so I'll focus on that aspect for both people that are new to 357 and those that may need to retake it. The first and most drastic change I'll go over is the inclusion of small teams. It used to be the case that only the professor and TA's could be consulted on projects for help, and my understanding is they were never available. Under the new system however, you are placed in a group with 4 other people and you can consult with those 4 individuals (ONLY those 4 individuals) for the duration of the quarter. I personally love this addition to the class as it provides an opportunity for those behind in the class to receive help from group members that are on track, which improves the knowledge of not only the person being taught, but also reinforces that knowledge in the one doing the teaching. A second change is a focus on functional decomposition. In previous quarters, this was not nearly as encouraged as it was this quarter. There's not a whole lot to say about this other than that it promotes good coding practices and is nothing but beneficial for people to learn as early as possible. The last change I'll go over applies almost exclusively to those retaking the class, so feel free to skip this if you're taking the class for the first time. But I digress, onto the last change. The course is no longer structured such that you can complete coursework whenever you want. You are now only able to work on/turn in the project that the entire class is working on. This means that people who are extremely ahead in the class are out of luck, but overall I believe it has a positive impact on those that fall behind. I've heard from a few people that seeing your peers working ahead of you creates an unnecessary air of stress that permeates the class day in and day out, when in fact you may be right where you're supposed to be. The new system doesn't allow this to occur and reinforces the idea that each small group should be supporting it's members until everyone has completed a given task. As a closing point, I would just like to share with you the single most important piece of advice you will receive regarding this class, bar none. DON'T CHEAT. That's right, the most impactful advice I have to offer has been thrown in your face since elementary school. If you fall behind in this class, it's not the end of the world. Commit to an honest work ethic and see professor Mammen in office hours if you have even the smallest inkling you're falling behind. I swear to you, he wants you to succeed and will help you. Cheating, especially in this class, simply isn't worth it. With that, I bid you good luck, and may the forks be with you. ;)


Junior
A
Required (Major)
Sep 2016
Professor Mammen is probably one of the best professor I have ever had at Cal Poly. If you see the bad reviews, that is students using him as a scapegoat for their failures. Professor Mammen is very dedicated to make 357 (The legendary hard course) into an interesting class. The material for 357 is hard, no doubt. That is why the course was very rigorous. Compare to the outside technology, we are just scratching the surface. By having him teach me 357, I was much more prepared for internships. Professor Mammen is funny. He is dedicated to help students. He wants you to pass, and succeed. If you start doing the assignments the moment it was assigned, you have no problems on passing this class with an A, guarantee.


Junior
A
Required (Major)
Sep 2016
Mammen is a great professor. I learned a lot in just a quarter. Pay attention to the coding style that he mentioned. It will definitely help you later in the future. Make sure to keep yourself in check, and don't fall behind. It is extremely difficult to catch up. There is no doubt that there are tons of works in his class, and it seems to be there is no enough time do all of those. However, I managed to pull through with many sleepless nights with the help of friends. Teamwork also very important. You can't really work alone in this class unless you are a genius. Before doing any codings, read the spec carefully, do the design or ask him for specification. Don't waste time on your own; I'm sure that you don't have time to waste for this class. Don't worry too much if you get bad grade on projects or labs. He will curve. Lots of ppl got A and B at the end. He also is really helpful in his office hour if you are prepared. Don't ask dumb questions or you'll face the consequences. He's cool. Take him. You'll learn a lot.


Senior
B
Required (Major)
Dec 2016
Put simply Mammen is tough but fair. Do your work and ask questions when needed. He wants to help, but can be abrasive if you go in unprepared. Keep up with your projects and always double check your work on tests. Little things get through the cracks and can be costly point wise. Oh! and always remember to style check before any submission. That cost me some easy points. If you do your work and seek help when stuck, you will do fine. Good Luck.


Junior
B
Required (Major)
Dec 2016
If you made it through 103 and Planck's 225, then you might as well take this class, even if you've decided to drop out of your major, minor, Cal Poly, or whatever. It sounds like a pain in the neck, (and it was -- I actually had neck pain at some points in this class, so consider getting one of those ergo-desk laptop risers) but it's the only class in the major up to this point where you learn how to learn how to code. You even learn some computer science in this class, which is basically a supervised homeschooling class. Maybe you've homeschooled before, maybe you've had internships, maybe you've done a handful of side projects. Though I suspect there are some who haven't. Homeschooling is pretty fun. You can drink hot chocolate and learn at the same time, without sitting through endless boring lectures...why not learn systems programming while you're at it? You're actually not totally alone. Mammen helps a lot during office hours and assigns you group members to share ideas with. There's also the class piazza forum and the TA during lab. Mammen gives you all the hints you need to teach yourself the course content and avoid the common, miserable pitfalls, the ones that previous professors like Planck would have let you sink in. (Staley sure didn't give a rat's ass about your learning progress, your social life, or your goal to graduate before your grandchildren start going through that whole middle school thing. He just liked Hawaiian shirts, hidden test cases, and specs that make your knuckles splinter). Make sure to do a side-project in C before the first day of class -- Planck's class doesn't count -- or practice some of the exercises in K&R's. You'll want to be comfortable with pointers before the first day. 12 units is probably a smart move. Invest in an ergonomic laptop riser, some oatmeal, and canned food. (I was able to get by without a huge coffee habit and you probably can too, unless you have the 8am section). Good luck.


Junior
A
Required (Major)
Mar 2017
Mammon is a cool guy that is a bit of a hard ass. He does not really lecture and he tells you so in the beginning. Let's you work in groups for the entire quarter and it really helps you learn more than solo. You will work hard but it will pay off in the end. He wants you to do good and pass the class, now it is up to YOU! Overall one of the better professors at Cal Poly.


Junior
A
Required (Major)
May 2017
I loved professor Mammen's course. Given the choice, I would take all my classes with him. Assignments are clear and well laid out. He gives you an example program to test with so you always know exactly what to turn in. Ambiguity is impossible. His rolling deadlines are excellent because they give you a chance to look over what you failed and fix it to potentially get a better grade. He has a low tolerance for students asking questions, but that's often because his assignment sheets explain everything in detail and give you references to what you should research. Often when students have questions, it's because they either didn't look over the assignment sheet thoroughly, or they don't check their error codes. Which brings me to my next point: if you want help from Mammen, research thoroughly what your program is doing. Check all of your error codes, use printf and gdb to get the values of all your variables and trace it back to the source of the problem. Find out exactly what happened before you speak with him. Most of the time you'll answer your own question, but if you still have an issue, he'll be happy to help if you show that you put the effort in to solve it yourself. Great professor, highly recommend.


Junior
A
Required (Major)
Nov 2017
This image sums him up pretty well https://ibb.co/hRuVOG


Junior
B
Required (Major)
Dec 2017
You will learn a lot in this course. Take it with Mammen. Understand that this is supposed to be a difficult course but Mammen is great professor for it. Yes, there were probably some things he could have explained/lectured more on in class but part of this class is teaching yourself. Do the readings he assigns. The first midterm pulls questions from the quizzes and the quizzes has questions verbatim from the assigned readings. When it comes to learning about pipes/fork/execs, watch these videos prior to the corresponding project/exercises for it: https://www.youtube.com/watch?v=FcUlMsVX7aE https://www.youtube.com/watch?v=EL4hCQc7KXY&t=622s ... I watched it multiple times and even stepped through the diagram he was drawing. It was EXTREMELY helpful. Professor Mammen is understanding and his goal is to help you pass his class. Don't go to ask him for help unless you know exactly what questions you are going to ask him. The quizzes don't hold much weight and there are even group quizzes so don't stress too much about those but still try because the same questions will appear on the midterms. Don't be afraid to ask for help though and utilize your group members from the beginning! I put one of the projects from this course (C Shell) on my resume and every interview I had with technical recruiters, they would ask me about this project. You can do it!! Also Professor Mammen made a lot of jokes in my section so that was kinda of nice because I was expecting him to be a hard ass.


Junior
B
Required (Major)
Dec 2017
Yes, 357 is hard and will take 20-40 hrs per week. Yes, Mammen is a hard ass who will tear you a new one if you ask a dumb question. However, he has crafted one of the most detailed and thought out curriculum I have ever experienced. I have never learned so much in such a short time.


Sophomore
A
Required (Major)
Mar 2018
Mammen is one of the best CS professors I have had at Cal Poly. You are given more work compared to other 357 classes, but you are able to get more out of the class because of it. Assignments and projects aren't impossible if you actually do the assigned readings and read the instructions before jumping into your code. The instructions usually give hints that can make your life easy if you read them or miserable if you ignore them. All the projects are under 300 lines of code, so if you do them right the first time, the projects don't have to take more than a few hours. Also, make sure to start projects early because you can get up to 120% on projects for the first deadline. Mammen also grades on a curve so don't feel too bad if you did terribly on an exam or project because if you did that bad, there is probably a lot of people who had similar results and he will adjust the grades accordingly in the end. Overall, Mammen is a great professor!


Senior
B
Required (Major)
Apr 2018
Honestly just go to class and do the project ON TIME and you'll be fine. He grades you based on a curve that will pass almost 80% of people. I learned the second day that you don't ask questions in class, just save it and ask someone from your group.


Sophomore
A
Required (Major)
Apr 2018
This guy is a major asshole. Don't ask him a question if you don't want to get roasted. He bases your performance grades off an inconsistent timing tool and marks you off an unreasonable amount of points on midterms. Biggest dickhead professor you'll have in college. You don't have to be an asshole to teach well. The only good thing that came out of this class is that I learned a lot... at the expense of my mental and physical health. Fuck this old man.


Junior
B
Required (Major)
May 2018
In a nutshell, this class (357) changed my life. Thank you Mammen. It was the most difficult and most rewarding class I've ever taken. If you take from Mammen, you will probably lose most of your friends because you don't have time. That's ok because 357 will be your life. You will also stop eating healthily and stop sleeping completely because the kmammen-grader will literally give you nightmares. BUT, you will come out of this class exponentially better at programming than when you entered because if you don't, you'll fail the class. Take this class from Mammen and you will not regret it!


Junior
D
Required (Major)
May 2018
Overall Mammen is a great professor if you want to learn things, but if you end up with a bad group, or you are on the edge all quarter, he is not very clear about what grade you need to pass. His office hours are essential and don't let the first midterm fool you into thinking its easy. The most stressful part of this class was the hourly deadlines so please DO NOT take more than 2 other classes with this course.


Junior
A
Required (Major)
Jun 2018
THIS IS MY THIRD CLASS WITH MAMMEN AND MY SECOND TIME GETTING AN A IN A CSC COURSE. HIS CLASS IS HELLA HARD BUT HE CURVES FAT AT THE END. GET CLOSE WITH YOUR GROUP AND PRACTICE WRITING TEST SCRIPTS EARLY ON AND YOULL DO FINE.


Junior
N/A
Required (Major)
Jun 2018
This class will fuck you up. The actual course material is not the most difficult stuff in the world, but what got me (and I think many others) is that it is your first real experience in an in-depth programming environment. It is hard to adjust to this course from the prereqs because there are so many more things in this course that you have to consider than you had to in previous ones. The fact that it is taught in C only adds to the difficulty, even though it makes sense why it is taught in that language. What really helps on the projects is spending a lot of time thinking about them before you actually write any code, make sure you fully understand what you have to do. Mammen himself is an alright teacher. He presents the content of the class well, but he can be very inaccessible and unhelpful if you have questions. He does not offer much help with your code when you encounter problems, favoring a "figure it out" style of teaching, but many times I think people struggle with what they have to figure out, because the material is so different from what we have been learning before. Honestly, I think what would help people with this class the most is if 225 gets restructured a little bit. Anyways, I'm rambling, but do take this class with Mammen. The sheer amount of material that you will learn is insane, and will definitely help you further on.


Senior
F
Elective
Jul 2018
Awful


Junior
D
Required (Major)
Dec 2018
Prepare to give up everything and everyone you know if you want to do well in this class. He will rip you a new one. Good luck and happy crying.


Freshman
A
Required (Major)
Mar 2019
357 is a hard class but Mammen makes it doable. He is super nice and a chill professor, everything he does in class is in an effort to help his students succeed and nothing is unreasonable. If you are worried about 357 take fewer units but don't miss out on this professor


Junior
D
Required (Major)
Nov 2019
This man is a sick and sexist. He has harassed me in office hours and via email while I was being cooperative and clear. No females should have to deal with this idiot.

CSC 731


Graduate Student
Credit
General Ed
Oct 2018
Troll?


Junior
N/A
Elective
Oct 2018
No such class - is Polyratings broken?

JPNS 731


Graduate Student
C
General Ed
Nov 2016
What else is there to say? Fine person, nothing interesting. Class was meh... Blah, blah, blah... Fine person.


Senior
N/A
Elective
Oct 2018
Never taught by Mammen


Senior
N/A
Elective
Oct 2018
Troll?