3.1
Quality3.9
Difficulty43%
Would Retake105
Reviews43%
Would Retake
105
Reviews
Rating DistributionOfficial
5
30
4
19
3
19
2
17
1
20
What Students Say
“Didn't actually teach us anything about how to make any of the assignments we're given, which would have saved a lot of time during the projects”
COMS437 - 3.0 rating“We had two projects which were extremely hard”
COMS229 - 2.0 ratingClass Info
Online Classes
100%
Attendance Mandatory
13%
Textbook Required
50%
Grade Predictor
Your expected effort level
Predicted Grade
B
Grade Distribution
Common Tags
Rating Trend
Declining
-1.02 avg changeRatings by Course
CS104
5.0
(1)CS227
5.0
(1)COMPSCI227
5.0
(1)COMPSCI207
5.0
(1)COMS227
5.0
(1)Difficulty by Course
COMS227228
5.0
CS327
5.0
COMS228
4.3
COMS311
4.2
COMS229
4.1
Reviews (105)
good teacher. only problem is the class is impossible if you dont already know java. homeworks are rediculously hard if you have had no prior experience. i would go into the TA office hours 4 days in a row for 2-3 hours each time.
Can't say very much...homeworks are pretty near impossible if you don't learn some java ahead of time. Expects a lot and gets very very angry when people cheat.
good teacher. lots of people complain about the class being hard, but guess what, thats programming. try brining that to comsci227 and u will get no help and harder programs. Just be thankful he helps as much as he does and tries to make realistic hw.
He is a good teacher but kind of skops over some stuff. His TA's are the worse at grading. Everything I had graded in that class had to be regraded because of the dumb TA's. He is a good guy but kinda afraid of one on one discussions.
Class is way to difficult if you have never had any programming language before!
I didn't think this class was as hard as others and I don't have any programming experience. I felt he could've explained a few things better but overall I think he was pretty good.
I took cs 104 with him in fall 03 and it was pretty good
He was good in 104 but I didn't like his style of teaching. It was clear, but he didn't help much. It was like reading off a peice of paper. There wasn't much interaction.
Very unprofessional,not a very good teacher by any means.Harsch and doesn't know how to relate Java to real world. I talked him about how friends of mine in real world use Java,he said that in the real world, co-workers never work together with Java prog.
James is outstanding. His industry, team-driven, programming is an invaluable asset now that he is teaching here at ISU. His integrity defending academic cheating is exemplary.
His class can be pretty challenging at sometimes depending on how much programming experience you've had before the class. He understands his material, but sometimes has trouble explaining it so everyone can understand. Don't expect an A unless you are going to put forth a lot of effort.
No Comments
Class is challangeing, but he's the MOST HELPFUL PROGRAMMING TEACHER EVER. He doesnt dress professionaly though he'll be a teacher you'll remember for the rest of your life. If you get to knwo him he's not as bad as everyone thinks...
Very knowledgeable in the field of programming and the Java language. He does sometimes seem like he doesn't care about the class and individual students. The TA's he chooses are very helpful when he is not. Kind of cocky sometimes in discussion board posts, but through all that, good teacher
Jim is not easy by any means, especially in a major-prep class like 227. However, if you're serious about learning programming his 227 class will help you learn the basics of programming. He has high expectations for his students, and those who meet them will learn a lot. As for the rest...
Jim is just a good teacher, good at explaining things and very helpful. He really wants people to learn and understand what he's teaching. He's one of the few gems within the horrendous comp sci department.
Jim is very knowledgeable in his field. He's laid back in class but quite strict on testing. However, he really helps his students excel in Java programming...great teacher!
Jim is by far my favorite teacher at ISU. He knows what he's doing, and when he's not sure he finds out. He has high expectations for his students and his class is a lot of fun. Favorite Memory from class : He threw an eraser at least 35 feet from a chalkboard and made such a noise that no one in the class spoke a peep (because people cheated onHW)
he gets enfuriated by people who steal/copy code, but that's understandable. he's really interested in getting people to understand, but won't spoon feed you on how to write code and still expects you to do the real legwork. he's very good about getting grades back and having TA's be thorough in their comments on homework.
Jim is an awesome professor. If you get a chance to take a class from him you won't regret it. Expect to put a bit of work in. Sometimes the homework instructions are less than optimal, but never to the point that it's frustrating. Always willing to answer questions and help students understand what he means in his more long winded homeworks.
he may know this information, but he is a very angry man that allows his anger get in the way of teaching,to the point that you can't follow him,for example, he spent nearly a period talking about cheating and the punishment, It's hard to regain focus when he does that everyday for 5 minutes, get over it, the poicy is on the web
Great teacher. Clear, funny, energetic. He'll bend over backwards to help you out. You'll have to work and pay attention in class. DON'T CHEAT (he'll kick your ass).
Very helpful and concerned about his students success. I very much enjoyed the time I spent with Dr. Lathrop in class. Homeworks are very time consuming and the class was poorly organized, but this is more the fault of the department than Dr. Lathrop. Very reasonable and approachable and knows the material quite well.
After 227 I thought this guy was a god but then I took 228 and saw his true colors. He can't write a good homework because he writes them at 3:30 in the morning. He made stupid requirements on the HW as well. He and his lackey Sean Fritz are terrible. 228 was one of the reasons I left Iowa State. Nobody ever knew what was going on with HW either.
Go to lecture and don't bother getting the textbook. All the syntax you need is online and he gives the rest in class. Recitation is optional, but it's helpful if you ever get stuck.
In general, just not a caring person. Why have someone like that TEACH???
One (or more) of the 5 homeworks might be really long (but help you do better on tests). Great lecturer. He WILL ask you questions in class ("What's the next line of code that goes here... John Doe?") Slackers/stupid people should probably avoid him.
Loved this professor. Going into this class, I thought it would be boring because I already knew most of the material, but he made it fun. He gives hard projects but if you know how to do the work, they are manageable. I am excited to have him again next semester.
Hard projects and homework. He and his TA don't always realize the time involvement in those homeworks. If they say homework exercise will take 3 hours, it will probably take 6-10 hours. Fair tests and fair grader. Teaches the material and is honest when he doesn't know something. Just keep up with the projects and you'll do fine.
Very down-to-earth teaching style. Assignments are difficult, but ultimately useful. He taught material that was applicable to real-world situations. Grading is _very_ fair.
Took his CS229 in F06 after taking his CS228 Sum06. He covered the really important/practical topics about C/C++. The books for the course are usable during AND after the class. I'm always pleased with his classes.
Jim definitely knows his stuff. As such he expects a lot on homework and exams. His exams are usually quite difficult and conceptual, but overall fair. He wants his students to do well, but sometimes his ego seems to get in the way of this goal. Overall good prof, just don't expect sympathy from him. You learn a lot in his class.
Amazing Professor. Teaches with a chalkboard, and doesnt post notes or anything online, so you should go to class. The homework is usually a little crazy, but its in good fun. His exams are pretty tough, but he grades them fairly. Very passionate about teaching. I'd highly recommmend taking this course.
Jim is quite an interesting guy. He is a very effective teacher. The homework in class was extremely time consuming but it was graded very fairly. Make sure you attend lecture and try your best. He doesn't put up with slackers and really respects the people that try.
Jim knows a lot but he's doesn't come across like he wants to teach you. Only the kids that are already enthusiastic about the class stay that way. He will not make the class interesting to anyone that didn't already think it was. He gives out ridiculously time consuming projects/homework too, on top of you being unmotivated in the class. He sucks.
Jim doesn't inspire at all and he's not at all engaging. I don't feel like he cares if we pass the class. He also assigns some really hard homework that's SUPER time consuming and he doesn't offer man opportunities to get points back, mess up once and you're kinda screwed. He doesn't have homework just 2 massive projects during the semester.
He's a terrible professor. He doesn't give a crap about the students. I think teaching is just a fall back for him and he wanted to do something else in life. He also only writes on the chalk board and never shows us working programs. He assigns projects instead of homework that are extremely time consuming. He's a bad TEACHER, not person people.
He's a cool teacher, but his homework/projects are hard. If you want to succeed in this class, you have to do your own legwork and teach yourself much of the material.
Like said, Only 3 projects for class and super hard and only points you basically get except midterm and final..I haven't had a moment of free time all semester and still really haven't learned anything.
Won't give solutions to any problems you do in class and homeworks come back with no comments on them.
He is really a sophisticated expert in programming techniques and many theoretical fields in computer science. He is a powerful person, truly knowledgeable.Question is he makes 200 and 300 level courses harder and time consuming than PHD research. If ur devoted, you learn a lot. But another severe problem:his TAs r extremely unfriendly in grading
Algorithms are one of the major things you learn in CS course and I feel Jim makes it too difficult for no reasons, there are far better algorithm instructors than Jim. Homeworks are way too difficult, no solutions are given....I dont know why he is the only person teaching this course year after year at Iowa State. Anyway all the best to others!
Jim is not too hard. Complaining that Algorithms is too hard is funny because Algorithms is the most important class as a CS/SoftE/CprE major. You owe it to yourself to work your butt off for your future career/interviews. Jim provides the tools and help to do this. He explains things well and is a great instructor. This class shouldn't be "easier"
It's 50/50 about him but I'm on the bad side. He could be one of your good friends or someone "who knows a lot" but in my opinion, he doesn't know how to teach. Never provides solutions for past works. His homeworks are irrelevant to his lectures. Answers from him are very unclear.
Lathrop is a good professor - don't get me wrong, the class was not easy, but overall I though he did a good job. A large portion of your grade (70% +) will come from the midterm & final (so you need to know your stuff), but his homeworks and projects will prepare you well. Given algorithms is an important class, I feel he taught the class well.
We had two projects which were extremely hard. The description of these projects was incomplete to say the least. He had three TA's who were unable to grade the projects. A number of capable students were forced to drop this class and some of them ended up changing their majors because the way this class was organized. Choose a different prof .
This class REQUIRES that you know what you're doing. Skip class (regardless of professor) and you won't pass. Jim does an excellent job of providing TONS of examples in class, so it's best to go anyway. If you go to class and ask questions when you don't understand, you're always going to get a clear picture of the ideas presented.
Best CS Professor at the university.
Class is taught very poorly. Grading criteria is clear but unfair. Two tests all semester(midterm,final) and a few long, tough projects are what makes up your grade. Professor does not make lectures interesting at all and only explains concepts at the advanced level. Unrealistic expectations to know C language by midterm and both C/C++ by final.
Jim is a great professor and really cares about his students. He explains things clearly, and grades fairly, but he also has very high expectations and assignments and exams can be difficult.
This is very time consuming class. If you take this class along with very few other classes you will be fine. I think grading is bit unfair specially with projects. Even if you write complete program with hundred lines of code, if you can't beat the test cases then you will get lower grade.
Jim's a good guy. He cares about his students and wants them to do well. But expect no mercy in 311. Given it's the final "hard class" in the COMS/SE path, and that algorithms are important, he rightfully has high expectations. His grading leaves a lot to be desired, though. Little to no feedback is received on assignments.
Jim makes dry jokes in class and tries to teach through them. His jokes are related to American culture and throws off an international student. He is also unclear on what he is teaching. Coms 311 is a hard and extremely important class which should require Jim to give better feedback on our performance in homework and exams. The TAs are great.
In the context of 311, which is a notoriously difficult class: I enjoyed Jim a lot. Really knows his stuff for algorithms, pretty good sense of humor, good pace and content for his lecture. I agree more feedback on homework would be nice. Overall, very good professor for 311, so long as you work hard.
Jim is a cool dude if you talk to him one on one, however he can kind of rub you the wrong way during lectures. Assignments felt as if you could only get an A or an F, nothing in between. Very few TA's, all but one of them are useless. However, I am pretty sure there was a pretty big curve at the end, because I definitely did not deserve to pass.
Jim explains the topics with some good examples. However, I am not very fond of him. I agree that he is a good teacher, but he is not helpful at times. The class needs a bit more organization. I only liked one TA. A very important advice, PLEASE RUN YOUR CODE ON PYRITE!. I didn't (laziness) failed 2 of the 3 projects. The exams are also hard.
the worst i have ever met
Didn't actually teach us anything about how to make any of the assignments we're given, which would have saved a lot of time during the projects. First few weeks of class were spent making an idea for Battleship Iowa, not actually learning or being productive.
The idea of this course is interesting, and he did teach us some useful techniques during lecture. However, it's absolutely up to you to finish projects. All helps he offered on Blackboard was online tutorials. Didn't teach us at all how to use related software to do programming. Offered tutorials for projects that we are not allowed to follow.
Don't let the course description fool you. He is just going to tell you what environment you need to use to develop games. You HAVE TO teach yourself everything about those environments (MonoGame/XNA and Unity). Class materials are either theoretical or brainstorming ideas. Not really an interactive or interesting class.
Class was very hard, but the content was vital to my success as a programmer. The content is very interesting and he always was very clear in how he taught. Yes, it was hard, and yes it was a lot of work, but it is completely worth it. If you can take this class with Jim, do it. The content is hard no matter what, and you'll want Jim to teach it.
Expects you to completely learn everything you need to do for your homework on your own, doesn't teach you how to use the technologies. Class is spent either teaching you to be a sellout with your ideas or things that you don't actually apply. The useful topics that would actually help with the assignments are left for the students to present on.
No tests, many projects. Jim expects and encourages learning techniques for completing assignments on your own, but will usually give you good advice and help if asked. Leaves more interesting gaming topics for student presentations. Good, clear lectures. Easy to talk to. Jim really enjoys the subject, which helps make class enjoyable.
Jim is a great professor. He has good lectures, gives a lot of examples, but the things your tested on you have to learn yourself. He does this on purpose, though. He will give teach of a concept in lecture, and you will probably not really understand it unless you put time into your homework projects. Do your projects on time, and you will do well
He doesn't care about his students. His policy is: if you are not 100% sure your work is correct, then dont write it on the test. You won't get any partial credit even if your thinking is on the right track but couldn't reach to a complete answer. He gives 3 points for blank answers but 0 point if you write what you think but not fully complete
Here is what you are going to do in this class: make an 3D asteroid game in MonoGame, make a Reversi game in Unity 3D with given assets, make a game with group about Battleship Iowa (including lots of pitches and game design documents), make a presentation on some game related topics of your choice. Good class but learn everything by yourself.
Definitely a tough grader. 180/300 curved to a solid B on his first midterm. The class itself is hard, but Jim's a good professor.
He is the worst professor I have ever taken here at Iowa State, He doesn't help at all no matter what difficulties you have had in past. He is rude as well, he knows the stuff but at the same time he think he is the smartest guy ever and makes his student feel dumb. I would not take any classes with him.
Interesting to listen to in lecture. Takes hw assignment problems and test questions from the book (Skiena). If you look up the author of the book's website, there are additional lectures that are super helpful. Recitations are taught by impossible to listen to grad students who are a bit condescending.
Grading scale for class was very unclear, project have heavy requirements but in the end are graded generously. Nothing is due, or graded until the very end of the semester, making it hard to tell how you're doing.
A very nice guy, and does a great job at adjusting to the needs of his class. Lectures sometimes seem random and tangential, but he clearly knows his stuff. Course consists of group work, one 20-minute lecture, and four heavy programming assignments. All are due at the end of the course, for better or for worse, and he is a lenient grader.
Lot's of work, but the very lenient grader. Prof is there to help you succeed and learn what you want to learn from the class. Seems like 400 level classes are what he is meant to teach. Casual and flexible, but also knowledgeable and practical. If you're bad at speaking he'll point out what you can improve on but won't hold it against you.
He makes his exam super hard for some reason that no one knows and doesn't provide stuff to study from.
He's an okay professor but is terrible at organizing a class. Homework's take 25+ hours to complete, however, you are giving adequate time to do them. Doesn't review for exams, and gives broad statements about what's going to be on it. That being said, he seems like a nice guy and will change the grading scale if a class isn't going well.
He is a decent person, but his ability to run a class is lacking. It's evident from his attitude during class that he has little interest in teaching Com S 228, which is supported by his lack of communication with students and TAs. His class has very little structure, including NO quizzes, labs, or review. Be prepared to take a lot of notes.
I really don't like how Jim organized this course. TAs are helpful, but Jim tends to not communicate with them. Your only exposure to topics will be lecture and recitation (no quizzes, labs, or practice exams), so get ready to take some good notes. Jim really knows his stuff, but the course structure felt like an absolute mess at times.
Pros -knows the material very well -custom grading scale for each exam (ex: got a 90/200 on the first exam curved to a C+) Cons -makes tests extremely difficult -takes forever to grade -will always miss deadlines he sets for himself on grading -will NOT respond to any emails -you will never truly know your grade until grades are due to registrar
Will expect you to be a master of everything from 227 even if it wasn't taught in much detail (generics and type erasure, etc). Doesn't reply to emails and doesn't communicate with TAs or students. Only some of his TAs are helpful (Don). Extremely unorganized and stressful class. Takes a long time to grade did not communicate his grading very well.
Terrible class. He wants the class to be hard. Overcomplicates every concept. No practice exams or practice problems. Doesn't do things traditionally. Freaked out on someone for opening a test 1 min early and sent him to the dean. We were graded based on 3 assignments and 3 exams. That's it. Thankful to have passed, but this class was terrible.
Prof. Lathrop is very lecture heavy. He knows his stuff and is open to questions and will explain things to you if you need. His lectures are good, but his resources for the class are extremely lacking, he did not provide any study guides or previous exams, and the only real notes besides the syllabus was in the form of pictures of the chalkboard.
It is pretty apparent he does not enjoy teaching. We were graded based on 6 things: 3 homeworks, 3 exams, but you won't know the grade until months later. Didn't put grades for the final and last homework into canvas. Abysmal feedback when you do get it. Also, he's overly obsessed with rules.
James is bad! He literally took away a student's exam in class because he accidentally opened it when it was distributed to him. James' grading policy is awful since he never grades on time. For a programming class, the use of chalkboard only is a big no for me. Not everyone likes sitting at the front of the lecture hall.
Wanna know what's on the test? Don't ask, he won't even give a whisper of it. Want a study guide? No, never. Want to play tug of war with him on exam day with your exam? Sure! (Seriously happened, Fall 2019 Semester knows of this...) Oh, also told a student his question was stupid when it was about Lathrop's code. Extremely power hungry. AVOID HIM.
He is the type of professor that thinks any course below a 400 level is beneath him. If you ask him questions, don't expect a response. He also once physically wrestled away an exam from a student and yelled he was giving him an F because he opened the front page 2 seconds early. I was there at the exam and saw the whole thing.
Jim is very intelligent but he does not teach very well in Com S 228, everything is confusing and he does not give anything to prepare for exams. Exams are very difficult and assignments will take over 20 hours on average. TA did everything for the class and professor was rude to students who asked questions.
The most refreshingly reasonable grader I've had in a while. The project structure of this class makes me actually look forward to the assignments.
Very knowledgeable, but weak lecturer. Overloaded the TAs with grading near the end of the semester. If you have C experience from CPRE 288 and 308, 75% of the course is review, but then the remaining will be new and will make up most of the final. Don't assume that you can skip lectures based on the first half of the course.
Took the class in Fall 2019. Easily one of the most thorough and direct CS professors. His lectures involved implementing data structures in pseudocode on the blackboards. He does not spoon-feed the material, so you definitely need to make some effort to understand it. His HW projects were well written and very reasonable.
Jim does know what he's talking about. However, his ability to organize a class is lacking. He won't give you any practice problems for exams. He literally tried to take an exam from a student because they opened it a few seconds early. The atmosphere he creates as a whole for the class really kills it for me.
Lathrop is a horrible professor. His style of teaching is incredibly boring and his assignments are very unclear, he is constantly rude to his students and nobody understands his grading criteria. He gives no sample exams, and his exams are a huge part of the grade. Avoid his classes.
Jim's organization of this class was not great, often changing details of projects right before due dates and leaving exam content vague. He can regularly come off as or be outright rude to students for asking questions. He also says his grading scale is "too complex for canvas," so we did not know our grades all semester.
Overcomplicate data structures concepts and homework was confusing where there's no real-life applications of those homework. Class doesn't fully prepare you for tech interview(s) in the industry. Rude to his students and have an ego. Exams are also hard where your whole grades are dependent upon some strange overcomplicated programming questions.
COM S 531 is one of the theoretically important courses and Professor Jim did a good job in teaching this difficult course.
The professor relies heavily on writing on a board and demos in class to explain topics. Other than that, the class is just trying to figure out why Monogame isn't working properly, or why Unity has decided that collisions don't matter anymore.
Absolutely terrible. I am genuinely convinced that he hates teaching and does not want students to succeed. I have a 4.0 in most of my classes and I've never come across someone so bad at teaching. He condensed all the content from coming weeks and combined the midterm and final. I'm happy to get done with this course early but he needs to go fr.
Terrible professor. Very Condescending and thinks students are beneath him. He never answers a question without showing his ego. He's failing a friend of mine for erasing an answer a few seconds after he asked everyone to stop writing the exam. He constantly changes project requirements cause he isn't sure of the projects. very disorganized
Doesn't give any sample papers to help us prepare for the 2 exams that weight 35% each. The course management is also terrible, the requirements for the projects keep on changing and you have to go through a bunch of piazza posts to figure out what the final requirements even are.
Just don't. Take Sheaffer's class instead
Super smart guy, but SO UNORGANIZED. Frequently changed project requirements over and over without updating documentation (read every Piazza post) and didn't even have Canvas set up until week 2. Only writes code on blackboard and doesn't allow pictures. Very strict about academic dishonesty (read other reviews) I learned a lot tho, so that's nice.
My biggest regret is studying it right now. If you can get a Sheaffer semester, TAKE IT.
The grading scale was 70% exams, 30% projects. Lectures in person, on a blackboard, but if you attended and asked questions, class was fairly easy. His personality is definitely professional, and I would say he sees you as an equal. Most people barely finished coding exams, but a curve was instituted, project requirements also changed frequently.
Professor Lathrop has a specific teaching style that can be challenging, but engaging with it pays off. The assignments are project-based and interesting. Unstuck study was a lifesaver for exam prep.
The courses were very straight forward. at the start of the semester you receive rough deadlines of the few projects. Then all you do in class is work on the projects and learn how to use game engines. Very fun class
Lathrop is a good teacher and understands what he is talking about, and when he doesn't (niche cases), he takes the time to clarify himself before the next class. He relies on in-class participation and questions to make sure you understand part-by-part what he is writing. It will be up to you to keep up on soft assignment deadlines.
Not a difficult class if you go to lecture and do the homework. His exams are curved and fair. Only issue I had was the second project was horribly worded and hard to complete.
Class Info
Online Classes
100%
Attendance Mandatory
13%
Textbook Required
50%
Grade Predictor
Your expected effort level
Predicted Grade
B
Grade Distribution
Common Tags
Rating Trend
Declining
-1.02 avg changeRatings by Course
CS104
5.0
(1)CS227
5.0
(1)COMPSCI227
5.0
(1)COMPSCI207
5.0
(1)COMS227
5.0
(1)Difficulty by Course
COMS227228
5.0
CS327
5.0
COMS228
4.3
COMS311
4.2
COMS229
4.1