Homeschool Programming
, Inc.TeenCoder: Android Programming
Printed Course Syllabus and Planner
Updated October, 2015
Printed Course Overview
Course Title: TeenCoder: Android Programming
Textbook ISBN: 978-0-9830749-8-4, published 2013 by Homeschool Programming, Inc. Length: 1 semester
Student Pre-Requisites: Basic computer literacy skills, 9th – 12th grade status. TeenCoder: Java Programming is a pre-requisite before starting this second-semester material. Students will use the same Java language and Eclipse IDE skills learned in TeenCoder: Java Programming to complete their Android programming projects.
Description: The TeenCoder: Android Programming curriculum is a one-semester course teaching
students how to create their own Android apps using the Java language.
Materials:
• Student Textbook
• Oracle JDK, Eclipse IDE, Android SDK, Android ADT • Windows or Mac OS personal computer
• Course activities (hands-on programming assignments) • Course supplemental documentation
• Course instructional videos (optional)
All Android apps are developed within a software emulator that runs on Windows or Mac OS. No Android hardware or service plans are required.
Homeschool Programming
, Inc.Labs and Grading
Every chapter contains one or more hands-on programming labs where students will design or implement programs to demonstrate understanding of the lesson topics. These labs, combined with end-of-chapter tests, are used to determine the student grade.
Course Planner
A typical school semester consists of approximately 18 calendar weeks or 90 days of school. This course plan covers 18 school weeks of core material, assuming students are working 3-5 hours per week to stay on pace. Some students may move faster or slower than the suggested pace.
Students may choose to implement a relaxed two-semester course by devoting less time per week or moving at a slower pace. The “Week” column in the planner below reflects a one-semester plan, and those on a two-semester plan can simply scale accordingly.
Week Reading and Objectives Labs
1 Chapter One: Introduction to Android Devices
• Android Operating System • Overview of Devices
• Android Development Environment • Course overview
Install Android SDK, Android Development Tools Activity –
The student will add the SDK and ADT to their Eclipse IDE.
2 Chapter Two: Using Eclipse with Android Tools • Creating Android Programs in Eclipse • Examining Android Project Files • Using the Android Virtual Device
Hello, Android! – The student
will create their first Android program and run it in the software emulator.
Homeschool Programming
, Inc.Week Reading and Objectives Labs
3 Chapter Three: XML Resources • XML Overview
• XML Rules and Special Characters • Android XML
Creating Your Own XML Document – The student will
practice creating a structured XML document in a text editor and verifying the results.
4-5 Chapter Four: Android Activities • Activity Screens
• Creating Activities
• Switching Between Activities • Handling Explicit Intents
Hello, Again – The student will
create a multi-screen application that can send data between screens.
6 Chapter Five: Screen Layouts and Views • Android Units of Measure • The Graphical Layout Editor • Exploring Common Layouts • Views and TextViews
Simple Whack-A-Mole – The
student will create a simple whack-a-mole game using layouts and buttons.
7-8 Chapter Six: Android User Input Controls • Text Input and Option Controls • List Controls
• Spinners and Seek Bars
• Handling Different Devices and Languages
Whack-A-Mole Options – The
student will add an options screen to gather user game configuration choices from a variety of input controls.
Homeschool Programming
, Inc.Week Reading and Objectives Labs
9 Chapter Seven: Android File System • Storing Preferences on a Device • Using Internal File Storage • Accessing the SD Card
Whack-A-Mole Options as Preferences – The student will
save the game configuration settings into the app preferences.
Whack-A-Mole High Scores –
The student will keep track of the game scores in an internal file.
Whack-A-Mole SD Scores –
Load and save data to a SD card.
10 Chapter Eight: Debugging and DDMS • Debugging Android
• Dalvik Debug Server (DDMS) • Emulator Limitations
Note-able Bugs – The student
will use the debugger to identify and resolve bugs in on existing project.
11 Chapter Nine: Displaying Images • Adding Image Resources • The ImageView Control • Horizontally Scrolling Images
• Launcher Icons, Button Images, Activity Backgrounds
Photo Album – The student will
create a photo album app that scrolls multiple images.
12-13 Chapter Ten: Dialogs
• Anonymous Inner Classes • Alert Dialogs
• AlertDialog Lists • Date and Time Dialogs
Reminder Alarm – The student
will create a simple alarm app that accepts the user’s date/time inputs and alerts when time has been reached.
Homeschool Programming
, Inc.Week Reading and Objectives Labs
14 Chapter Eleven: Menus and Notifications • Implicit Intents
• User Notifications • The Action Bar • Context Menus
Reminder Alarm Notification –
The student will enhance their alarm app to add a notification to the system menu that allows the user to snooze the alarm.
Reminder Alarm Menu – The
student will add the ability to add multiple alarms in a list.
Reminder Alarm Context Menu
– The student will add the ability to long-click on an alarm in the list to get a context menu, and then delete the alarm.
15 Chapter Twelve: Messaging and Networking • SMS Messages
• Sending SMS Message from an App • Using HTTP Networking
Weather App – The student will
create a simple weather application that gets and displays live data from an online weather services.
16 Chapter Thirteen: Creating Home App Widgets • Creating App Widgets
• Interacting with App Widgets • Widget Configuration Activity
Weather App Widget – Create a
widget for the weather app that can be placed on the home screen.
Weather App Widget Configuration – The student will
add a configuration screen to uniquely configure an instance of a weather app widget.
Homeschool Programming
, Inc.Week Reading and Objectives Labs
17-18 Chapter Fourteen: Final Project
For the final project, students will create a matching game over a series of guided activities.
• Introducing “Maelstrom”
Building the Activity Starter Starting the Game
Handling Player Clicks Swapping Sea Creatures Adding a Timer
The Action Bar Saving and Loading Preferences