Introduction to iPhone Programming with DragonFireSDK

Intended Audience
Introductory programming students wishing to learn programming and iPhone app development. However it is also appropriate for someone with some programming background to take the course in order to learn iPhone app development.

None. This course assumes zero prior involvement.

Course Length
This can be a short course in basic iPhone App development and C++ programming, or it can be added to existing programming courses as an introductory module. This allows the teacher/instructor to engage the students interest by having them learn basic programming tasks with a tool that is intriguing to them.

Recommended Implementations
For Secondary Schools: This course makes an excellent introduction to programming. The curriculum can be added to the beginning of a traditional programming course. This gets students engaged and excited about programming at the very beginning.

For community colleges: This course could be a brief elective, or could be added to the beginning of a traditional introduction to programming course in order to engage students interest early on in the course.

For Continuing Education: This course makes a good stand alone course that can be offered in evenings spread out over a 3 week period, or in 2 weekend sessions.

At the end of this course students should:
     Create iPhone apps using DragonFireSDK
         o Display Text
         o Display Graphics
         o Play Sounds
         o Do simple animation
     Understand the essentials of C++ including
         o Variables and data types
         o Loops and decision structures
         o Header files
         o Functions
         o If Statements
         o Loops
     Understand Programming concepts
         o Compilers
         o Source Code
         o Statements
         o Variables and Data types
     Understand iPhone apps


Course Description:
A general introduction to C++ and DragonFireSDK

None Needed
The DragonFireSDK is required

1. Each Topic has a slide show presentation with examples. Depending on class size, prior programming knowledge, etc. it should take approximately 90 minutes to work through each slide show. Then the students will have 30 minutes to complete the associated lab(s). Thus each topic should take approximately 2 hours to cover. This can, of course, vary based on the previously mentioned conditions.
2. Topics 1 through 3 also have optional material. These are designated by a B after the slide show title, and should be considered optional material. This is used in situations where:
a. The class is longer and more material is needed.
b. Students are more advanced and require a greater challenge.
c. The instructor/teacher wishes to add additional content, going into more depth on programming concepts and on C++.
3. Optional lessons added to topics can increase the time for that topic by 45 to 60 minutes each.
4. This means total course time is about 8 hours for the core material and labs, and 3 to 4 hours for optional material. Topic quizzes are also included as optional material. Those items, if all are used, should require approximately 20 minutes.
5. So total course time is from a minimum of 8 total hours to a maximum of 14 total hours.

Lesson Plan by Topic
Topic 1: Introduction
  Introduction to iPhone app development
  Introduction to DragonFireSDK
  Structure of a C++ program
  Basic Programming Concepts
  Data Types and Variables
  Write your First App
  Important Functions
  (optional) 1B: Starting the first app from scratch
Topic 2: More with Apps
  Global vs. Local Variables
  Simple Animation
  if Statements
  (optional) 2B: More C++ Details
Topic 3: Basic Multi-Media
  Basic Animation
  Function Declarations
  Basis Audio
  For Loops
  The Piano App
  (optional) 3B: More Programming Details
Topic 4: In Deeper with DragonFireSDK
  Responding to Tilts
  Sound Loops
  MP3 Files
  Button Visibility