Kids love apps
Ability to write their own app is key motivator
Relatively easy to use development tools
Can produce engagi...
Intel based Mac computer
Macbook, Macbook pro, iMac, Mac mini
Large format display (21”+), 2GB RAM minimum
Xcode – develop...
OS X – the operating system version on the Mac
Current version is 10.8.2
iOS – the operating system on the mobile device
C...
Xcode 4.1 – requires OS X 10.6 (snow leopard) – can develop iOS 4.1 apps
Xcode 4.2 – requires OS X 10.6 (snow leopard) – c...
One workstation e.g. iMac - $1200
Xcode – requires developer account $99/yr
Limit of 100 devices per account
Device – iPho...
Taught 9 cycles of “discovery” classes
Opt-in, self selected students
After school, extra curricular activity
One hour, tw...
Traditional classroom layout works best
High quality projector is beneficial
E.g. Square bracket vs curly brace vs parenth...
Mac supplied wireless mouse and keyboard are problematic and not eco friendly
Mac mouse has “swipe” detectors which do not...
Kids are highly motivated by the prospect of being able to develop their
own mobile game
Provide pre-built game shells whi...
Young learners can only sit for so long – class pace is important
Each class should build on prior work and revisit concep...
Substantial parent and student interest in app development classes
Follow on questions from some students show
Enthusiasti...
The “day one” app
Samples
Bounce
Busy Bee
Alien Acres
The 3D cube
Blox
Hands On
Square Bracket [ or ]
Curly brace { or }
Parenthesis ( or )
Semicolon ;
Colon :
Single quote ‘
Double quote “
Backslash 
F...
Day One App
Introduction to computer usage, Xcode and interface builder
Create sample app with label and button
Add studen...
Sample App 2 –Bee Catch
Understanding animations
Change the points for the score
Change the timer speed
Change the animati...
Sample App 3– Alien Acres
Understanding rotating animations
Change the points for the score
Change the timer speed
Change ...
Sample App 4 – 3D cube
Use the built in “Open GL ES game” template
Change vertex values
Change cube color
Change rotation ...
Sample App 5 – Blox
Change texture images
Change order and size of blocks
Change geometry of blocks
Make blocks rotate
Cha...
Student project
Requirements/specifications
Design
User review if appropriate
Testing
Release (put on their device?)
Curri...
Bi-weekly topical agenda – First Semester
Introduction to programming – core concepts
Anatomy of an app – program flows an...
Bi-weekly topical agenda – Second Semester
Networking concepts and servers – HTTP usage
Multitasking and threading concept...
Shaun Neal
shaun@shaunneal.com
646-509-3146
Thank You!
Upcoming SlideShare
Loading in …5
×

Apps

509 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
509
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apps

  1. 1. Kids love apps Ability to write their own app is key motivator Relatively easy to use development tools Can produce engaging results from Day 1 Why App Development?
  2. 2. Intel based Mac computer Macbook, Macbook pro, iMac, Mac mini Large format display (21”+), 2GB RAM minimum Xcode – development platform for apps App developer account ($99/year) Test device and sync cables Requirements
  3. 3. OS X – the operating system version on the Mac Current version is 10.8.2 iOS – the operating system on the mobile device Current version is 6.0.2 Xcode – the software used to develop apps Current version is 4.5 The version of OS X that you are running determines which version of Xcode you can run, which in turn determines which version of iOS you can write apps for. Versions
  4. 4. Xcode 4.1 – requires OS X 10.6 (snow leopard) – can develop iOS 4.1 apps Xcode 4.2 – requires OS X 10.6 (snow leopard) – can develop iOS 5.0 apps Xcode 4.3.x / 4.4 – requires OSX 10.7 (lion) – can develop iOS 5.1 apps Xcode 4.5.x – requires OSX 10.7.4 (lion) – can develop iOS 6.0 apps Includes support for Retina displays Bottom line: Obtain the highest level of Xcode that your operating system will support Version Matrix
  5. 5. One workstation e.g. iMac - $1200 Xcode – requires developer account $99/yr Limit of 100 devices per account Device – iPhone, iPad or iPod touch - $400 Not entirely necessary – can use simulator for class Approximate Costs
  6. 6. Taught 9 cycles of “discovery” classes Opt-in, self selected students After school, extra curricular activity One hour, two times per week Between 8 and 16 total classes in one cycle Grades K through 8, with focus on K through 4 Class size between 3 and 10 students – enrollment was later capped at 6 What did we learn?
  7. 7. Traditional classroom layout works best High quality projector is beneficial E.g. Square bracket vs curly brace vs parenthesis Length of class – 45 minute timeout Time of day – programming requires concentration Frequency – at least 2 times per week with day in between Monday/Wednesday or Tuesday/Thursday Classroom Logistics
  8. 8. Mac supplied wireless mouse and keyboard are problematic and not eco friendly Mac mouse has “swipe” detectors which do not work well with small fingers Xcode does strange things with some mouse gestures using Mac mouse Stick with standard USB keyboard and wheel (PC style) USB mouse Consider where projects will be stored and periodic system wipe Consider locking the volume controls with user permissions Computer Setup
  9. 9. Kids are highly motivated by the prospect of being able to develop their own mobile game Provide pre-built game shells which have enough functionality present to engage students to change or enhance them Get them to write an app from the very first class Modification of existing apps teaches students application development through learn by example without requiring an otherwise substantial technical background Focus on games Teaching Strategy
  10. 10. Young learners can only sit for so long – class pace is important Each class should build on prior work and revisit concepts while introducing new/fresh content Class logistics and computer setup – layout, class size, mouse/kb Distractions – surfing, photo booth, youtube, other apps, online games Challenges
  11. 11. Substantial parent and student interest in app development classes Follow on questions from some students show Enthusiastic feedback from students who have taken the course Development of “in house” apps by students Repeatable programming behavior as early as age 6 Achievements
  12. 12. The “day one” app Samples Bounce Busy Bee Alien Acres The 3D cube Blox Hands On
  13. 13. Square Bracket [ or ] Curly brace { or } Parenthesis ( or ) Semicolon ; Colon : Single quote ‘ Double quote “ Backslash Forward slash / Symbol Legend
  14. 14. Day One App Introduction to computer usage, Xcode and interface builder Create sample app with label and button Add student selected images and text Run samples in simulator Sample App 1 - bounce Using Xcode to change the application Navigating the Xcode project files Change the points for the score Change the timer speed Curriculum #1 – Discovery 8 to 16 classes
  15. 15. Sample App 2 –Bee Catch Understanding animations Change the points for the score Change the timer speed Change the animations Change the background images Curriculum #1 – Discovery 8 to 16 classes
  16. 16. Sample App 3– Alien Acres Understanding rotating animations Change the points for the score Change the timer speed Change the animations Change the background images Change the characters and their attributes Curriculum #1 – Discovery 8 to 16 classes
  17. 17. Sample App 4 – 3D cube Use the built in “Open GL ES game” template Change vertex values Change cube color Change rotation speed and direction Change camera position Talk about X/Y/Z coordinates and 3D projection space Curriculum #1 – Discovery 8 to 16 classes
  18. 18. Sample App 5 – Blox Change texture images Change order and size of blocks Change geometry of blocks Make blocks rotate Change speed of rotation Curriculum #1 – Discovery 8 to 16 classes
  19. 19. Student project Requirements/specifications Design User review if appropriate Testing Release (put on their device?) Curriculum #1 – Discovery 8 to 16 classes
  20. 20. Bi-weekly topical agenda – First Semester Introduction to programming – core concepts Anatomy of an app – program flows and components UI component review – types of controls and their use Variables and classes Component events and properties 2D graphics concepts CoreAudio and sound – music and sound effects Curriculum #2 – Full Year
  21. 21. Bi-weekly topical agenda – Second Semester Networking concepts and servers – HTTP usage Multitasking and threading concepts 3D programming using OpenGL User requirements and SDLC concepts Database design Finite state machine design and logic flows Student final project – design/develop/test/release Curriculum #2 – Full Year
  22. 22. Shaun Neal shaun@shaunneal.com 646-509-3146 Thank You!

×