Talk About Teaching and Learning:
October 27, 2015, Volume 62, No. 11
Motivating Students with “Real Projects for Real Customers”
A colleague once asked me, “How do you motivate your students? How do you inspire them?” and I was disappointed with myself that I couldn’t come up with anything more insightful than “I have them do stuff that I think is cool and hope that it works out okay.”
Every so often, though, things do work out okay, and I come across something that really motivates my students to take their work seriously, put in a tremendous amount of effort and achieve more than they thought they could.
In my two Software Engineering courses—CIS 350 for undergraduates, and CIS 573 for graduates—students have the option of doing “real projects for real customers,” in which they engage in group projects to develop mobile apps for customers from outside the course. The customers—who are almost always part of the Penn community—provide the requirements and direction for the project, and then receive the code and supporting documentation at the end of the semester. In some cases, projects span across semesters, so that different groups of students work on them at different times.
Despite the organizational challenges of running these sorts of projects at scale, there are a number of benefits that make them worthwhile, and I have found that they go a long way in motivating the students to do great work.
First, even when a project is positioned as “solving a real-world problem,” students may feel that the output of their project (whether it’s a paper, a design, a model, a device, a piece of software, etc.) is simply going to be discarded at the end of the semester, and that no one really cares about its quality except for possibly the TA who will grade it. It is important that the students get the feeling that someone else does care about the quality of what they produce, and that it will potentially live on even after the term is over. By having the students work directly with a customer, the project ceases to be considered “a big homework assignment” and purely an academic exercise, but rather is seen as a professional engagement in which the students are delivering a product that needs to be of high quality. Accordingly, the students put in more effort because they know that what they produce is ultimately worth more than just a grade.
Second, students realize that what they produce may be distributed beyond the University setting to a potentially large number of users. Part of the appeal of working at companies like Microsoft, Facebook or Google is the thrill of knowing that potentially millions of people are using your software, but that sensation is hard to reproduce in a classroom setting. Although the apps that the students build in our courses are unlikely to be used by “millions” of users, of course, they are almost always intended for a larger audience than just the customer with whom the students interact. Thus, the students know that it is not only their customer who cares about the quality of what they produce, but that other people whom the students will not meet care about it, too. Given that the projects tend to be in domains like healthcare and education, the students know that their apps will be used to help medical patients, elementary school children, families, the homeless, other students, etc. and are motivated to put in extra effort in order to benefit people other than themselves.
Third, students feel the passion that the customer has for the subject matter, and that motivates them to help their customer be successful. In our group projects, we very specifically avoid the situation in which the customer hands the students a list of requirements and says, “build this,” and then the students say, “Okay, see you in 10 weeks!” Rather, the customer is engaged throughout the semester and is actively involved in weekly update meetings that are organized and run by members of the teaching staff.
This process methodology not only keeps the customer more involved —so that they are more likely to get what they wanted—but also has the side effect of further motivating the students: through these weekly face-to-face meetings, students feel the customer’s passion and are energized to help them reach their goals. Almost all of the customers are Penn faculty, staff and graduate students, from places as various as Penn Medicine, the School of Nursing, PennVet Working Dog Center, Student Health Services and the Netter Center for Community Partnerships. Because the customers are people who would not have reached this stage of their career if they were not passionate about what they do, the students are surely affected by hearing them talk about their work. Often the customers say things like, “I have this great idea for an app that will really help people, it’s just that I don’t know how to build it.” The students—even undergraduates who have only recently learned how to program—realize that they have the ability to help these domain experts see their apps come to life, and that is a very thrilling and rewarding experience that motivates them further.
Admittedly, when I first set out to have the students do these projects for real-world customers, I wasn’t necessarily thinking about how to motivate them: I just thought it would be something different from usual group projects and would give them something approximating a real-world experience. However, I must admit that there was one insight that I had at the time regarding motivation, and I have mostly observed it to be true: students are more afraid of disappointing their customer than they are of disappointing their own instructor. This is perhaps speculative, but I might summarize the students’ mindset as such: “If I tell my instructor that I didn’t do my work or do a bad job of it, then I just get a bad grade; I can live with that. But if I tell my customer—someone who’s essentially a stranger—that I didn’t do something, or if I let them down, then I might be embarrassed and this person may think less of me; I wouldn’t like that.”
This may also be related to the manner in which students interact with the customer and with the instructor. With the instructor, it is very easy to simply send an email saying, “I didn’t have time to do it,” or just not do the work and let the instructor figure it out. After all, in these courses there may be over 100 students, and students may feel safer in their anonymity.
But because students meet with the customer in person (students usually work in groups of four on these projects), there is social cost to showing up for the meeting with nothing to say or admitting that the work they did is not very good. I wouldn’t say that avoiding embarrassment is the students’ primary motivation, of course, and the above-mentioned reasons certainly provide enough “carrot” so that “stick” may not be necessary, but it is something that combined with the other reasons has led the students to achieve truly remarkable work.
I am certainly not the only one at Penn who does “real projects for real customers,” and I suspect that such an approach would be effective not just in engineering or the professional schools, but in any course in which students engage in group projects. I encourage you to try having your students collaborate with a “customer” within the University. You will find that the students are motivated to work harder, act more professionally and accomplish something great.
Christian Murphy is an associate professor of practice in the department of computer & information science in the
School of Engineering and Applied Science and is director of the Master of Computer & Information Technology program.
This essay continues the series that began in the fall of 1994 as the joint creation of the
College of Arts and Sciences and the Lindback Society for Distinguished Teaching.
See www.upenn.edu/almanac/teach/teachall.html for the previous essays.