University of Maryland Course Evaluation Fall 2017
Number of Students Enrolled: 48
Number of Evaluations Submitted: 28
Response Rate: 58.3%
Report Comments
This report presents feedback received from students for the course SOFTWARE ENGINEERING and for the Instructor James Purtilo in that course. Course means are provided as well as department, college, and college course-level means (e.g., all 200-level courses in a college). Means are calculated from all responses by all students in the unit (i.e., course section, department, college, course-level in a college) on that item and exclude N/A (not applicable) responses. A grade table is included on the next page.

Indication is provided below for the Report Group if there is one affiliated with this course section, otherwise it is blank. The Report Group will be the lead section of a grouped course (i.e. multi-section lecture) and/or the primary of cross-listed courses.

Semester: Fall 2017
College: College of Computer, Math & Natural Sciences
Department: CMNS-Computer Science
Course #: CMSC435
Section #: 0101
Course Title: SOFTWARE ENGINEERING
Report Group:

Instructor: James Purtilo
    
Creation Date    Fri, Jan 12, 2018
Grade Distribution

Grade A Grade B Grade C Grade D Grade F Grade PS Grade W
2313100200


Grade distribution is current as of January 2, 2018 and includes students receiving a W for the course. Some grades are not included (e.g., Cancel, Incomplete).




201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -1-
Administrator University-Wide Course Items Applied to All Section Instructors
Results for use by faculty/instructors and for administrative purposes.
N/A responses have been excluded from the following calculations.

By Score

Scale is Strongly Disagree (0) to Strongly Agree (4) with a Neutral mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
The course was intellectually challenging.3.503.373.283.42
I learned a lot from this course.3.003.293.143.19
Overall3.253.333.213.31

By Frequency

1. The course was intellectually challenging.
OptionsScoreCountPercentage
Strongly Disagree000.0%
Disagree100.0%
Neutral2310.7%
Agree3828.6%
Strongly Agree41760.7%
StatisticsValue
Response Count28
Mean3.50
Standard Deviation0.69
2. I learned a lot from this course.
OptionsScoreCountPercentage
Strongly Disagree000.0%
Disagree113.6%
Neutral2725.0%
Agree31139.3%
Strongly Agree4932.1%
StatisticsValue
Response Count28
Mean3.00
Standard Deviation0.86

How does this course fit into your academic plan or course of study?

OptionsScoreCountPercentage
General Education or CORE Requirement000.0%
Major/Certificate/Minor/Program Requirement12796.4%
Elective213.6%

Additional comments (e.g. about course content/materials, teaching style, etc.):

Comments
Great professor! I love how he holds team members accountable for the work they contribute through logs, peer reviews, and by setting up repos so he can see who commits what. I also love how he organized my team! Great experience my favorite CS course I have taken.
I think I could have learned more from this course if the Powerpoint slides had been online. 95% of learning from this course came from just doing the project independently, but not from the teaching.
I enjoy the idea of the class. Getting students to communicate and collaborate on a big final project. Putting a lot of thought into the project to come up with a good design for an MVP. But at times myself and other students often felt lost and confused about what was expected of us. Even after we reached out to the professor for feedback, it was very vague sometimes and we were left even more confused than before. I know the professor is meant to serve as a spirit guide and has good intentions, but as hes mentioned in class, he believes that the computer science curriculum doesn't prepare us properly for the real life software development process. In my opinion, the course would have been better if we received more guidance by the professor in applying these software engineering principles because for many of us it was our first time being exposed to this type of content.
Excellent course, excellent professor. The project is tough and rightly so, but doing everything with quality makes it much easier and satisfying in the end. At first, you will feel like you have to ask all the questions to learn anything at all, but you will get used to it and realize that's how the real world is, dealing with clients. The class mirrors a software development environment surprisingly well.
I think the instructor could be clearer when giving feedback and on what he wants done
Project assignment went against core principals taught in class –– we did not have time to plan or prepare for our development as discussed, and this was not our choice, but a requirement based on our assigned project's circumstances. Loss of a teammate also went unnoted, putting our team at a disadvantage compared to the others in class.

I would also have appreciated a better understanding of the state of my grade. I am still not entirely sure where I stand, as roughly 30% is yet to be determined by pending assignments, and the CS grades server does not easily show a total percentage not affected by future assignments. I appreciate you being very quick to grade and respond to things, but the confusion still remains.
The professor told us early on that he going to take on more of a "spiritual advisor" role. When we had general questions, he was able to give us some good responses, but if we had a specific question about a single part of a document, process, or feature, he always kept his answer annoyingly vague. Sometimes, after we asked him, we would walk out of the room more confused than when we entered.

The professor was very reasonable when it came to student concerns. If we had forgotten to do something and the due date had passed, he would make a small exception, but reinforced that in industry, if this had happened we would get in a lot of trouble.

The grading style is extremely vague. Every possible grade is posted on the CS grades site, but with that, I have no idea what my current standing is in the course. I'm not sure if this is due to the professor, or if the CS grades site is set up in a weird way. Even in the last week of class, I have no idea what my current grade is, or what I should be expecting to show up on my transcript. There are random entries that have 0 points out of 0, other things are graded normally, but when I look at the total at the bottom it said I have an extremely low grade out of 100. Is that meant to be my current grade? is that just the accumulation of points so far? How many points are there left to earn. The site makes it extremely difficult to discern these things.
Summary:
This course has been the most useful CS course I have ever taken. I love Dr. Purtilo.

Class Resources:
– The SVN was very useful for learning how to use a configuration management system as one (instead of a file sharing service). I had previously used git and it was complicated to the point where I would forget to ask myself if I was doing the right thing.
– Purtilo is extremely fast at responding to student concerns. He gives high quality advice.
– I appreciate the class webpage obligations section. I appreciate that status color coded graph as it gave a sense of comparison to other groups. You could glance at the graph and immediately get information from it.e
– The ticketing system was very helpful for recording time. I wish there had been more examples at the start about what kinds of activities should be recorded.
– The peer mentoring system allowed me to give and receive constructive feedback. I also gave and received thanks for work we did.
– The blog was very useful as it set the expectations for the course.

Teaming Strategies:
I really liked having assigned teams based on how much we cared about the class. It made it so I didn't have to pick up the slack from uncaring group members.

Credit & Classes:
– I wish this had been a two semester class. I wish we had more time to learn all we could from Purtilo. I wish the number of credits was higher to reflect the amount of work that goes into the class. I spent at least 46 hours on this class (plus a lot more that I logged in the SVN but not in the ticketing system).
– Software Engineering is my favorite topic. I went into Computer Science in order to develop code in a team environment, not because I wanted to learn theory and research. As I finished more internships, I realized I really wanted to manage developers. I want more classes that tell me the most efficient ways to run a team to make a product, not software.
– Maybe Technical Writing should be a pre–req to this class. Or have a comp sci specific tech writing class (because my technical writing class was useless anyway). Software Engineering is all about communication, but I wasn't used to writing proposals.

Class Engagement:
As soon as winter set in, everyone got really tired and depressed and sick. I don't know how to solve this, but maybe force people to go outside more when there's sunlight?

Tip for Future Students:
Learn how to give high quality constructive feedback. And then actually give it.

Other Thoughts:
I can't wait to learn more about software engineering best practices. I wish we could have had more emphasis on how to analyze progress from a manager's perspective. A practice exercise in tracing decisions to consequences would have been nice.
Choices of projects and suggestions for next time: The spread of projects was very nice but it would be nice if you could find some more engaged clients. Some of the clients didn't respond to emails, didn't know basic technical skills such as opening a zip folder, or did not wish to be emailed.

Resources available: Having a VM and SVN was very nice. Early on you mentioned that you didn't like git and would prefer us to use the SVN but I think you should be straightforward and say that you will refuse to look at git and will base your scoring of participation on the SVN as I noticed that did screw one team over.

Choice of pre–reqs: Either 420, 389J or N, or 424. A questionnaire should be given out before classes start to figure out what students have taken. This can be another aide to help figure out how to place students in their groups. The goal would be that each group have someone to represent each of those classes.

Pushing some concepts earlier on: I think the class should be taught about proper acceptance testing much earlier on. This was the section of the proposal we struggled most with, and we didn't cover it at all in class until after we had submitted the first few versions of the proposal for review. I also didn't think we needed to dedicate 2 of the early classes to Gallup. Just 1 class would have been sufficient. Or half of two different classes.

Alternate ways to promote early engagement: Maybe encourage in–class demos or have groups do a pitch to the class halfway through the semester. More than an elevator pitch but shorter than the walkthrough. Perhaps something like a "Shark Tank" pitch where they have very little time but they have their app open to do a short demo
While I understand the importance of taking initiative, and creating an environment where students can work together in a group and make more business–centered decisions rather than computer–science related decisions, there are some nuances that unfortunately weren't quite acknowledged I think. Group project (in college especially) seem to be harder due to the simple fact that everyone is a peer to each other, meaning it's harder for people to take lead, or to be listened to because there's less of a power structure, and less impact if things aren't done (other than grades). Additionally, some people unfortunately are satisfied with different levels of detail and work, as some people are content with merely passing and others want to strive for the best. As such, all this comes together and creates a situation where group members are stressed as some people declare a work "finished" while others still want to work and do more to do better. This is just one of the many issues that I'm not sure has a solution but is a big problem for this class.
Course moves slowly at first then moves exceptionally fast towards the end.
Wish you did more stuff on the software engineering working environment
The course should be 4 credits. There are papers, class time, and a huge project. The amount of time spent is similar to a part time job. I believe more students would have better engagement if this was a 4 credit class. The professor is very passionate about this course and his students. Sometimes he can be rude however, he expects perfection from his students and can talk condescendingly to those who won't be making 80k upon graduation or don't have the perfect resume with experience at google. He also often talks about how he is poor and doesn't make any money when we all know that he makes the most in the department. He tends to rant in lectures and often goes off topic. It would be nice to stick to his advice to us and keep it concise and provide more time for advice on projects. He is very passionate though. After saying all this, I do recommend the class and Purtilo. My team got along well and we worked really hard and our grades showed that. You get to work on interesting projects. I would recommend focusing a little more on the project then the proposal. He says that "coding is the easiest part", it's not. You can plan all you want but you still need to get the project done.
I thought the teaching style worked well. At times I was a little confused about what was expected took me a little while to realize that was the point.
The access to the VM was very useful for our team.
I would say that in general I was totally unprepared for this course and I totally think some of these concepts should be taught in earlier CS classes. That being said I felt I did take a lot out of the course.
I was confused the entire semester. I didn't know what to do or when to do it. I went into this course with a friend so that we could work on the same project together and we were separated. I was put on a team that I didn't no anyone in and we were all commuters making it very difficult to work on anything together. This setting was not reflective of a work environment, in a work environment there are set times to meet with individuals on your team. Please communicate better with students about what they need to do, maybe not a checklist for everything but at least tell us how to get started rather than spending each class telling us to be a good team member.
I enjoyed this class a ton and the class project was a very important learning experience for me. Organizing 8 people to work on a project is a daunting task. I never thought of myself as much of a leader but this is the first time I really felt I was equipped to step up and take charge of building a product. I faced many challenges when trying to coordinate tasks and getting people to understand the architecture. One big take away I learned is to design, and design well early. Had we listened to Purtilo from the beginning we would have had a much more polished product. I will definitely take this learning experience with me into a career. While this experience was important, I would have like to learn more about software engineering practices and maybe some small homework assignments. I was very attentive during lecture but I felt when it came to quiz time a lot of the material I could not recall Purtilo talking about. I think if he posted slides and/or gave small assignments this would have better stuck with me.
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -2-
Administrator University-Wide Instructor James Purtilo Items
Results for use by faculty/instructors and for administrative purposes.
N/A responses have been excluded from the following calculations.

By Score

Scale is Strongly Disagree (0) to Strongly Agree (4) with a Neutral mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
The instructor treated students with respect.3.613.493.493.49
The instructor was well-prepared for class.3.683.303.383.38
Overall, this instructor was an effective teacher.3.113.053.093.05
Overall3.463.283.323.31

By Frequency

1. The instructor treated students with respect.
OptionsScoreCountPercentage
Strongly Disagree000.0%
Disagree100.0%
Neutral213.6%
Agree3932.1%
Strongly Agree41864.3%
StatisticsValue
Response Count28
Mean3.61
Standard Deviation0.57
2. The instructor was well-prepared for class.
OptionsScoreCountPercentage
Strongly Disagree000.0%
Disagree100.0%
Neutral200.0%
Agree3932.1%
Strongly Agree41967.9%
StatisticsValue
Response Count28
Mean3.68
Standard Deviation0.48

3. Overall, this instructor was an effective teacher.
OptionsScoreCountPercentage
Strongly Disagree000.0%
Disagree113.6%
Neutral2828.6%
Agree3621.4%
Strongly Agree41346.4%
StatisticsValue
Response Count28
Mean3.11
Standard Deviation0.96

201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -3-

Overall Score

Averaging the following five scaled Administrator items (from above, repeated below) results in the Overall Score.

Scale is Strongly Disagree (0) to Strongly Agree (4) with a Neutral mid-point

CompetencyCourse
The course was intellectually challenging3.50
I learned a lot from this course3.00
The instructor treated students with respect3.61
The instructor was well-prepared for class3.68
Overall, this instructor was an effective teacher3.11
Total Score3.38
The standards the instructor James Purtilo set for students were...

By Score

Scale is Too Low (0) to Too High (2) with an Appropriate mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
The standards the instructor set for students were...1.211.151.131.16

By Frequency

OptionsScoreCountPercentage
Too Low000.0%
Appropriate12278.6%
Too High2621.4%

201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -4-
Student University-Wide Course Items Applied to All Section Instructors

Results for use by faculty/instructors and students.
N/A responses have been excluded from the following calculations.

By Score

Scale is Strongly Disagree (0) to Strongly Agree (4) with a Neutral mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
Course guidelines were clearly described in the syllabus.2.863.173.213.20

By Frequency

OptionsScoreCountPercentage
Strongly Disagree013.6%
Disagree1310.7%
Neutral2414.3%
Agree31139.3%
Strongly Agree4932.1%
StatisticsValue
Response Count28
Mean2.86
Standard Deviation1.11

Based on the quality of my work in this course, the grades I earned were

By Score

Scale is Too Low (0) to Too High (2) with an Appropriate mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
Based on the quality of my work in this course, the grades I earned were0.780.850.830.82

By Frequency

OptionsScoreCountPercentage
Too Low0622.2%
Appropriate12177.8%
Too High200.0%

201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -5-
Given the course level and number of credits the workload was

By Score

Scale is Too Low (0) to Too High (2) with an Appropriate mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
Given the course level and number of credits, the workload was1.391.171.141.13

By Frequency

OptionsScoreCountPercentage
Too Low027.1%
Appropriate11346.4%
Too High21346.4%

How much effort did you put into the course?

By Score

Scale is Little (0) to Considerable (2) with a Moderate mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
How much effort did you put into the course?1.891.491.491.53

By Frequency

OptionsScoreCountPercentage
Little000.0%
Moderate1310.7%
Considerable22589.3%

201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -6-
Student University-Wide Instructor James Purtilo Items
Results for use by faculty/instructors and students.
N/A responses have been excluded from the following calculations.

By Score

Scale is Strongly Disagree (0) to Strongly Agree (4) with a Neutral mid-point
QuestionCourseDepartment (CMNS-Computer Science)College (CMNS)Course Level (CMNS_400)
MeanMeanMeanMean
The instructor was effective in communicating the content of the course.3.003.083.113.08
The instructor was responsive to student concerns.3.543.303.303.34
The instructor helped create an atmosphere that kept me engaged in course content.3.072.983.043.01

By Frequency

1. The instructor was effective in communicating the content of the course.
OptionsScoreCountPercentage
Strongly Disagree000.0%
Disagree127.1%
Neutral2932.1%
Agree3414.3%
Strongly Agree41346.4%
StatisticsValue
Response Count28
Mean3.00
Standard Deviation1.05
2. The instructor was responsive to student concerns.
OptionsScoreCountPercentage
Strongly Disagree013.6%
Disagree100.0%
Neutral227.1%
Agree3517.9%
Strongly Agree42071.4%
StatisticsValue
Response Count28
Mean3.54
Standard Deviation0.92

3. The instructor helped create an atmosphere that kept me engaged in course content.
OptionsScoreCountPercentage
Strongly Disagree013.6%
Disagree100.0%
Neutral2828.6%
Agree3621.4%
Strongly Agree41346.4%
StatisticsValue
Response Count28
Mean3.07
Standard Deviation1.05

201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -7-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -8-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -9-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -10-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -11-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -12-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -13-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -14-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -15-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -16-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -17-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -18-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -19-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -20-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -21-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -22-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -23-
201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -24-
End of Report

201708-CMSC435-0101-SOFTWARE ENGINEERING - Instructor: James Purtilo -25-