U of Arizona Class Creates Mobile Apps

on May 16, 2011 College and Career
Students in Software Engineering Concepts at the University of Arizona develop mobile apps. | Photo courtesy of the University of Arizona College of Engineering
Interesting article on new technology makin it to the classroom... Might note that the "Fourtran" programming language was actually "ForTran"...
Interesting article on new technology makin it to the classroom... Might note that the "Fourtran" programming language was actually "ForTran" meaining formula translation.
on May 17, 2011

When Jonathan Sprinkle went to college in 1994, he learned the FORTRAN 90 language. But today, almost no one in electrical engineering uses that programming language.

This anecdote shows why learning how to solve problems is more important than memorizing the syntax of a language, said Sprinkle, an assistant professor in the College of Engineering at the University of Arizona.

In the capstone class Software Engineering Concepts, 26 undergraduate and graduate students learned how to solve problems as they developed mobile apps this year.


The lessons

While the students did have two specific mobile phones to use, Sprinkle wrote the assignments generically. Instead of saying, "Create an iPhone app that uses this code that you find here," an assignment would say, "Create an app that does this kind of thing [insert function here]."

For one of their first assignments, students developed an app that moves text to a random location when you touch the screen, but always keep it on the screen.

"Each different operating system or different phone platform has a different way to implement that best," Sprinkle said, "and the only way that you can figure it out is by reading the documentation and being a student of lifelong learning as we like to say."

That teaches them to have a goal and figure out the best place in the documentation to look for the information they need. The students who learned fast and figured out the best places to find information took a longer time getting started on their project, but didn't always take longer to finish.

"The emphasis is on not just starting working as soon as you can," Sprinkle said, "but figuring out what's the lay of the land, where do I need to go, what do I need to do, and that sort of reflective notion of what's my next step rather than just charging straight ahead."

However, the students who already know everything about Android programming probably can charge ahead. About a third of the students had written or sold apps before.


The apps

For this project, 20 undergraduates split into teams of two or three, and the six graduate students worked by themselves on their apps.

"I was surprised by how good most of them were," Sprinkle said.

The majority of students programmed on the Android platform because they had Android phones. And they treated Sprinkle like a customer and pitched their app ideas to him.

One of the apps prevents you from texting and driving at the same time. While this isn't an app that someone would download, it is useful. If the students patented and sold it to a software manufacturer, then phones could have the software built into them.

"It's still useful, but it's not in the form of an app."

Other students developed a facial recognition app. This app allows you to take a picture of someone and identify who it is in your contact list. While apps like this may exist, the student developer created one that stored everything on the phone instead of getting the information from a server. 

"The students did an excellent job in making sure that the app that they produced was well polished and actually did what it said it was going to do."

Some of them designed games to help middle school and elementary school students learn about science and engineering.

The game Planarity asks players to rearrange graph nodes on an image to make it flat. It's based on the mathematical notion of three water plants and three houses, where you have to connect each plant to each house without crossing the lines.

This problem doesn't have a solution, and a student made this concept into a fun game. The game allows you to say that a particular graph doesn't work. And if you get it right, you move on to the next level.

Another one, Hide the Diamonds, is based on the idea that hard drives are becoming smaller and carrying more data. If you try to turn a  bit on a hard drive on, it might change the state of neighboring bits. So players learn how to turn just one bit on and touch neighboring bits to make sure they go back to the same state. That allows you to have more storage in a smaller form factor.

Last year, the class also developed mobile apps, but another time the students developed software for autonomous vehicles.

While it produced interesting demos, the autonomous vehicle project didn't lend itself to students being able to show it on their phone at a job interview. With a mobile app, they can.

"Students could carry into a job interview what they've done, and it wasn't complicated to show somebody what they knew and the kind of stuff that they do." 

Resources:

The class wiki


You may use or reference this story with attribution and a link to
http://www.convergemag.com/college-career/U-of-Arizona-Class-Engineers-Educational-Mobile-Apps.html


If you enjoyed this story, subscribe for updates.

View Sample

Comments

Add a Comment
Add a Comment
on May 17, 2011
Interesting article on new technology makin it to the classroom... Might note that the "Fourtran" programming language was actually "ForTran" meaining formula translation.
on May 18, 2011
Thanks for letting us know! We changed it to FORTRAN after talking with Sprinkle.

Top Site Stories

Most Popular
Most Emailed
Most Viewed