You might say the Department of Computer Science has found the right app for teaching students software development skills.
The new mobile applications course — to be offered for the third time this fall — has proven to be popular with students and potential clients.
“It turns out there’s a huge demand for iOs programmers and not nearly enough students have been trained in this area,” said Computer Science Associate Chairman Richard Lucic, who co-designed and co-teaches the course with Computer Science Lecturer Robert Duvall. “Students can go out to Silicon Valley and practically name their price. So there is a lot of interest in helping us with this course because businesses see it as a way to attract students.”
In addition to creating applications for Apple’s mobile operating system — for devices like the iPhone and iPad — students can create applications compatible with Android and other operating systems. But what the course is really designed to teach them are skills typically not taught in a classroom: how to work as a team, how to prioritize work, how to communicate with clients.
“They don’t get these skills anywhere else in our program,” Lucic said, “and if they graduate without them, they’re left with on-the-job training. So, of course the companies would rather they get the skills here.”
He and Duvall had talked about the idea for a project management course for a number of years.
“The mobile space made it concrete,” Duvall said. “Right now the sweet spot is the mobile app. Students are interested in it. Companies are interested in it.”
Past student projects that are seeing real use and that are available through Apple’s App Store include Tacklebox, an iPad app created for the N.C. Maritime Museum in Beaufort. Through games, the app helps students in grades 4-8 learn various aspects of the N.C. recreational fishing industry. Students also have created eCLIP, an iPad app now used in research by doctors at Duke Medicine. Through the app, information on a patient’s current condition and medical history is entered and calculated to determine the best course of treatment.
In the course, students work with actual clients to develop practical applications that solve a real-world need. So far, the course — which is limited to 20 students — has more potential clients than teams of students able to work on projects. The course takes students through the process of software development — from an idea, through development and to delivery. Potential clients pitch their project ideas to students, and the students vote on their first three choices. Teams of two to four students are formed and matched with a project based on the votes.
After students are matched with a project, the teams then meet with their clients to define the scope of their projects. From this meeting, students build a project plan, including what they can accomplish during the semester-long course and the dates for completing certain aspects of the project. They share their plan with their clients for approval and meet every two weeks with the clients to demonstrate progress on the project. On alternating weeks, guests — including mobile app developers — visit the classroom to talk about real-world issues of project management and software development.
Ultimately, Duvall and Lucic would like to see the course offered regularly by the department with additional designations attached to it — including writing and service learning designations — to make it more attractive to students.
Through a partnership with the Duke Reader Project, an initiative of the Thompson Writing Program, students in the course are paired with people whose careers involve technical writing. The partnership helps students improve the three documents they will produce in the course: the proposal of the project; the project plan; and the final documentation for running, installing and maintaining the completed project.
“Having an outside person that students have to work with has raised the quality of the product,” Duvall said, adding that the volunteer readers also may start testing the students’ apps in addition to providing feedback on the written work. “Even though they’re not the projected users of the product, they have a different perspective and they might be able to offer insights.”
Another partnership with Duke’s improv comedy troupe is helping students improve teamwork. Early in the semester, Duke University Improv works with the students using a series of improv games, an idea Duvall read about in Harvard Business Review. The games help to equalize students and to build trust, leading to a greater willingness to offer ideas later in teams.
Recalling the first improv lessons in the spring offering, Duvall said, “It was one of those teaching moments where you see in the course of an hour and a half your students literally change.”
In the end, students in the course learn the invaluable skills of software development as well as have a potential app for their work portfolio. “It’s a win for students,” Duvall said.