JAN 337


Introduction to App Development

Most people are quite adept at using technology effectively, but few know how apps that run on mobile devices actually work. This situation is analogous to being able to read, but not to write.

In this project, we will explore app development for iPhone devices and Android devices. We will spend the first part of the project exploring Google App Inventor and GameSalad. Each student will send the rest of the project developing apps, either individually or working with another student in the project.

This project provides you with an opportunity to learn to program iPhone devices and Android devices. Computer programming is usually taught as a formal course in which the goal is to learn how to write programs using text-based programming languages. A main goal of such courses is for students to understand basic programming constructs and basic problem-solving strategies. In this course, we will not focus on basic concepts or on text-based programming languages. Instead we will focus on learning what you need to know to build an app of your choosing and on drag-and-drop programming.

There are no
prerequisites. In particular, knowing how to program a computer is not required.

I intend for you to be creative, but also to discover how to learn new things on your own and to collaborate with others in a community of learners. You will be expected to present a proposal for an app, a plan for developing it, and present bi-weekly progress reports. My goal is for you to learn something new and to feel comfortable giving informal presentations to peers. You will also learn to plan a project and to assess progress against that plan. These are skills that are necessary to develop in preparation for a career.


  1. BulletGoogle App Inventor

  2. BulletGameSalad

  3. BulletTextbook: App Inventor: Create Your Own Android Apps by David Wolber, Hal Abelson, Ellen Spertus & Liz Looney, O'Reilly Media, Inc., 2011, ISBN 978-1-449-39748-7
  4. BulletNote: An ebook for GameSalad is available at iTunes, but using it will be optional. (You might find it useful if you are developing an iOS game.)

Class Meetings

  1. We will meet mornings 9:00-noon in Olin 212.

Special Notes

  1. BulletApp Inventor runs under both Windows and Mac OS X. We will have access to Windows in the lab we are using.

  2. BulletGameSalad runs only under Mac OS X. I am working on getting some Macs available in the lab. There are five in Olin 207 that we should be able to use.

  3. BulletStudents are welcome to install the software on their laptop computers and use them in class. If you want to develop an iOS app, then you’ll need access to a Mac.

  4. BulletWe will not publish apps. We will develop and run them on lab computers.

  5. BulletAll products must comply with fair use. [See Stanford Copyright & Fair Use—Fair Use.]


  1. For this schedule, a week comprises Thursday-Friday-Monday-Tuesday-Wednesday.

  2. Week 1:

  3. BulletThe first week comprises a learning spike. Students will work in pairs and learn the basics of App Inventor and GameSalad by developing a few simple apps the first week. They will be assigned to enhance each of these apps on their own, being shown how to read the documentation for App Inventor or Game Salad. Each pair will propose a small enhancement to the app they have developed, implement it, demonstrate it, and then explain to the class how they implemented it.

  4. Week 2:

  5. BulletStudents will work in pairs to design and implement an app for which specifications are given. Alternative designs will be discussed in class. Students can chose any of the designs to implement. They will have to use online resources as well as textbook resources to implement the app. They can choose to use either App Inventor or GameSalad.
  6. BulletEach student will begin working on a proposal for an app that they want to develop
    during the last two weeks of the project. Students will be allowed to work on their project either individually or in a team of two. Those working in pairs will be expected to implement more complicated apps. (From past experience, I have noticed that students who work in pairs learn more quickly how to ferret out what they need to know in order to accomplish something than students working alone.)
  7. BulletOn Tuesday of this week, I will review each proposal with its author(s) and help them put together a plan for its development. Note: Some proposals might have to be scaled up or down depending on the level of ambition they incorporate.

  8. Week 3:

  9. BulletOn Thursday of this week, each student/team will present a proposal for the app to be developed as well as a development plan. Each student/team refine their proposal and then begin to develop their app. During the first part of each class meeting, half of the students will give a brief status report, including descriptions of any problems they are having.

  10. Week 4:

  11. BulletStudents will complete development of their apps, including user documentation. Daily status reports will continue.

  12. BulletOn the final day, each student/team will demonstrate their app to the class and talk about some interesting and challenging parts of the app. Everyone from the Wofford Community will be invited.

Attendance Policy:

  1. BulletAttendance is required. Missing a class is equivalent to missing approximately 3 days of class during a 14-week semester. You may have up to 1 unexcused absence during Interim. (Excused absence is defined by the Class Attendance Policies section of the Wofford College Student Handbook.) A student who has an unexcused absence will be tasked with a make-up assignment that will be due within 2 days of the absence. A make-up assignment can comprise writing a short paper related to some aspect of GameSalad or App Inventor, writing an essay about creativity, or a making a presentation about some aspect of App Inventor or GameSalad.


  1. This project is to be graded Honors/Pass/Fail.

  2. BulletPass: A student has no more than 1 unexcused absence and develops one or more products that are easily recognized as creative and having required significant effort to build. In addition, a student meets deadlines with respect to proposal presentation and weekly status updates.

  3. BulletHonors: A student fulfills the requirements to pass plus demonstrates a mastery of learning on his own and produces one or more products that are recognized as exceptional.

  4. BulletFail: A student has more than 1 unexcused absence, fails to produce an app that represents a significant effort, or consistently fails to meet deadlines for assignments.