A 'Street Tacos' Approach to Mobile Programming
San Diego, Calif., March 19, 2014 -- Some teach computer programming with a Cordon Bleu bent: Instruction is formal, theoretical, by-the-book. Stuffy, one might say.
In Computer Science and Engineering (CSE) instructor Ganz Chockalingam’s class, instruction is, as he puts it, more like “making street tacos.” Chockalingam, who teaches at the University of California, San Diego, doesn't ask students to follow a specific recipe -- instead he lets them come up with their own app ideas and use the tools and programming environments they prefer.
Chockalingam says his goal for the 50 students in his CSE 190 “Mobile Programming” course is to “get down and dirty with the code and arm them with real-world, practical skills” for building mobile apps. To achieve this, he spend only the first month of the course providing instruction -- the rest of the quarter is devoted exclusively to lab time, when teams of six students concoct ideas for apps and then build them with the tools of their choosing.
“Typically in most computer science courses they don’t have such freedom at the undergraduate level,” says Chockalingam, who is a principal development engineer for the the Qualcomm Institute, the UC San Diego division of the California Institute for Telecommunications and Information Technology (Calit2). “I completely flipped that in the sense I give them ultimate freedom with loose guidelines. I tell them all I need is for them to build a mobile app with a server component, and they can use whatever tools they want. I don’t prescribe anything.
"The other thing I stress is not depending on servers in the lab. Instead I have them host their apps in the cloud on the Amazon EC2 platform. That, by itself, is a valuable skill.”
Although Chockalingam teaches programming for Android devices in class, he says many students want to learn IOS programming for Apple devices, “but IOS requires that you own a Mac, and departments don’t always want to enforce that as a requirement for students,” he explains. Though Android programming requires an Android phone, the department can make them available to students for the course.
Instead, he meets Apple fans halfway by allowing these students to work with tutors in the CSE computer lab to learn IOS programming.
“The students like that they get to build what they want and they all do great,” he notes.
Chockalingam also embraces the unconventional when it comes to the guest speakers he invites into the classroom.
“I’m taking guitar lessons from a guy who also writes music apps, some of which are for sale in the Apple store,” he says. “I asked him to give a guest lecture and I even have him judge the apps the students submit for their final projects (although students get a vote, too). My point to the students is: If he can do it without any support, you can do it, too.”
This quarter the students have designed and implemented a number of compelling apps, including one team who developed an augmented reality app that allows the user to stand in any location on the UC San Diego campus, point his or her phone at a building and bring up the name of the building as a text overlay.
Another app ‘Roast functions as a sort of “Yelp”, exclusively for Coffee connoisseurs.
Another team developed what they call “Triton Unlink,” a twist on the TritonLink website the university provides as a clearinghouse for student information. The students have designed the app as what they call a “more useful way” for finding class information. A fourth team built a mobile app that allows the user to monitor, in real time, the pH levels and watering schedule for hydroponic plants -- they even set up a hydroponic lab in the Jacobs School of Engineering Moxie Center for Student Entrepreneurship to test out the app.
Daryl Stimm, a former student in the course who is now Chockalingam’s teaching assistant, calls Chockalingam’s approach to mobile programming “more important than ever” -- something with which the 70 students on the course waiting list would likely agree.
“Mobile app development is exploding in growth,” says Stimm, “This course offers a way for groups of students to make useful, fun and interesting apps. In 10 weeks you design, storyboard, and develop an idea into a fully working application, this course really allows you to use your creativity and make an interesting fun app that solves real problems. I believe this course gives students real world skills that will benefit them when they are looking for a career in the industry.”
Until then, Chockalingam is glad to play a part in nurturing their budding talent.
"I love teaching these kids,” he says. “I just have to point them in the right direction and they figure out the rest. My job is really easy.”
Tiffany Fox, (858) 246-0353, firstname.lastname@example.org