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 full-featured 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
-
GSP: Getting Started with Processing, Casey Reas & Ben Fry, O’Reilly Media, Inc, June 2010: First Edition
-
LP: Learning Processing, A beginner’s Guide to Programming Images, Animation and Interaction, Daniel Shiffman, Elsevier Inc, 2008
-
RAD: Rapid Android Development, Build Rich, Sensor – Based Applications with Processing, Daniel Sauter, The Pragmatic Bookshelf, 2013
-
Android Boot Camp, for Developers using Java, A Beginner’s Guide to Creating Your First Android App, Corinne Hoisington
Marking Period I
|
Unit / Weeks
|
Title, Topic, Student Objectives
|
Resource, Assessment and Strategies
|
Getting Started with Processing
|
-
Understanding Processing
-
Sketching and Prototyping
-
Flexibility
-
Giants and Family Tree
-
Starting to Code
-
Draw
-
Basic Shapes
-
Drawing Order
-
Shape Properties
-
Color
-
Custom Shapes and Comments
-
Variables
-
Making Variables
-
Processing Variables
-
Math class
-
Repetition
-
Response
-
Follow
-
Map
-
Click
-
Location
-
Type
-
Media
-
Motion
-
Speed and Direction
-
Tweening
-
Random, Timers
-
Circular
-
Translate, Rotate, Scare
-
Functions
-
Function Basics
-
Make a Function
-
Return Values
|
Resources:
Text Books
-
Getting Started with Processing
-
Learning Processing
Others
-
http://processing.org/
-
http://processing.org/examples/
-
http://www.openprocessing.org/
-
http://www.learningprocessing.com/tutorials/
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.
|
|
|
|
|
|
|
Marking Period II
|
Unit / Weeks
|
Title, Topic, Student Objectives
|
Resource, Assessment and Strategies
|
Getting Stated with the Touch Screen and Android Sensors
|
-
Objects
-
Classes and Objects
-
Robot 7: Objects
-
Arrays
-
Make an Array
-
Repetition and Arrays
-
Arrays of Objects
-
Robot 8: Arrays
-
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
-
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
-
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
|
Resources:
Text Books
-
Getting Started with Processing
-
Learning Processing
-
Rapid Android Development
-
Android Boot Camp
Others
-
http://processing.org/
-
http://processing.org/examples/
-
http://www.openprocessing.org/
-
http://www.learningprocessing.com/tutorials/
-
http://developer.android.com/training/basics/firstapp/index.html
-
http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/
-
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.
|
|
|
|
Marking Period III
|
Unit / Weeks
|
Title, Topic, Student Objectives
|
Resource, Assessment and Strategies
|
Working with Camera and Location Devices
|
-
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)
-
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
-
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
|
Resources:
Text Books
-
Getting Started with Processing
-
Learning Processing
-
Rapid Android Development
-
Android Boot Camp
Others
-
http://processing.org/
-
http://processing.org/examples/
-
http://www.openprocessing.org/
-
http://www.learningprocessing.com/tutorials/
-
http://developer.android.com/training/basics/firstapp/index.html
-
http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/
-
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.
|
|
|
|
|
|
|
|
|
|
Marking Period III
|
Unit / Weeks
|
Title, Topic, Student Objectives
|
Resource, Assessment and Strategies
|
Using Peer-to-Peer Networking
|
-
Peers-to-Peer Networking Using Bluetooth and Wi-Fi 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
-
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
|
Resources:
Text Books
-
Getting Started with Processing
-
Learning Processing
-
Rapid Android Development
-
Android Boot Camp
Others
-
http://processing.org/
-
http://processing.org/examples/
-
http://www.openprocessing.org/
-
http://www.learningprocessing.com/tutorials/
-
http://developer.android.com/training/basics/firstapp/index.html
-
http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/
-
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.
|
|
|
|
Marking Period IV
|
Unit / Weeks
|
Title, Topic, Student Objectives
|
Resource, Assessment and Strategies
|
Creating 3D Graphics and Cross-Platform Apps
|
-
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
-
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
-
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
-
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
|
Resources:
Text Books
-
Getting Started with Processing
-
Learning Processing
-
Rapid Android Development
-
Android Boot Camp
Others
-
http://processing.org/
-
http://processing.org/examples/
-
http://www.openprocessing.org/
-
http://www.learningprocessing.com/tutorials/
-
http://developer.android.com/training/basics/firstapp/index.html
-
http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/
-
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.
|
Share with your friends: |