App Development Course Description: App Development Full Year

advertisement
App Development
Course Description: App Development
Full Year
Grades 9-12
5.0 Credits
Prerequisite: Introduction to Computer Science, Advanced Placement Computer Science, or by
permission of the instructor
This is a first course in applied computer science. It is designed for the students who have some
prior knowledge of computer science and have taken Introduction to Computer Science Course.
This elective course introduces students to various applications within computer programming
from a hands-on modeling perspective. It explores the development of Java applets and fullfeatured apps for the Android operating system. Students will gain experience in back-end and
front-end processing as well as in using both graphical user interface (GUI) and text commands.
First part of this course focuses on Processing, which is a Java based programming language,
development environment and online community. Initially created to serve as a software
sketchbook and to teach computer programming fundamentals within a visual context,
Processing evolved into a development tool for professionals. Today, there are tens of
thousands of students, artists, designers, researchers, and hobbyists who use Processing for
learning, prototyping, and production. Processing now runs just as easily on a mobile platform
with Android.
During the second part of the course we will move to android development using the ideas
created in processing. This will include creating android apps with all of the functionality,
transferring it to eclipse, testing them with android API, testing on emulator and installing app
on android devices.
App Development may be taken at any time in the computer science sequence of course
offerings and does not prepare students to take the AP Exam in Computer Science. Students
who take App Development are encouraged to continue their study of computer science by
taking Advanced Placement Computer Science.
Major Texts
1. GSP: Getting Started with Processing, Casey Reas & Ben Fry, O’Reilly Media, Inc, June
2010: First Edition
2. LP: Learning Processing, A beginner’s Guide to Programming Images, Animation and
Interaction, Daniel Shiffman, Elsevier Inc, 2008
3. RAD: Rapid Android Development, Build Rich, Sensor – Based Applications with
Processing, Daniel Sauter, The Pragmatic Bookshelf, 2013
4. Android Boot Camp, for Developers using Java, A Beginner’s Guide to Creating Your First
Android App, Corinne Hoisington
Marking Period I
Getting Started with Processing
Unit /
Weeks
Title, Topic, Student Objectives
1. Understanding Processing
 Sketching and Prototyping
 Flexibility
 Giants and Family Tree
2. Starting to Code
 Your First Program
 Show and Save
 Share, Examples and Reference
3. Draw
 Basic Shapes
 Drawing Order
 Shape Properties
 Color
 Custom Shapes and Comments
4. Variables
 Making Variables
 Processing Variables
 Math class
 Repetition
5. Response
 Follow
 Map
 Click
 Location
 Type
6. Media
 Images
 Fonts
 Shapes
7. Motion
 Speed and Direction
 Tweening
 Random, Timers
 Circular
 Translate, Rotate, Scare
8. Functions
 Function Basics
 Make a Function
 Return Values
Resource, Assessment and Strategies
Resources:
Text Books
1. Getting Started with Processing
2. Learning Processing
Others
1.
2.
3.
4.
http://processing.org/
http://processing.org/examples/
http://www.openprocessing.org/
http://www.learningprocessing.c
om/tutorials/
Assessment :
 Student created projects
 Exercises from the text
 http://www.learningprocessing.c
om/exercises/
This content will be taught with help of
power points, in class activities, class
discussions, worked out examples of the
Programs and hands on coding.
Marking Period II
Getting Stated with the Touch Screen and Android Sensors
Unit /
Weeks
Title, Topic, Student Objectives
9. Objects
 Classes and Objects
 Robot 7: Objects
10. Arrays
 Make an Array
 Repetition and Arrays
 Arrays of Objects
 Robot 8: Arrays
11. Getting Started with Android Development
 Install the Required Software
 Write your First Android Sketch
 Run a Sketch in the Android Emulator
 Run a Sketch on an Android Device
12. Working with Touch Screen Display
 Introducing the Android Touch Screen
 Using Colors
 Use Mouse Speed to Control Hues
 Introducing The Ketai Library
 Install the Ketai Library
 Working with the KetaiGesture Class
 Detect Multitouch Gestures
13. Using Motion and Position Sensors
 Introducing the Device Hardware and
Software Layers
 Introducing Common Android Sensors
 Working with the KetaiSensor Class
 List the Built-in Sensors on an Android
Device
 Display Values from the Accelerometer
 Display Values from Multiple Sensors
 Build a Motion-Bases Color Mixer and
Palette
 Save a Color
 Build a Palette of Colors
 Erase a Palette with a Shake
Resource, Assessment and Strategies
Resources:
Text Books
1. Getting Started with Processing
2. Learning Processing
3. Rapid Android Development
4. Android Boot Camp
Others
1.
2.
3.
4.
http://processing.org/
http://processing.org/examples/
http://www.openprocessing.org/
http://www.learningprocessing.c
om/tutorials/
5. http://developer.android.com/trai
ning/basics/firstapp/index.html
6. http://hackaday.com/2010/07/12/
android-development-101%E2%80%93-a-tutorial-series/
7. https://code.google.com/p/ketai/
Assessment :
 Student created projects
 Exercises from the text
 http://www.learningprocessing.c
om/exercises/
This content will be taught with help of
power points, in class activities, class
discussions, worked out examples of the
Programs and hands on coding.
Marking Period III
Working with Camera and Location Devices
Unit /
Weeks
Title, Topic, Student Objectives
14. Using Geolocation and Compass
 Introducing the Location Manager
 Working with the KetaiLocation Class
 Determine Your Location
 Setting Sketch Permissions
 Working with the Location Class
 Determine the Distance Between Two
Locations
 Determine the Speed and Bearing of a
Moving Device
 Find Your Way to a Destination
 Find a Significant other ( Device)
15. Using Android Cameras
 Introducing the Android Camera and API’s
 Working with the KetaiCamera Class
 Display a Back-Facing Camera Full-Screen
Preview
 Toggle Between the Front- and Back- Facing
Cameras
 Snap and Save Pictures
 Superimpose and Combine Images
 Detect and Trace the Motion of Colored
Objects
 Detect Faces
16. Networking Devices with Wi-Fi
 Working with Wi-Fi on Android Devices
 Working with Networking Classes
 Using the Open Sound Control Networking
Format
 Network and Android with a Desktop PC
 Share Real – Time Data
 Network a Pair of Androids for a
Multiplayer Game
Resource, Assessment and Strategies
Resources:
Text Books
1. Getting Started with Processing
2. Learning Processing
3. Rapid Android Development
4. Android Boot Camp
Others
1.
2.
3.
4.
http://processing.org/
http://processing.org/examples/
http://www.openprocessing.org/
http://www.learningprocessing.c
om/tutorials/
5. http://developer.android.com/trai
ning/basics/firstapp/index.html
6. http://hackaday.com/2010/07/12/
android-development-101%E2%80%93-a-tutorial-series/
7. https://code.google.com/p/ketai/
Assessment :
 Student created projects
 Exercises from the text
 http://www.learningprocessing.c
om/exercises/
This content will be taught with help of
power points, in class activities, class
discussions, worked out examples of the
Programs and hands on coding.
Marking Period III
Using Peer-to-Peer Networking
Unit /
Weeks
Title, Topic, Student Objectives
17. Peers-to-Peer Networking Using Bluetooth and WiFi Direct
 Introducing Short-Range Networking and UI
Classes
 Working with the KetaiBluetooth Class
 Introducing Bluetooth
 Working with the Android Activity Life
Cycle
 Connect Two Android Devices via Bluetooth
 Create a Survey App Using Bluetooth
 Working with Wi-Fi Direct
18. Using Near Field Communications (NFC)
 Introducing NFC
 Working with the KetalNFC Class and NDEF
Messages
 Share a Camera Preview Using NFC and
Bluetooth
 Read a URL from an NFC Tag
 Write a URL to an NFC Tag
Resource, Assessment and Strategies
Resources:
Text Books
1. Getting Started with Processing
2. Learning Processing
3. Rapid Android Development
4. Android Boot Camp
Others
1.
2.
3.
4.
http://processing.org/
http://processing.org/examples/
http://www.openprocessing.org/
http://www.learningprocessing.c
om/tutorials/
5. http://developer.android.com/trai
ning/basics/firstapp/index.html
6. http://hackaday.com/2010/07/12/
android-development-101%E2%80%93-a-tutorial-series/
7. https://code.google.com/p/ketai/
Assessment :
 Student created projects
 Exercises from the text
 http://www.learningprocessing.c
om/exercises/
This content will be taught with help of
power points, in class activities, class
discussions, worked out examples of the
Programs and hands on coding.
Marking Period IV
Creating 3D Graphics and Cross-Platform Apps
Unit /
Weeks
Title, Topic, Student Objectives
19. Working with Data
 Introducing Databases
 Working with the Table Classes and the File
System
 Working with Android Storage
 Read a Tab-Separated Grocery List
 Read Comma-Separated Web Color Data
 Save User Data in a TSV File
 Write Data to External Storage
 Visualize Real-Time Earthquake Data
 Add Vibes to the Earthquake App
20. Using SQLite Databases
 Working with SqLite Databases
 Working with the KetaiSqLite Class
 Implement a Data Table in SQLite
 Record Sensor Data into a SqLite Database
 Refine SQLite Results Using WHERE Clauses
 Write a URL to an NFC Tag
21. Introducing 3D Graphics with OpenGL
 Introducing 3D Graphics and Open GL
 Working with 3D Primitives and Lights
 Apply an Image Texture
 Use the camera Preview as 3D Texture
 Working with Spot and Point Lights
 Working with SVG Graphics and Maps
 Use GPU Memory to Improve Frame Rate
 Control Virtual Camera with Your Gaze
22. Sharing and Publishing Applications
 Share Your Code
 Brand Your App
 Move Your App to Eclipse
 Publish your App to Google Play
 Package your App to Run in HTML5-Ready
Browser
Resource, Assessment and Strategies
Resources:
Text Books
1. Getting Started with Processing
2. Learning Processing
3. Rapid Android Development
4. Android Boot Camp
Others
1.
2.
3.
4.
http://processing.org/
http://processing.org/examples/
http://www.openprocessing.org/
http://www.learningprocessing.
com/tutorials/
5. http://developer.android.com/tra
ining/basics/firstapp/index.html
6. http://hackaday.com/2010/07/12
/android-development-101%E2%80%93-a-tutorial-series/
7. https://code.google.com/p/ketai/
Assessment :
 Student created projects
 Exercises from the text
 http://www.learningprocessing.
com/exercises/
This content will be taught with help of
power points, in class activities, class
discussions, worked out examples of
the
Programs and hands on coding.
Download