The catalyst: Computer science professor Richard Lucic and lecturer Robert Duvall decided to co-teach the course after realizing the department did not offer a class that exposed students to the softwaredevelopment process as it occurs in the business world. “If we don’t teach it to them here, then whoever hires them has to teach it to them through onthe- job training,” says Lucic.
The gist: The course is centered on the semesterlong task of creating a mobile application. Students work in small groups to take projects from concept to completion, with the end goal of hatching a fully functioning app for mobile devices.
The twist: The students are teamed with real-world clients, which in the past have included an independent- film producer who wanted to create a microlending application and a museum curator looking to build a fun teaching tool. Last year, one group of students created an iPad app to help emergency-room doctors at Duke Hospital quickly determine if a patient would benefit from a ventilator. “It’s one thing to sit in front of your computer and write code,” says Lucic. “It’s another thing to go over to the hospital and visit the ER, where students can see actual patients being treated on ventilators.”
Assignment list: Teams must prepare presentations for clients at least once every other week, keeping the students on track and giving them experience in a work-like environment. “In most cases they do a better job of preparing when it’s a real-world client,” Lucic says. One of the key things students learn, he says, is that “an ounce of planning is worth a ton of trial and error.”
What you missed: In one recent session, students spent time with Duke’s improv comedy group to improve teamwork and trust.