James Purtilo

This professor has taught: BMGT408C, BMGT490H, CMSC132H, CMSC435, CMSC798, ENES490H, GEMS497, HACS279, HACS287, HONR239R
Information Review
James Purtilo
CMSC435

Expecting a B+
Anonymous
05/17/2024
People need to first understand, this is a capstone class. You aren't going to learn anything from the professor's lectures. However, you engage in a semester long project, you work with a client, you have progress checks, critical design review, things like that. If you are interested in learning about the software development cycle, and getting a very hands on experience, this is the class. I will say though, be prepared to work overtime in this class, as this will take A LOT of your time during the week. I will say though, I loved every second of it. Maybe it's because I never had any full stack experience, and building something from scratch to 100 is thrilling. It's also something that you can be very proud of, and you can also put something like this on your resume/linkedin. One more thing, the final is absolutely terrible. You get 3 days to write like a very long paper, and it usually coincides with your other finals. The final is very draining. But Purtilo is a nice guy, and he is genuinely invested in your development throughout the class.
James Purtilo
CMSC435

Expecting an A
Anonymous
12/18/2023
I think a lot of the negative reviews for this class/prof are people who miss the purpose of this class. This is not a traditional course and the prof. makes sure that you are aware of this. This is a course where you learn by doing, you're not going to be quizzed on concepts or theory that you learn in class that you may or may not ever actually care about or use in the real world. Most of what you learn through this class is useful, and almost all of it you learn by actually doing it, and not by reading a powerpoint. With that being said this is a hard course, and you shouldn't take it if you're not motivated to learn about software engineering. You'll spend much of the course working on a semester long group project. You'll get real experience working with actual stakeholders who have an actual need for the project you're working on. You'll learn to (and actually get to) look at a project holistically, from proposing a solution, to building and testing that solution, to actually delivering that solution to the stakeholder. You'll deal with real challenges, setbacks, and learning opportunities just as you would in a real engineering position, except you're doing it in a classroom environment where you can receive mentoring and real time feedback. The amount you get out of this course (and your grade at the end) is directly proportional to the amount of effort you put into the class. The professor takes care to carefully pair people together who have similar work ethics and habits. This generally does mean that the people who take the most leadership, initiative, and care most about the quality of their work are placed into the same group, and those who show less diligence are placed into other groups. You'll go through a series of exercises at the start of the semester to gauge work ethic. Your group does determine a lot about how successful you are in this class, but everything is deliberate. If you come in the first day ready to learn, put full effort into everything and care about the quality of the work you're doing, you'll be put in a group with likeminded individuals and you'll have no issue meeting course expectations. If you don't show as much initiative or struggle to meet expectations, you'll be put into a group with similar people and will likely not have as great a time. Purtilo is also a great resource. He's very honest with your work and is willing to give you feedback. He's super responsive on email and is always willing to help. He is a genuinely good mentor and cares a lot about the success of his students. I think for people interested in software engineering and pursuing a career in it (90% of you reading this probably are) this course is incredibly valuable - only if you're motivated to take it and are willing to put in the hours every week to be successful. If you're not willing to for whatever reason (and that's totally fine), take something else. The one recommendation I would have is to take this course during a light semester, I wouldn't recommend pairing this class with something like 451 or 412.
James Purtilo
CMSC435

Expecting a C+
Anonymous
05/17/2023
at the course summary he complained about students nowdays being too docile; so here's me being very docile and leaving you a 1 star review gg lmao
James Purtilo
CMSC435

Anonymous
05/14/2023
Dr. Purtilo gives fair warning as soon as you sign up for the class- this is not like the other courses you’ve taken. This is a project-based course, and oh boy, you will do a lot of learning by doing, and you will be a better engineer for it. After all, what better way is there to learn software engineering than engineering software? If you are open to this kind of course experience, and you’re engaged and you take the project seriously, I promise you will get the intended value (of which there is a lot to gain) from this course, and you will do well. 

This class is about more than just writing software. Some people do not like or appreciate this aspect of the course. Each project is real, so you’ll be solving an actual problem for some stakeholder. You’ll have to learn how to wade through some ambiguous demands and ask important questions so you can sharpen your project description, and you’ll have to learn how to effectively work with your team.

 You should not expect Dr. Purtilo to stand in front of the class and lecture you about software engineering workflows or whatever, and then give you an exam on them later. That is not what this class is about. Because each project has different technical specs, he does not teach any specific techniques. This might sound scary, but he spends a lot of time assessing resumes and whatnot to make sure he’s not assigning people to projects they know nothing about. Purtilo’s self-proclaimed role in the class is your “spirit guide”. And he is a damn good “spirit guide.” Dr. Purtilo is incredibly kind, and I can tell that he is here teaching this course because he genuinely takes great pride in seeing students come away from his class with real lessons that they can apply in their futures. More than any professor I’ve ever met, he cares about his students and truly wants to set up each and every one of them for success. He is incredibly generous with his time, and never took more than an hour or so to respond to any emails. 

Also, there was only 1 “pop quiz”. It was a syllabus quiz. Anyway, I think it’s classes and mentorship like the 435 experience that earn the UMD CS department such high esteem. Take this class if that is the value you would like from your degree.
James Purtilo
CMSC435

Expecting an A-
Anonymous
12/27/2022
This is not web development with Nelson. This is an upper level class and expected to take a majority of your time throughout the semester. Most lessons are not taught directly, but learned through trial and error. Purtilo teaches through tough love. There is not enough time to teach all of software engineering so the “do the right thing” and “deal with it” mindset are used throughout the course. 
While this is not an easy course, the lessons are valuable and the class has insight into business, technology and life as a whole. Purtilo cares more about your success than you do. It was an uncommon occurrence he’d take more than a few hours to respond to an email at any-point throughout the semester day or night. Assignment requirements are intentionally vague to make you decide the right path to take. This is frustrating as a student being not exactly sure what to do, but helps practice skills in deciding the right path to take. Grades will come naturally if you put in the work, but there is not way to bs this course. This is the only course I’ve had to spend multiple nights working late into the evening to get the project done on time. It seems a lot of reviews on this page are from people not ready for the course. Purtilo does his best on his website and the first week to weed out any students who don’t intend to work hard in the course. If you want to learn software engineering and are ready to put in some effort this class is for you. If not then stay away.
James Purtilo
CMSC435

Expecting an A
Anonymous
12/10/2022
Prof. Purtilo can be an a-hole. He is extremely strict about deadlines, and ruthless in grading students who don't contribute actual effort to the course. To reiterate that - your class performance depends more on effort than any other single factor. However, it's become clear that behind his cold facade he legitimately cares about how well his students learn. He's more immediately and consistently responsive than any other professor I've had in my 5 years at this university. He expects significant effort from you, but will reciprocate with equal effort towards enabling your success. Anyone who puts their 100% into this class will learn immensely (and get a good grade), no matter what level of professional experience they have coming in. He makes sure of that. The class projects are intense, but offer experiential learning that's almost unparalleled at this university. While many hate this class with a burning passion, those I know almost universally agree that they're better engineers for having gone through it. If you want to graduate from this university without working too hard, this most definitely isn't the class for you. That said, I got a CS education at UMD to become a Software Engineer after graduating. Towards that end, no other class has been so applicable. If you want to become a Software Engineer, and want a significant boost to your career, put yourself through the gauntlet. Maybe it's the Stockholm syndrome talking, but I have no regrets about taking this class.
James Purtilo
CMSC435

Anonymous
10/04/2022
Please don't take his class at any cost. First of, for those of you who doesn't know, this class is a capstone class(I didn't know ). This means he doesn't teach you anything. He even tell you that at the beginning of the class. All his task is vague. You don't know what the heck is going on in class. And the project description is as vague as it can get. If the instruction doesn't confuses you, he will find another one that does (I am serious).
James Purtilo
CMSC435

Expecting a W
Anonymous
09/09/2022
if you were doubting any of the other reviews of this class, i highly suggest you to take this class and see for yourself. thankfully i was able to pick up on all the red flags of this professor that others -- especially the one that wrote the essay -- wrote about myself in class BEFORE the drop period. - having class favorites - says the same common sense stuff every lecture - unorganized lecture
James Purtilo
CMSC435

Expecting a C-
Anonymous
04/25/2022
I went into the class very optimistic. Purtilo seemed like a nice guy. Little did I know the absolute piece of human debris this so-called man actually embodied. I took this class in my final semester. On the first quiz, the SYLLABUS quiz, he falsely accused me of cheating. Rather than talking to me about it, he went straight to the University. This could have completely derailed my reputation and ability to graduate on time. I was found innocent because thankfully the other accused party admitted to cheating off of ME on the quiz. From that point on, it seemed this "teacher" had it out for me. His teaching style is horrific. He is, as the kids say, a donkey-hole. He did not teach a single substantive thing the entire year besides common sense work habits and practices. No technical skills taught whatsoever. He makes everyone keep GRADED journal entries of their class-related activities, but only accepts the journal entries to be given on his own personal webpage (which half the class did not know existed) (he refused to accept my handwritten journal entries). His grading system for quizzes and projects is completely abstract and holds zero standards. For the final project, which is worth about half your grade, he divided us up into teams, gave each team a different project description, and continued to change the project requirements and give unclear answers of his expectations. He would then blame us (my teammates and I) for the confusion that he orchestrated. I pulled two all-nighters in all of college, both for this final project. My teammates and I worked our donkeys off, and we stayed up until the last waking minute to get everything done correctly. At 11pm the night it is due, he set out an email with a new requirement to all of our surprise: a five page report..... added on to the final project. We submitted the project well into the night, and by 9am, after literlly spending all semester and multiple crazy late nights on this, he had it graded. By 9am. Literally hours after submitted. A large scale coding project, a 20 page paper, and a 5 page report. And he gave us all the same grade (even though he said he would grade on team participation as well). He gave us all an F. BY THE WAY, each team final project was just a personal pet project that he wanted to personally use, and each team's project was entirely different from every other team, which is completely unfair in terms of expectation and grade. He clearly has class favorites (if you are a kiss-donkey and teacher's pet, you get an A, otherwise, you get a C). He pretends to care about your issues in class then in private he scolds you for being "stupid" and "dishonest". He said in the beginning of the final project that JIRA is encouraged to be used, only to completely disregard all out JIRA entries once submitted and treated it as if we did zero task tracking because "its on JIRA, that's not the right format". His class is endless and thankless work, zero gain, useless busy work, and a compete mess. He is hypocritical, confusing, condescending, abusive, degrading, and BY FAR the worst "teacher" I have EVER had. Stay the frank away!
James Purtilo
CMSC435

Anonymous
12/28/2021
doesn’t teach, and gives no directions for all his work then proceeds to be very unfair with grading ethics
James Purtilo
CMSC435

Expecting a B-
Anonymous
12/19/2020
DON'T TAKE HIS CLASS. I didn't write comments at all here. But I am writing this 3800 words final and I got to alert you guys. His lecture is unorganized, he tests you things on his slides but he never uploaded his slides and recordings. What you did is a big group project which is lack instruction, all you do is to figure out how to start from zero to 100 by yourself. I paid way more time than in this project than in other classes. After demo, presentation, documentation writing. You also need to write a final (which is like a 4000 words reports to him) reflect your effort on this project.
James Purtilo
CMSC435

Anonymous
11/10/2020
The most unorganized and effortless professor I have ever met. Pop quizzes in the first 5 minute of the class, if you are a bit late then f u. Every project is group project. Does not teach coding/programming/any comp sci technical knowledge AT ALL. The course is him saying "hey I want this cool software and you guys have 8 weeks to make it".
James Purtilo

Expecting an A
UMDStudent2
05/12/2013
This was a very interesting honors seminar. Purtilo is very passionate about the material he teaches, and I learned a lot about privacy. The workload is reasonable, and he will give you a good grade if you write thoughtfully. I definitely recommend taking this course with Purtilo.
James Purtilo
CMSC132H

Expecting an A+
OtG
03/19/2012
Purtilo is a solid professor who respects his students. He is an efficient teacher, and he frequently ended class early, since we tended to get ahead of the other sections. He makes it clear that he is dedicated to producing "satisfied customers" of his students.
James Purtilo

Expecting an A-
sportsfan1292
05/14/2011
Purtilo was an extremely engaging professor. The class was all and all fairly easy and as long as you turn in coherent thoughtful work, he'll give you an A. He brought in a ton of interesting guest speakers. Make sure you start on the paper early, it'll help you greatly when you have to cram down towards the end of the semester.
James Purtilo
CMSC435

random
12/20/2010
One of the most useless classes I ever took at Maryland, and Purtilo was mostly responsible for that. I learned almost nothing from this class, because, duh, he doesn't teach at all. Most of the class time is spent either meeting with your teams for the class project (will get to it in a sec). And even when he lectures, the topics are lamest and most useless. "Change is inevitable," he will say multiple times during the lectures. And that's about all you will get from this class (but didn't you already know that). Now about the class project. One of the most horribly designed software I have ever seen in my life -- Terpnav. The thing (hard to call it a software) has 10 different languages supporting it, is spread over multiple machines with source code that has no documentation, and even Purtilo doesn't know how to install and run the thing. But he persists with it every semester, makes students add features to it, which is not hard in itself, but dealing with this beast of a software is the most annoying part, and yet not worth it at all. And the final is a take-home, which is entirely based on the TerpNav project. So, almost all your grade comes from the class project. He will say in the beginning there will be smaller projects too (we had just one), but essentially what you do with TerpNav is all that accounts for your grade. Take this class with anyone but Purtilo. I have heard some other professors do much better job.
James Purtilo
CMSC132H

pukenukem
10/19/2010
DO NOT TAKE HIM FOR CMSC132 OR ANY INTRO-LEVEL CLASS......FOR AN UPPER LEVEL COURSE HE HAS NO EQUAL. Just so we are clear. Dr. Purtilo is a phenomenal professor, engaging lecturer, and an all-around wonderful person. However, he is simply not interested in teaching lower level classes. He instead will lecture on far more upper-level topics of overall software engineering and product development which, while very interesting, have little to do with the course material. He will occasionally go through the syllabus but blow through it at a staggering speed so no one can not learn any of it. In our class he did "show and tell" Fridays where he brought in ancient relics of computer engineering and explained their functions, inner workings, and how modern design has since expanded. For one interested in such a subject this experience is phenomenal, but anyone taking the course simply to learn Java would roll their eyes. If you enroll in his class you will want to attend every lecture out of interest, however, will have to pray that another professor posts their lecture slides and that your TA knows how to actually code in Java (or read the textbook I suppose...gasp!). My course took a significant amount of outside-lecture work. He has long left Java in his profession so any syntax question on its inner workings (you know, the entire midterm and final test material) he will do his best to answer for you and certainly take time outside of class to be sure he gets you the right answer. But this whole process could have been avoided by simply taking a professor more focused on lower-level programming. If you are competent learning material outside of lecture and are genuinely interested in computer science his knowledge, persona, and class complete a once-in-a-lifetime opportunity to learn material beyond the textbook from a truly remarkable person. BUT If you are taking a lower level class to satisfy some random requirement his class will require a lot of unnecessary work.
James Purtilo

vbury
02/25/2009
The class material was very interesting. Towards the middle/end of the semester we had guest speakers every lecture or so from all different fields of industry, including many from the three-letter-agencies. The final paper at the end was a doozy, but the trick with that (like everything) is getting started early. The professor, unlike most Comp Sci instructors, is very helpful and approachable outside of class. Overall, an enjoyable experience and a once-in-a-lifetime opportunity.