Wednesday, October 15, 2014

Problem Solving and Resilience in Mobile Apps Class (VIDEO)

Tom Bredemeier teaches using the application Xcode. 
Last week I visited Barrington 220's new Mobile Apps class offered at Barrington High School. The class is taught both by Brian Mathien and Tom Bredemeier (“Mr. B.” to his students). I visited Mr. B.’s class on a Thursday morning. The class teaches students to “code” in a programming language called Swift that is used to create apps for iOS devices (iPhone, iPad, and iPod touch) and Mac. Like any language that is unknown to an observer, computer code can seem quite unfamiliar, and even a bit scary. But as two students explained to me, coding is just a way for a programmer to send instructions to a device—it’s a matter of learning the syntax a little at a time and combining several instructions together to make an app that does what you want it to do.

Students showed me examples of a recently completed app, a tip calculator (for calculating the gratuity for a waiter or other service). To create this app, students needed to write the code to allow a user to input cost, select the percentage for the tip, perform the tip calculation, and display the result. Some students also added an option to display the amount owed if multiple people were included on the same bill. Using a software developer application called Xcode, students write the code on their MacBook Air laptop and then click a "play" button that launches an interactive iPhone display that pops up on the screen.

I was struck by the many different approaches taken by students to both structure the app and design the user interface—the elements on the screen with which a user must interact to successfully use the app. For example, students needed to method for users to select how much of a tip to calculate. I observed three different approaches:
  • Some students allowed the user to type a numeral in a text field for the percentage they wish to tip.
  • Other students presented several buttons, or a “segmented control” with three connected buttons, displaying choices of 10%, 15%, and 20%.
  • A few students created "slider" control so the user can slide to select any percentage.
The student on the left used a slider while the student on the right used a segmented control, two of many possible user interface approaches.
Students in the class worked both independently and collaboratively with their peers and teacher. Mr. B. uses a color-coded clip system to ensure that he can easily prioritize his interactions with students. A collection of red, yellow, and green clips are available on each table. Students select the appropriate color to clip to the corner of their laptop as they work. Red clips mean, “I’m stuck and I need help right now before I can move on;” yellow clips mean, “I have a question, but I can still work on other things;” and green clips mean, “I have no questions at this time and I'm working on my project.” Students seemed to have little trouble finding help from Mr. B., their peers, or using online resources.

In my conversations with students, I learned that the logical approach to problem solving they were learning as coders was also translating to other parts of their life. Please take a look at the following video that features both Mr. Bredemeier and Emma B., a learner with no previous programming background before taking this Mobile Apps class.



No comments:

Post a Comment

Popular Recent Posts