Keen, Aaron  

Computer Science

2.84/4.00

94 evaluations


CSC 100


Senior
F
General Ed
Jul 2018
Crap

CPE 101


Freshman
B
Required (Major)
Dec 2006
Great Prof. He knows his stuff. But this class is hard for a person who does not know Computer Language. So you need to study a lot. If you know a Computer Language it is going to be an easy class. It gets harder, however, after five weeks. The professor does help you a lot. Officer hours in 4 out of 5 days. Use it.


Freshman
N/A
Required (Major)
Feb 2012
Keen seems like a really great teacher and he definitely knows what he's talking about. You can really tell that he cares about his students' success. None of the quizzes or assignments seemed ridiculously difficult or stupidly easy, and if you go to class and pay attention to what he says you should be able to easily manage a B at the very least for this class. Unfortunately, there are some down sides to Professor Keen. He spends a very large portion of the lecture just answering questions, which leaves limited time for him to actually teach material that may not be easily graspable by everybody. Then, depending on his mood he'll either answer the question well and there won't be any problems, or he'll make a snarky comment about the asker not paying attention in class, even if that's not actually the case. I would recommend taking Keen, but be prepared to stay on top of the course and to ask questions if you need to; holding back your questions will just end up hurting you severely in the long run. Best tip is to go to his office hours as much as you think you can; he's even greater of a professor one-on-one which really helps out.


Freshman
B
Required (Major)
Mar 2012
Professor Keen was a great professor for 101. He always asked at the beginning of class if anybody had any questions and was always willing to help answer people's questions. He also realized the limits of his students' abilities based on what he went over in class, and changed assignments or labs if necessary to account for this. His office hours are also really helpful but sometimes he's kind of condescending if you ask a stupid question and he'll ask if you're reading the book or falling asleep in class. Not everyone skips class and doesn't do the homework or the reading and it kind of seemed like if you went to his office hour he'd assume you're there for the wrong reason if you ask the wrong question. Other than that he was a great teacher and I'd take him again if I had the chance.


Freshman
A
Required (Major)
Nov 2013
Professor Keen is a professor I couldn't recommend more for students taking 101 for a major course. As a Software Engineering major, he really challenged his classes with a difficult quarter-long project, but there's no doubt that it prepared me for 102. If you want to know the material from CPE101 in and out, take Keen.


Freshman
B
Required (Major)
Apr 2014
Keen is a great teacher and is excellent at presenting the material. He definitely makes you work hard and work a lot, but looking back I am very grateful that the class was so hard. His one con is that he talks very softly and and is very serious, so the class isn't very exciting.


Freshman
C
Required (Major)
Nov 2014
One of the worst teachers at this school. He is a brilliant person but can't convey his own thoughts in a simple manner for students to understand. I spent more time in this class than I ever had for one class and ended up with a C. He has a very creepy vibe and wasn't helpful in office hours. Avoid!


Sophomore
A
Required (Major)
Nov 2014
Professor Keen is probably the best professor I have had at Cal Poly so far. He is super clear when explaining things, and he is great at helping you debug programs in office hours. Also, he is one of the few teachers who never makes you feel dumb for asking questions. Highly Recommend!


Sophomore
C
Required (Major)
Nov 2014
I took 101 with Keen winter quarter of my freshman year, and looking back, I really wish I'd put more time into it. Having never programmed before, I constantly had difficulty starting programs (getting stuck on details) and I didn't understand that no professor can force you to take that first step. However, Keen does a damn good job of leading you along the right path. Keen has designed the course to be challenging early on; I never finished his sphere shading project, and even a year later I think it would take me quite a bit of time, but it's a good project for testing your commitment to the CSC/CPE/SE major. Keen can be pretty scary; as a silly, naive freshmen, I worked on a program with one of my roommates in a parallel 101 class and we ended up turning in identical code. I hadn't intended to cheat but once I realized I could be automatically failed from the class, I tried to lie about collaborating. This was a mistake. Keen is a very sharp man, and he knows when you're bullshitting. When I fessed up about what really happened, Keen was much more understanding than I'd expected. Long story short, while Keen may seem cold, ultimately he cares about his students, and he knows that collaborating in 101 can be prohibitive to a programmer's development (so don't collaborate, and be honest and upfront if you do!!).


Freshman
A
Required (Major)
Mar 2015
Keen is the best coding professor that I have ever had. He expresses the material clearly and is super helpful, even if you aren't his student. All CPE 101 students are able to use Piazza to help get their questions answered. Keen responds super fast and is really helpful. He's an awesome teachers. If you are a first time coder, definitely take him. If not, he's still an awesome teacher.


Freshman
A
Required (Major)
Apr 2015
Note: I took this class Winter Quarter 2014. Professor Keen is amazing at explaining things, super helpful in office hours, and a great lecturer. However, the sphere project is a little intimidating if you're a beginner (I took AP Computer Science before this). There's a lot of math involved that he doesn't really go over in class, but if you ask in class or in office hours, he'll clarify anything you have questions on. If you want to make sure you learn the materials in this class well, Professor Keen is the professor to take!

CSC 101


Freshman
B
Required (Major)
Mar 2013
Keen started a new curriculum this quarter for 101, with 6 assignments that build upon one another that get VERY challenging after week 5. Its all graphics stuff—a lot of equations, but he tells you how to do it while leaving you to put it into code. Don't take this class if you are not prepared for 10+ hours of work some weeks (looking at you, business majors), and make sure you don't fall behind. But Keen is incredibly helpful both in class and outside of it if you go to his office hours. He conveys the material well, but does talk a little too quietly at times, however inserts some subtle humor that keeps you engaged (at least for me). Anything that was in class was on the midterms, nothing more... so honestly the book isn't completely necessary. He never pointed out that anyone wasn't paying attention, so I guess he stopped that habit. Labs taught the material, so they were relatively easy and don't make up much of your grade, assignments applied them. Definitely does not deserve a 2.7. WHATEVER YOU DO, DO NOT TAKE MAMMEN'S COURSE. SAME CURRICULUM, BUT UNNECESSARILY HARD GRADING.


Freshman
A
Required (Major)
Mar 2013
Be prepared to work in this class. Do not fall behind because the class is fast paced and EVERYTHING build upon itself. If you do not understand a concept do not ignore it, it will come back to haunt you later. Now, for professor Keen. I will have to say Keen is a very straight-forward professor that is there to teach you the material you need to learn. He will not give you the answer but instead nudges you towards the correct path to take to find the solution. I personally found this class extremely challenging and I put in at times 20+ hours a week when it got down to some of the later assignments. He gives you plenty of time to work on the assignment so start early, use Piazza, and ask him questions. He is friendly and has a very fast response time to emails. Overall, if you want a challenge and want to actually LEARN the fundamentals of programming, take Keen, he was great.


Freshman
A
Required (Support)
Mar 2013
Keen was great at recognizing where/when students were having trouble and always was willing to answer questions. 101 can be challenging if you come in with no knowledge, so it was helpful that Keen was open to answering questions all the time and providing ways to contact him on short notice (Piazza and email he responds to in less than 30 minutes). Overall, Keen was great for 101, but be ready to learn a lot if you know nothing coming in. Oh, and read the book if you get it. Keen has a "hidden" assigned reading list that will help you a lot if you follow it.


Freshman
A
Required (Major)
May 2013
Keen lectures like Bob Ross. He is wicked smart, and will answer questions without belittling you. Go to class and do your shit and you're fine. C is a beast, and this class is a perfect introduction. Keen has interesting labs and projects, lecture wasn't awful (his jokes are hard to catch, but fucking hilarious). Take Keen.


Freshman
A
Required (Support)
Jun 2013
Keen is an amazing teacher and one of the most helpful and reachable teachers that I've had at Poly. He answers emails and the online forum very quickly, and he is extremely helpful in office hours (which you will need to go to in order to get an A in this class). 101 will be hard for you if you haven't programmed before, and Keen will definitely make you WORK in his class, but coming out of this class, I feel like I know a lot more than when I started. Keen is very, very, VERY tough in terms of workload, but he is an excellent teacher. Take him.


Senior
C
General Ed
Nov 2016
Hello.

CPE 102


Freshman
A
Required (Major)
Dec 2003
Professor Keen was a great professor for CPE 102. He covered the material much more in the depth than the over classes did. We spent a lot of time working on recursion, which at one point he called beautiful. His lectures can get a little dull, but he always puts the information forward very well. The homework load is fine if you just start the assignments before the day they are due. Finally, he is very easy to contact. If you send him an email he will respond frighteningly quick. It's almost as if he has telepathy. I would highly recommend Keen as a teacher for CPE 102.


Freshman
B
Required (Major)
Mar 2004
Aaron Keen is an excellent teacher! I'm a freshman who had the equivalent of CPE101 at a community college with a teacher who "was learning the material with us." Needless to say, I learned diddly-squat. However, Keen did a good job of reviewing the material at the beginning of class and his lectures are clear and concise so that I was able to pick up and actually *learn* something about Java for a change. The class is challenging no doubt, but Keen explains the material with expertise and if you are unclear about something, he is able to give bountiful *DIFFERENT* examples to help you understand (versus just repeating himself). He cares for his students learning and is very helpful in lab if you're not shy and ask for his help. He's very cool. Study for the midterms and finals though; they are challenging! His projects are a little on the difficult side as well, but pay attention to the lecture because he'll sometimes slip in the solution...

CSC 102


Freshman
A
Required (Major)
May 2015
Keen is the MAN! I have taken both 101 and 102 with Prof. Keen and these are some of the things to look forward to: --He will be on piazza at from 7-12 the night an assignment is due. -- He will send you emails at 12:30am after you went to his office hours at 4pm, detailing how to fix the one tiny error that was causing you so much stress and problems... How? because he pulled your code off Git and went through it at 12 in the morning to help you out!! --He will never tell you "DONT DO THAT" he will just say "this is the preferred way" or "this is what almost everyone does" but never a definitive "DONT".


Senior
B
Required (Support)
Nov 2015
I took him as a 4th year EE trying to fulfill a support class. I was interested in this particular section because it was a Python/Java experimental sort of 102 class. About Keen, he's obviously very smart, and knows how to present things in a very simple and easy to understand fashion. He's kind and patient; I've asked him dozens and dozens of questions I consider dumb over the quarter and he always took the time to make sure I left his office having learned something. Assignments were reasonable. If the class as a whole is having trouble with an assignment, due dates were a bit more flexible. Grading was also more flexible.


Freshman
N/A
Required (Major)
May 2016
Great jokes, great dude, great class. Had him last year. If you get the chance, take him.


Junior
A
Required (Major)
Jun 2017
Keen is the best professor I have ever had. Yes, he assigns difficult projects, but he explains things extremely clearly, is there to help with anything, and is overall a wonderful person. He does not deserve this low of a polyrating.

CPE 317


Sophomore
A
Required (Major)
Jun 2005
Excellent professor. Make use of his office hours and his AIM office hours - he has an uncanny knack for identifying your program's problems quickly. If you start the projects early, you'll either finish early and have time to slack or, if you run in to problems, you'll have plenty of time to fix the problems and get a 100% on your projects. There were 6 projects and a weekly lab. The weekly lab should take you no more than an hour if you paid attention in lecture. The projects can vary. The projects themselves aren't a huge challenge, but they do give you a good workout. Again, start ON TIME and you will have no problem finishing the project early. If you pay attention in lecture and ask plenty of questions, you wont even have to study for the midterms or final. They're all straight out of the material that he covers in class. Great professor overall. Summary: Start projects on time, take advantage of the help he offers you, and you'll get an A, no problem.

CSC 317


Junior
A
Required (Major)
Jul 2004
Great humor, good teacher, I highly recommend Dr. Keen for 317. He follows Nico's syllabus for the class. Fun class, I enjoyed it, learn a lot of interesting stuff about UNIX and C.


Junior
B
Required (Major)
Jun 2005
Keen's a cool guy and has a dry and witty sense of humor. The labs were easy and directly related to the material covered in class for the week. Programs weren't too difficult either if you started early. Keen is extremely helpful in finding problems in your code, often without even looking at it. Tests were difficult - he doesn't give you much of an idea of how to prepare for them, but in retrospect, the tests were fair. The tests usually covered a mix of coding and short answer. The coding was usually straight forward, but the short answer questions could be a bit of a mind bender. However, if you do well on the programs and labs, you can afford a bit of slack in the tests. I got away with a B in this class, and I played way too much WoW. You can too.

CSC 330


Senior
C
Required (Major)
Dec 2002
He is a fair teacher and willing to help all he can, whether it be in class or in the office hours. He also responds quickly to e-mails. I thought the class was supposed to be more of a analytical class. But we did quite a few programs that were time consuming. They weren't hard but required a lot of time to think about them. His tests are pretty fair and if you know the material it's easy to pass the class. Don't fall behind on homework because they're worth alot. All in all, he's a great teacher and tries to make the subject more interesting and involve the students in lecture.


Junior
C
Required (Major)
Jan 2003
I was first registered to take 330 with Dana last year, but dropped because of how boring it was. I came into this class thinking it'd be just as boring, but keen did a very good job. He didn't focus on languages and history, he focused on the differences in the languages and we got to learn a pretty good variety of languages. The grade was based on the projects(writing simple code in the different languages) and the midterm/final. The projects were fun to do, and he provided lots of help if you came into office hours. His midterm and final were really hard and open book. The course was hard, but I learned a lot from it and had fun too.


Junior
A
Required (Major)
Jan 2003
I wish every one of my teachers could be like Prof. Keen. He seems like a really good guy, and on top of that he knows his stuff. I was amazed at his ability to look at my code, understand it quickly, and find my errors. It really made getting help from him easy. He was very helpful during office hours and he responded quickly to email questions. He's very approachable and friendly, but he won't just give you solutions for free -- he walks you through the problem and helps you to figure it out. Exactly what a good teacher would do. His selection of projects was perfect. Each programming project was challenging, yet somehow interesting a fun. His projects also teach you new ways of thinking and different kinds of languages. I actually enjoyed doing them, and I'm a lazy bastard! The only thing I didn't like about his class is that we had to know some things from reading or lecture only. For instance, something we were supposed to read about but wasn't part of an assigned homework might be on a test. I learn by doing, not by reading, so that was kind of hard for me. But that's just me, and I still got an A somehow. Personal bias aside, Keen's class was pretty much perfect. It might seem boring the first couple of weeks, but it gets good later. You won't regret taking 330 from Keens!


Senior
A
Required (Major)
Feb 2003
Very good teacher, he clearly explains everything in the lecture. If you are ever having a problem with any of the homework or programs he is more than willing to help out during office hours. He really works with you and explains what your doing wrong and help you understand the correct way to approach the problem. His first programming assignment was a little heavy but he gives it to you early for a reason. The rest of the quarters' programs aren't nearly as time consuming. The homework accounts for 45% of the grade and the midterm and final for the rest. So even if your not good at taking tests you can still pull a great grade in the class. I would definitly take this teacher if you can.


Junior
B
Required (Major)
Jun 2003
I don't think Dr. keen is a fair instructor and his explanaion about the hw assigment is not clear. I don't think he is a good instructor because he doesn't care about his students at all. his assigment spends you lots of time, if you take his class, I suggest you do it as early as possible and borrow hws and tests from your friends who took his class before as a reference.


Senior
A
Required (Major)
Jul 2003
Dr. Keen is an excellent teacher. At times, the lecture can get boring, but the material in the course just isn't that exciting. The Programs were fairly easy, but they did take a very long time. Start early and use the code that is given in the book. If you struggle with the programs go to office hours. He will tell you what you are doing wrong and point you in the right direction. There wasn't one time i went to OH that i didn't come out with an idea of how to do the program. The midterm was easy and the final was hard.


Junior
A
Required (Major)
Mar 2004
Aaron Keen's CSC 330 was a pretty interesting and fun class. Course consisted of 6 homeworks, a midterm, and final. Homeworks were challanging and interesting. Very helpful during office hours. Lectures were interesting and amusing. I'd take another class with him if the chance came up.


Senior
B
Required (Major)
Mar 2004
What a fantastic teacher. First couple days, he kind of weirds you out with his sudden pauses, and just an odd way of asking "Does any one have any questions", as if to say "I don't think I could have made it any clearer, so if you have questions something is wrong". But the personality thing will only hide what Keen truly is: a bright and funny teacher, who really cares about his students. The class is hard, no doubt about it... but s**t, we're computer scientists, so it better be. The homeworks are pratically impossible in fact (at least the early ones), and I did bad on the first couple, but a fine performance on the others, a great midterm, and I almost had a shot at an A, alas I bombed the final. But all in all you come out learning about Semaphores, an exotic fruit only found within the confines of our beloved computers. So go!


Senior
C
Required (Major)
Apr 2004
Fun class. People who tend to fall asleep in class will find this class boring; however there are a lot of worse classes. He has predefined notes which he goes over consistenly every day. Projects are somewhat easy and take a lot of time. This guy will give you absolutly no slack.


Junior
C
Required (Major)
Jun 2004
Aaron Keen is one tough professor. His midterm and final were brutally tough. Assignments are realistic, but they take up all your time, and they are tough. The course material is also hard. I can't believe I worked my ass off to get a "C". His lectures are not easy to understand. He goes fast, and he talks softly. He is really helpful during office hours. If you take this class with Keen, don't even think about taking any other hard class. Wait until someone else teaches this class. I think Keen is purposely trying to make the course hard.


Senior
C
Elective
Jun 2004
CSC 330 is a tough class. Don't take it unless you have to. Prof.Keen is a good instructor, but his homework and tests are really challenging, and homeworks eat up all your time. I don't know if I learned much in this class, other than sacrificing your social life to write a stupid 'D-flat' programming language.


Senior
C
Required (Major)
Jun 2004
Is it just me or does Keen seem to want to make the material harder each quarter. I was going to take the course last quarter, but decided to wait this quarter. The workload was not the same difficulty, and neither were the assignments. I worked my butt of more then any other class and only for a 'C'. If poly wanted to teach this as a breaker class they should have done it. Close to the 349 workload of brady without the repetition, think before you want to take this class with Keen. He is a great instructor and very helpful in his office hours, but if you do take him it will be one long quarter.


Junior
C
Required (Major)
Jul 2004
Yes this course is tough, but I learned more in this class than any other CSC class I've taken. I got a C partly because I didn't start on the programs early enough. When he assigns a program, start on it right away if you want a good grade. If he gives you two weeks to get a program done, you'll need the whole two weeks. Other than that, he's a good lecturer, keeps the material interesting, and really seems to care about making himself available to answer any questions.. what other professor actually answers questions on AIM?


Junior
B
Required (Major)
Sep 2004
[for Spring 2004] Rundown of the class: homework, coding stuff, and tests. Some say that Aaron is a dry, droning fellow; but, under the monotone is a subtle, dry wit that will knock you out of your socks if you pay attention. He's a fair grader all around and isn't too demanding. He conveys the material at a good pace and keeps a good outline going on the board (notes! notes! notes!). Learning a new language and/or programming paradigm can be daunting, but if you start early and keep with it, it's no problem! Highly recommend!


Junior
C
Required (Major)
Sep 2004
CSC 330 is one of the hardest course in CSC at Cal Poly. I agree Dr.Keen is really knowledgable and all. But his assignments are really hard. Midterm exam was really tough, and the final exam was brutal.


Senior
N/A
Required (Major)
Oct 2004
I have graduated and thought it would be nice to share my thoughts for this instructor. I have came across two type of teachers: one that really cares about the students and wants them to learn (i.e. Connely). The other is trying to prove that he is a hard-ass and make the students' lives a living hell. Unfortunately, it is sad to know that Keen is the second type; one that wants to torture the students and destroy their social life. If you are going to take Keen, you are in for a hell ride. If you think Brady is evil, this guy is twice as evil as her. Avoid him like the plague!!


Junior
A
Required (Major)
Dec 2004
I went into this course thinking it was going to be rather easy and fun. Then the first day of class, Aaron said that this class was probably the most work of any Computer Science class not taught by someone named "Staley". And while it did require a fair amount of time to complete projects, I found them definitely reasonable for a class of this level. The tests were rather challenging, but he graded easy giving a lot more partial credit than I would have. The test questions were taken from the lecture or projects and modified slightly so that understanding the concepts discussed in class should more than prepare you from the test. And despite Aaron's protestings to the contrary, I did find the class somewhat fun and definitely interesting. I would highly recommend this teacher to anyone taking CSC 330 and I look forward to taking 430 and 530 with him. On a side note, a working knowledge of C or C++ should make this class A LOT easier.


Junior
C
Required (Major)
Dec 2004
I have to admit that Keen was funny and interesting in lecture (at least he tried to be considering the material can get boring quite fast). I also have to admit that he is a smart guy. However, there were some things that bothered me (or annoyed me). Firstly, his assignments are almost always unclear. I never understood what he wanted from the project descriptions or even knowing how to test his test cases. It would be SO MUCH better if he had taken some time to explain what the assignment is about (like going over the basics of how the program works and how to test it). Instead, he expected you to know it, as if he would be giving out solution if he talked about it in class. Secondly, his midterm and final were brutal. I think the "open notes" method is an excuse for him to kill you on the tests. Finally, I have reasons to be believe he intentionally makes this class harder than it needs to be, which sucks for students who work and want to graduate on time.


Junior
B
Required (Major)
Jan 2005
Professor Keen is fantastic. He's extremely good at presenting the material for CSC 330 and making it interesting at the same time. There are 4 progrmming projects (the first of which is proken up into 3 full-length parts), none of which pose a truely terrible burden upon you, as long as you START EARLY. I highly recommend Prof. Keen for CSC 330. He's also a gamer, so a lot of us CSC/SE majors can identify with him :)


Junior
N/A
Required (Major)
Jan 2005
This course is as demanding as 349 with Brady.


Senior
B
Required (Major)
Mar 2005
Keen is by far one of the best CSC professors at Cal Poly. He is extremely good at presenting the material and has an incredible amount of relevent knowledge to offer. He does it so well that you don't need even need to read the book. Also to keep the material from becoming monotonous, Keen will integrate his great sense of humor into his lecture. The work for the class is tough but appropriate as each assigned program involves concepts that you learn from lecture. Unless you're a super programmer, you're gonna have to start these assignements early if you want to finish them and earn a respectable amount of points. Some people think Keen is cruel with the assignments, but those claims are just rumors. Keen offers a fair amount of time to finish the assignments, if you actually make use of all the time he gives you. And from what I've heard from fellow classmates, he is extremely helpful during his office hours. Yes his tests are brutal, midterm avg:61/100, final avg: 73/100, but Keen does curve, not by much, in the end. All in all Keen is tough but one of the best CSC profs at Cal Poly. If you want to learn the material and the subject matter of Programming Languages, Keen is the teacher you want to take. If all you care about is earning a good grade while doing the minimal amount of work and not learning anything, I would suggest not taking this class, and to switch majors to Business or Liberal Arts.


Junior
C
Required (Major)
Mar 2005
That was one hard class. I'm glad it's over.


Senior
C
Required (Support)
Mar 2005
I think Keen is a cool and funny guy once you get to know him. Unfortunately, he came out as this cold and in-your-face kind of guy. I believe he is very good at what he teaches, and cares about the students (even though you might not see it right away). There is no doubt that his tests and assignments were hard, but they were fair. Even though I got a C and worked my ass off for it, I still give him props for doing a swell job. Warning: This is not a class for slackers. You will get killed if you slacked off.


Junior
B
Required (Major)
Mar 2005
Professor Keen is one of my favorite teachers at Cal Poly, and the first that's inspired me to rate a professor. I've had him for two courses now (330 and 317), and I learned a lot from him in both. He comes off as a little dry at first, but he actually has a really funny sense of humor once you get used to it. The projects are somewhat difficult, and I could have done better on them if I ever started more than a couple days before the due date. Despite my procrastination, he was available on AIM to answer my questions right up to the midnight deadline when I needed help. The material certainly isn't exciting, but I don't really think that's under the control of the teacher. I would definitely take another class from him if the chance comes up.

CSC 344


Senior
F
Required (Major)
Jul 2018
Bad

CSC 349


Senior
A
Required (Major)
May 2008
Carlos N., no wait that is too obvious, C. Nunez. Please keep your personal vendetta to yourself. He's a fine professor.

CPE 357


Junior
C
Required (Major)
Jan 2006
basically 6 programs, 10 labs, 3 tests(including final). The labs are pretty easy and fun if you start on the first day and work on it little by little everyday. The programs on the other hand are pretty tough. Especially the 2nd-4th one if i remember correctly. By then you should know C well enough to understand why your program is behaving the way it is and also recognize the error messages you get when compiling in C. All of them takes a lot of commitment and time to get to work correctly. Test for errors and conditions becasue he will find them since he tests with crazy conditions so dont try to cheap rig your code for certain conditions only (hard code with a set number, be flexible). Your code should be handle all sorts of conditions. Anyways he is a funny guy, but sort of rude at times..unless he was joking..but you dont know sometimes... His AIM availability was a great help..Use it!!! His test are really hard... thats what keep me at a C..I did really well on the programs..Be on time with your submissions cause he wont budge..Overall really cool class i learned a lot...take him if u want to learn but willing to work for it.. anyways i heard it wasnt crazy as Nico (but Nico gives you 3 late days).

CSC 357


Junior
C
Required (Major)
Dec 2005
Dr Keen is a great teacher for 357. The programming assignments are tough, but the more time you put into it the better the result will be. Make sure you test your program a lot, because he will find whats wrong with it. His sense of humor makes the class enjoyable for what it is. The labs are generally straight forward. I would definently recommend Dr Keen for this course if you are ready to learn while going through the work.


Sophomore
C
Required (Major)
Aug 2006
Keen is not a good professor. He does not understand students problems. If you go into his office hours with a problem with your code prepare for him to fiddle around with your code for 15 minutes without saying a damn word. He'll find the problem and say something ambiguous and treat you like a dumbass. His sense of humor is dry but not in a likeable way. It seems as though he is angry at something. Maybe something failed in his personal life and takes it out on the kids. Plus he strongly favors the prodigies of the classes. Not the avg student so if your not a prodigy prepare to be treated like crap. His midterms are horrible and he likes to trick his students (again its that anger). Did I mention when you talk to him its like talking to a wall? Anyways he's horrible and an unfair grader oh yea and no late work is a HORRIBLE policy especially when HIS INSTRUCTIONS ARE REDICULOUSLY BROAD. They say things so vauge that you start doing a lab this way and find out its supposed to go another. I really do not like this man. He's the worst CSC professor I've ever had. Period. And I got a B in his class. What a jerk.


Junior
B
Required (Major)
Sep 2006
I agree with the last post. He truly does not understand students problems. Whether it be the incredibly vauge instructions he writes in the projects and labs, or office hour inquiries, this professor fails horribly. I heard that he was not going to be allowed to teach this course again. Thank what ever higher power you believe in if you have not taken this class cause my experience with this guy was like getting a root canal through your eyes. A lot of other people hated this class as well. Horrible! This professor fails at his one duty of teaching. Sad.


Junior
B
Required (Major)
Sep 2006
Professor Keen is not the best professor. He gives labs that describe an ambiguous program that later you discover is not what he wants. If you discover this with limited time remaining, don't plan to work your heart out and turning it in one day late, because he accepts no late work. This reason, among many others (trouble interacting, his very seperatist/elitist sense of humor, and ability to make you believe you are talking to a rock) mae me fail him in regaurds to understanding students difficulties. Although I did recieve a B, I believe I did so because of luck. When I say that it is not that I did not have an understanding of the material (which I gained from reading on my own and no thanks to his confusing lectures), but because his unclear assignments and test questions that cover obscure topics that he may have covered for 1 minute of one day, make getting a decent grade in this class less dependent on knowledge and more on guessing what he want. Sometimes I felt he should of handed us a lab assignment sheet with the words GO! on it. Maybe I would have done better.


Senior
B
Required (Major)
Oct 2006
Worst CSC professor I have ever had.


Senior
F
Required (Major)
Nov 2007
Its the WALL baby, TEH WALL!


Senior
B
Required (Major)
Dec 2007
On the good side, Keen is a good lecturer and conveys the concepts of the material well. The programming assignments were interesting like a web server and compression tool, and they weren't too difficult for the course level. The exams and most of the quizzes are not too long or difficult and graded fairly. On the bad side he won't stick out his neck for students. No late assignments are ever accepted for any partial credit. He didn't make any effort to try to change our final date when most of the class wanted it changed. In lecture he goes over code examples, but there are often big holes in what he shows code examples for and you are left looking up a lot of things in the books or online or sorting through man pages. Overall I enjoyed the class and think Keen is a good professor. He has a lot of old bad ratings for 357 but I think he did an decent job this time around.


Sophomore
A
Required (Major)
May 2017
I really enjoyed Keen's 357. It is much less slogging compared to what I've heard Mammen is like, and I feel like I gained a great deal of knowledge of how to utilize system calls and lower level operating system concepts in my programs. The course is graded as 10% labs (should get 100%), 45% assignments (the meat of the difficulty), and 35% exams. The exams weren't extremely hard, and the labs were free points, but of course the real difficulty is the assignment. Included are a self modifying program via a custom database, a basic web server, and an implementation of a few popular unix tools. These assignments can be brutal, frustrating, and take a great deal of time. But all of them are super cool and useful projects, that you should feel pride in completing. In lecture Prof Keen will make clear what you need to learn, and will help you understand the concepts underpinning the projects. From there he is very available in office hours to help improve your understanding of the concepts, and guide your understanding to apply them to the assignments. I really have nothing but praise for Prof Keen, this was a difficult class but I feel like he did a great job of administering it, and overall is a great professor whom I'd like to take again.

CPE 430


5th Year Senior
A
Required (Major)
Jan 2007
Okay... A lot of people give this guy too much shit. Here's how it is. His lectures were intense and helpful. You really really don't want to miss one. And they usually fly by because of the material you are covering. It's hard... but he explains it pretty damned well. He would ALWAYS answer peoples questions and never seemed to mind. He will help you if you ask for it. Period. He really does take his time and present the information in as many ways as you need it. He will sit down and look at your code in lab / office hours. He's a good guy, and has a good sense of humor (it's dry... but it's there). GO TO LAB!!!!! don't be an asshole... seriously... go to lab. He shows up and helps ANYONE that needs anything. You can get SO much of your homework done that it really does help. A lot of the people that failed the class, and a lot did, never went to lab, or asked him for help. Their mistake. Start early. VERY early. I mean... the day it's assigned. He's good about timing, and most people in class didn't finish, only because of their late start. A few of the guys that would actually do well on the programs started early and had time to get them running. His grading is pretty fair, he's not all or nothing like Staley. He has more of a broken down grading standard. EX: part 1 = 50% part 2= 25% part 3= 25%. The midterm was not that bad. It was hard, but open book open note. It wasn't regurgiation, but it was close enough so that you could figure it out. The final... now that was balls hard. I don't know if it was because the information got harder, or because the test was harder... but either way, study your ass off for it. Not a bad class, you learn alot, you end up with a cool project at the end, just be prepared to work. AND DON'T BE A WHINEY ASSHOLE... ASK FOR HELP WHEN YOU NEED IT!!!!!


Junior
A
Required (Major)
Jul 2011
This is an interesting class and Dr. Keen presents the material well. You get to write an interpreter. The programming assignments weren't hard, and the tests were open note. You still have to study for them, though.


Junior
A
Required (Major)
Dec 2013
Programming Languages is Keen's baby (in terms of expertise). Over the entire course, you'll be making one thing: a partial Javascript interpreter, and you'll be building it incrementally every week. The workload for this class isn't bad. I spent about 4 to 5 hours a week for this class. Keen makes some subtle computer jokes, but if you're in this class, you will understand all of it which is funny. He is especially helpful during office hours and if you attend, you will become unstuck. Also the online forums are helpful too. Prof. Keen will respond everyday and is good at answering questions on time. Like during the daytime, at most 5 or 6 hours. I recommend anyone to take Professor Keen.


Junior
N/A
Required (Major)
Dec 2014
Keen is awesome! Answers students questions till they get it. Super responsive on emails. A smart smart man.


Senior
A
Elective
Dec 2014
Keen is the best!


Graduate Student
A
General Ed
Dec 2016
A Keen NIGGA thats that shit I dont like

CSC 430


Senior
A
Required (Major)
Dec 2005
Wow, Keen is great. I was worried about "Programming Languages" being only boring theory, but he actually lets you implement an interpreter from scratch so the class involves a good amount of programming. Don't be fooled by high averages on the first few programs and the midterm, it gets more challenging as the quarter progresses. Overall, the programs are fairly challenging but easily doable if you start on time. Make sure you start early on the last project, most people did poorly on that one. There were only a few homework assignments. Most work outside of class is spent on programs. Keen made this class interesting and fun; I highly recommend him.


Senior
B
Required (Major)
Dec 2005
Keen is a cool, witty, laid back guy. Class consisted of implementing a language interpreter from scratch using the ML language over a series of programming assignments along with two written homework assignments. Definately start early on the assignments, as they can become complicated and messy. One midterm and final, both open note/book although they aren't necessarily easy.


Junior
B
Required (Major)
Mar 2006
He's just not my type of prof. He thinks he's smart -- and he is, but it's still annoying. He's not THAT smart.


Senior
B
Required (Major)
May 2006
First of all, Keen _is_ that smart. He's a badass in almost every way. His midterms in 430 as well as 369 are reasonable, he's strict about program deadlines, but that's the worst you could say about his grading. Keen reflects his class more than any teacher I've ever had. If the class isn't interested in the what he has to say, then he's not really interested in the class. In both classes I had him I noticed he became a better teacher as the quarter wore on and Keen warmed up to everyone. He really knows his stuff and will go over anything twice to make sure you understand. Just don't be afraid to ask. The programs aren't especially bad as long as you start early. The tests normally closely resemble the hw in 430.


Senior
N/A
Required (Major)
Oct 2006
I am currently enrolled in this class and he is awful. I think I have a B right now, but that is besides the point. I was reading the posts below about this professor and the comments about his communication skills and vauge assignments are true. If you want a teacher that treats every student with the same respect and is a good communicator, then DO NOT take this man. You will learn a little, but this professor makes you hate the material and the people who commit to it.


Junior
B
Required (Major)
Feb 2007
I kind of agree with those who bash this guys and those that cut him some slack. The midterms I agree are not straight from the notes. But I also would like to note that I did feel he focused too much on special cases than the general concepts we went over in class. The post below me about getting started early and dont be a whiney what not is true but false at the same time. The thing is I do see the way he favors certain techy students as compared to the ones who are struggling and his dry sense of humor really puts off a lot of people. I usually here groups of students telling each other how they feel at a disadvantage because of his believed favorism. Again I'm not saying he is, but there are a good number of people who would beg to differ. Back to my original point, I see that yes he will "help" a student that is at lab and trying to get ahead, but he does it in sometimes in ways that make people feel stupid. I heard that he really doesn't help by going over concepts in office hours either He will just look at your code and point out where the technical mistake is taking place. I perfer the way most other professors do it by telling you what concepts you must grasp correctly and you are able to track down the problem from there. I mean this guy mayber isn't the worst but he is definately not in my upper 3/4 list of best computer science professor. Also the reason I didn't talk about how the work is is because I find that if you got a good professor work amount doesnt really matter when its a required class. Anyways yea avoid him if you can. He made me hate computer science a littl emore. Not because of the material, but because he gave off that off settling vibe. Ok hope this helps.


Senior
N/A
Required (Major)
May 2007
WTH! That's all I have to say right now. After pulling several all nighters and seeking help form him and others on program assignments, I was always lost at what exactly he wanted. I would start coding one way and figure out that he wanted a completely different strategy to attack this problem. For the amount of time I spent doing this class's work to the grade I got, it was horrible. Keen does not teach very well in this area. Hopefully he'll get better at it. I know a lot more people who are taking this class right now who are going through the same agony.


Junior
F
Required (Major)
Jun 2007
I actually failed this class, but I am not going to be a whinny little girl and blame Keen. The midterm is straight out of the notes, and to top it off, the midterm is open notes and open book. I aced that midterm. I know for a fact that anybody who complains about Keen being hard is just a mediocre programmer. His assignments are hard, but not Staley hard. Some of them are really cake, but all of them need time. I actually screwed up because I tried to code them all in the last 10 hours before they were due, but I only managed to pull this off with half of them and thus I failed the class. My piece of advice, code the assignments as soon as they are on his webpage. Also, do not get initmidated by his weird tone of voice, he is not trying to be an asshole, I think he just cannot talk louder. Overall, he is a great professor. If you are really going to complain about him because of your own personal failures, then most likely you will never amount to anything in life.


Senior
C
Required (Major)
Jul 2007
Well, I didn't do so great in this class. Some of the assignments were long winded and I had to restart them from realizing my way of attacking the assignment was fundamentally wrong. Like I said Keen is not the best, probably 0not the worst. Just could have been better I suppose. Also I would like to comment on the couple of evaluations below mine. Why are you people attacking and defending a professor's ability to teach like that. And the whole personal failing and never amount to anything part of the last comment is pretty fundamentally flawed. Two words. Bill Gates. Somebody sounds like they need a hug from their parents, and stop taking a single professor's class so seriously. Unless you plan on professing 430 in place of Keen in the future. In which case I guess you are given reason to have strong feelings on the matter. But I digress. Take Keen cause I think you have too. Just be prepared for mediocrity in professing.


Senior
B
Required (Major)
Aug 2007
Keen is a mediocre professor, but he is indeed teaching some very abstract material. It is not the easiest subject to teach. My advice to you is to start the programs early as everyone else said and go to both CLASS AND LAB! Even if you do not need help in the lab... GO! People say he favors students, which seems to be true, but he only favors them because they always show up to lecture and lab and are always asking questions. The programs are not that difficult, students are just too scared to ask him for help most the time and end up burying themselves. Put in the effort and show him that and you will be fine.


Senior
B
Required (Major)
May 2008
No particular complaint. Nothing horrible. You know, you have to take it so this isn't a bad choice.


Junior
A
Required (Major)
May 2009
The class wasn't nearly as bad as I thought it would be. He is great at explaining the material and I found a lot of it pretty interesting. The courses can be pretty hard, and at least time consuming because you will be building an interpreter in a new language you've probably never programmed in. Luckily he found a way to make it as fair as possible. He posts test cases along with a script to run them all and see if your program works. After every milestone he puts up his solution in case you were unable to get yours working. Tests are open note. The class is pretty complex and very conceptual based, but doable, especially with Professor Keen. Only problem is that he doesn't seem to like to help much outside of class, and he has a really low volume voice that sounds kind of monotonous


Senior
A
Required (Support)
May 2012
One of the best professors I've ever had!!!!


Junior
B
Required (Major)
Dec 2012
Professor Keen is a great teacher. If you get his jokes that he makes in class then you are going to love him as a teacher. He really knows the material that he is teaching and he is extremely passionate. The class itself was not terribly difficult, my advice is that if you are going to take this class make sure you have a somewhat easy schedule as i found myself doing the programs everyday for at least a week. Keen is very helpful and is willing to help you complete the programs. The first 5 programs were not terribly difficult but the last two were the most difficult as the concepts got way harder. His midterm and final were pretty damn hard even though they were open notes and book. Overall, Professor Keen is awesome at teaching and is a great guy, I would definitely take Keen for 430.


Junior
C
Required (Major)
Dec 2012
Professor Keen is amazing. He knows the material for this class like the back of his hand which keeps the lecture interesting and flowing smoothly. In lab he is extremely helpful, and if you go to his office hours you will leave with clear answers to all of your questions. I struggled with the material that this course covered, but Professor Keen did everything he could to help me pass. Overall I would rate Keen as one of the greats; he is on par with Professor Nico and the like.


Junior
A
Required (Major)
Jan 2017
This guy is a straight retard. Easy ass class but it was a total waste of time I did not learn anything. Keen epitomizes everything wrong with the CSC department here.


5th Year Senior
B
Required (Major)
Dec 2017
Keen is the man. He is able to convey subject manner so clearly it is mind blowing. I have never had a more eloquent, well-spoken professor at Cal Poly. Take him for Programming Languages or any CS class for that matter.


Senior
N/A
Required (Major)
Feb 2018
I don't know what the fuck most of the detractors here are smoking but please keep that shit away from me. Professor "Death to Software Bugs" Keen is legit as fuck. I am not a genius by any stretch and I enjoyed every minute of this course, from the project to his lectures. Maybe it was a professor-student pairing that just worked, but everything he said always got through to me (and it seemed like the class as a whole too). I don't know how stupid a question you would have to ask for him to be condescending like some reviews from years ago stated, but the only response I ever saw out of him was "that's actually a great question" followed by a thoughtful response. He was never dry or sarcastic at anyone's expense except software developers in general, and he had some jokes that were uproariously funny thanks to his deadpan delivery. And holy crap--this man can find a bug faster than the interpreter can. SML is a difficult language to debug at times because error messages can be misleading and it doesn't exactly have a robust Stack Overflow presence. Professor Keen is an outstanding resource if you've exhausted all other avenues to figure out what you've done wrong. I wouldn't recommend getting help at every turn (you won't learn to fend for yourself), but a few times I ran into a really bullshitty, SML-specific problem that he was able to clear up and explain to me in under 60 seconds before moving on to another student. The guy is a fucking genius. Professor Keen might just be my favorite professor I've had here, and there are some great ones. I feel so inclined to defend him because of how unjustified I've found some of these reviews to be. Everyone has their preferences, but if you can't find at least some merit in him as an instructor, then you should probably re-examine your own career path instead of criticizing his.


Graduate Student
A
Required (Major)
Nov 2018
I would take Keen for every class, if he taught it. The way he teaches pretty much "checks all of the boxes" that I look for in a prof: 1) All course materials are available online, for free (no books to buy), 2) If you listen and pay attention in class, you never need to use the reading material (i.e. he's not going to put something on the quiz/exam that was buried in the book but was never mentioned in lecture. If you take good notes, *everything* on the exams/quizzes will be found there). 3) He's very supportive and encouraging of students asking questions, 4) He responds to questions via email/forum promptly and rather thoroughly. Furthermore, he doesn't just cut-n-paste stock answers. He reads your code, finds out just where you went wrong and/or gives you suggestions using the naming/style you used in your code. 5) His knowledge is thorough. Whenever he'd be discussing scoping, typing, object-orientation, he would often add "So, Python achieves it like this... and Java does it this way...". 5) His homework assignments are very clear and unambiguous, and he provides very thorough testing scripts for you to test your code. 6) His quizzes and exams are well-sized such that an "A" student will probably need about 70% of the time allotted. A "C" student might not finish in time. 6) He grades *promptly*. Usually, he'll have your homework graded (and comments given on where you messed up) within a day. Your quiz is usually graded by the next class session. In other words, Keen takes *teaching* seriously, and he strikes me as quite attuned to the needs of students (eg. price of books, promptness of feedback/grades).

CPE 431


Junior
A
Required (Major)
Jul 2011
You spend the majority of this class writing a compiler. It's a cool accomplishment because your compiler will produce assembly for a real architecture (sparc). I didn't find Dr. Keen's lecture interesting for this class. But you need his notes to help guide you in writing your compiler. If you meet the milestone goals, you'll get full points. However, this class isn't curved. If you want a good grade, you can't bomb the test.

CSC 431


Graduate Student
A
Elective
Jul 2006
This class, which should really be named "Compiler Construction" was one of the more interesting tech electives I have taken at Poly. We wrote an optimizing compiler that compiled a subset of C (called EVIL) into sparc assembly. That was pretty much the class. There was a midterm and final paper, but they were fairly straightforward and weren't worth that much. If you're at all interested in programming languages or compilers, take this class. Overall, I think that Keen is one of the best teachers by far. His classes are fairly challenging, but interesting, straightforward, and well worth the time you put into them.


Senior
C
Required (Major)
Mar 2011
This class is terrible. Keen is a good professor, he just makes this class unnecessarily hard. This class is useless to 99% of students and is just a bad class. I had Keen for 430 and if this class had the same difficulty level as that class it would have been fine. I would rather take 357 with O'Gorman 10 times over than take this class with Keen ever again.


Senior
F
Required (Major)
Mar 2013
I'm submitting this review 5 years after graduating from Poly. First of all I got an "F" for this class, but to date I do believe that this is the class that changed my whole professional life. Dr.Keen was a great professor and always available to sort things out for us. But me & my buddy didn't bother to go to his office hours that much, and as a result, we were crunching all the way till the end of the quarter to get going with our compiler. So piece of advice: get going early in this class. You will learn a lot. Though I ended up with an F, I learned hell lot of from this class, and from my teammate. Thanks Dr. Keen for changing my life! p.s: let me add to my first sentence: [I'm submitting this review 5 years after graduating from Poly... while sitting on a comfy chair at work with my six figure salary]


Graduate Student
A
Elective
Jun 2014
I've had Keen for 430 and 431 and I have to say, he's definitely my favorite professor. When he answers your questions he doesn't make you feel like an idiot. When you go to his office hours, talking to him feels like you're meeting with a veteran coworker who talks to you in a very respectful way. Everything out of Keen's mouth confirms the fact that he believes in his students and that any struggles they are having are not a product of them being dumb or incapable, but simply a symptom of inexperience, which is to be expected. Granted, he's not afraid to make you work. I'd say the workload is on par with 357 but not as obnoxious since you aren't having your hand held the entire time. The whole class is based on making a compiler and you can do it pretty much any way you want. The dude is so approachable that you'll have no problem getting the thing done as long as you put effort into asking lots of questions. Do yourself a favor and take this guy if you appreciate classes that boost your skills and are not just administrative check marks.

CSC 530


Graduate Student
A
Required (Major)
Apr 2003
Dr. Keen's class was a good survey of major concepts in programming languages. This was NOT a course to learn how to program in languages X, Y, and Z. The class was very heavy on research papers, with a review of a paper due every day. Reviewing esearch papers takes some getting used to and it takes a long time at first.

CSC 644


Graduate Student
F
Required (Major)
Sep 2018
Not great

ENGR 683


Junior
C
General Ed
Nov 2016
Fine teacher, but a little dry in the presentation. I wouldnt suggest having her at 8:00 in the morning, might be difficult staying awake.