Learning Apps | Feature

High School Class Gives New Meaning to Learning Apps

One high school class engages students with mobile app development.

In Daniel Downs' new computer science class at Winchester High School in Massachusetts, students aren't using mobile apps to learn so much as they're learning to create them. Earlier this year, Downs, a technology teacher at the school, developed a course that lets students design their own Android apps from the ground up, even if they have no development experience.

Already in its second semester, Downs' students have created more than two-dozen children's games and storytelling apps for their Motorola Xoom tablets, with names like Healthy Helper, The Adventures of Piggly Wiggly, and Spooky Shapes. This term, the students are working on a group project to design and build an app for the school.

"Kids are immediately attracted to mobile technology," Downs said. "I thought it would be great if I could develop a course that would take advantage of this interest they have and at the same time connect it to software that a majority of students could actually be interested in learning."

Downs modeled the class to meet the objectives set forth in Standard 3 of the Massachusetts Technology Literacy Standards and Expectations, a publication that defines what the state's K-12 students should know in order to use technology for learning. The standard Downs chose requires students to be able to "use technology for research, critical thinking, problem solving, decision making, communication, collaboration, creativity, and innovation"--all skills covered by the course.

Where other computer science courses might bog students down in code-heavy assignments, Downs intentionally shied away from languages like JavaScript in developing his course, fearing that high schoolers wouldn't find the rigors of learning a complex programming language engaging. Instead, Downs introduces students to Adobe Flash CS 5.5 and Photoshop. He also uses Action Script 3.0, a scripting language used by Flash, which Downs likes because students can easily test what they're building as they go along.

"They're learning code systems and how languages are set up, but at the same time they're gaining benefits by testing out what they create on their device faster than if they had to learn an entire programming language," he said. "For the student who isn't necessarily the typical code genius, this is a very practical way to develop mobile apps."

In fact, much of the course was designed with the idea of keeping students engaged throughout the development process. Downs chose to work with the Android OS instead of Apple's popular iOS, in part, because of the system's openness, especially in accepting new apps. "There are certain limitations in developing iPhone apps," he said. "I thought choosing Android was a much more straight and direct way of doing it. I wanted it to be a smooth transition and I wanted that instant gratification."

A Curriculum that Resonates
The main challenge has been getting each student--from the novice to the advanced programmer--on the same level with each piece of software. After tutorials on Flash, Action Script Code, and Photoshop, Downs has students create simple apps using either self-generated or royalty-free graphics. Then he introduces the class to more advanced concepts--like creating pinch and zoom functionality, slideshows, and how to use the tablet's internal accelerometer--a process he said gives students a good sense of where their strengths and weaknesses lie.

To create an app for their high school, this semester's students are experimenting with project-based learning in groups. After three to four weeks of skill acquisition, Downs split students into groups and assigned them duties based on their interests and abilities, allowing them to experiment with roles like information architect, graphic designer, and bug tester.      

Students are "going to have to think critically about whether this is a role they want to take on or not," Downs said. "I'm trying to get it so that students understand the roles they're taking on as they develop an app for the group."

The result, Downs said, is a curriculum that resonates with students and keeps them learning. "The main thing that I really want them to gain is that they can actually develop something that has a real world application," he said.

"A lot of students take classes in bubbles--they create Photoshop graphics that are maybe in an art show or shown somewhere else, or they put them on a website, but the majority of work done in computer science classes does not always make it out to the public," he said. "This is a chance for them to showcase their work in a broader way. I want them to feel that if they have an idea that they're only a few steps away from acquiring the knowledge to be able to make that idea a reality."  

About the Author

Stephen Noonoo is an education technology journalist based in Los Angeles. He is on Twitter @stephenoonoo.