Department of Information Technology ENTD322: Application Development for the Droid 3 Credit Hours 8 Weeks Prerequisite(s): Instructor Information Course Description Course Scope Course Objectives Course Delivery Method Resources Appendix A Professor Biography Appendix C e-classroom Instructions Evaluation Procedures Grading Scale Course Outline Policies Academic Services Selected Bibliography Appendix B Weekly Student Course Guide Instructor Information Instructor: Email: Phone: Office hours: Course description/ Course Objective This course is a study of application development for the Motorola Droid and how mobile devices enhanced by mobile application software are changing the face of technology. The course expands on concepts introduced in the mobile application design and development course and expands into more advanced topics regarding Motorola Droid. The course will cover scenario based exercises and requires students to use assigned tools to write, test and deploy mobile software applications into the Android platform environment. The course allows the students to experience maximum amount of application and retention of material covered in the course. Course Objective: The student will be able to apply programming skills to design and develop mobile application software for successful use on Motorola Droid mobile devices.
Learning Objectives 1. Research various types of mobile application software and the Android operating system Motorola Droid uses 2. Review key tools used to design, develop, write, test and deploy applications into the Android platform environment 3. Build a mobile application for Motorola Droid using Java programming language 4. Use assigned tools to write, test and deploy applications into the Android platform environment 5. Discuss the benefits of mobile application software use in Motorola Droid technology Course Delivery Method This course delivered via distance learning will enable students to complete academic work in a flexible manner, completely online. Resources and access to an online learning management system will be made available to each student. Online assignments are due by the last day of each week and include Forum questions (accomplished in groups through a threaded Forum), examinations and quizzes (graded electronically), and individual assignments (submitted for review by the Faculty Member). Assigned faculty will support the students throughout this eightweek course. Resources Book Number ENTD322 Author Book Title Publication Info ISBN Burnette, Ed Hello, Android Pragmatic Programmers, Llc 1934356565 Software Used: 1. JAVA JDK (latest Java SE Development Kit @http://www.oracle.com/technetwork/java/javase/downloads/index.html ; it is the student s responsibility to download and install this software. ) 2. Eclipse (latest Eclipse classic @ http://www.eclipse.org/downloads/) 3. Android SDK (http://developer.android.com/sdk/index.html) Software Installation Instructions 1. Refer to Burnette Text book Chapter 1
Evaluation Procedures 1. Detailed instructions for weekly assignments are found in Appendix B. 2. Refer to the e-classroom instructions (Appendix C) to find out how to upload assignments, participate in online Forum discussions, and take exams. Grading Scale Please see the student handbook to reference the University s grading scale. Course Outline Week Topic Learning Objectives Readings Assignment/Wt% 1 Quick Start Installing the Tools Creating Your First Program Running on the Emulator Running on a Real Phone Burnette Chapter 1 Forum Week 1 (6%) 2 Key Concepts The Big Picture It s Alive! Building Blocks Using Resources Safe and Secure Burnette Chapter 2 Forum Week 2 (6%) Assignment Week 2 (8%) 3 Designing the User Interface Introducing the Sudoku Example Designing by Declaration Creating the Opening Screen Using Alternate Resources Implementing an About Box Applying a Theme Adding a Menu Adding Settings Starting a New Game Debugging Burnette Chapter 3 Forum Week 3 (6%) Assignment Week 3 (8%)
Exiting the Game 4 Exploring 2D Graphics Learning the Basics Adding Graphics to Sudoku Handling Input The Rest of the Story Making More Improvements Burnette Chapter 4 Forum Week 4 (6%) Assignment Week 4 (8%) 5 Multimedia, Storing Local Data Playing Audio Playing Video Adding Sounds to Sudoku Adding Options to Sudoku Continuing an Old Game Remembering the Current Position Accessing the Internal File System Accessing SD Cards Burnette Chapter 5,6 Forum Week 5 (6%) Assignment Week 5 (8%) 6 The Connected World, Locating and Sensing Browsing by Intent Web with a View From JavaScript to Java and Back Using Web Services Location, Location, Location Set Sensors to Maximum Bird s-eye View Burnette Chapter 7,8 Forum Week 6 (6%) Assignment Week 6 (8%) 7 Putting SQL to Work,3D Graphics in OpenGL Introducing SQLite SQL 101 Hello, Database Data Binding Using a ContentProvider Implementing a ContentProvider Understanding 3D Graphics Introducing OpenGL Building an OpenGL Program Rendering the Scene Building a Model Lights, Camera, Action! Applying Texture Peekaboo Measuring Smoothness Burnette Chapter 9,10 Forum Week 7 (6%) Assignment Week 7 (8%)
8 Multi-Touch, There s No Place Like Home, Write Once, Test Everywhere, Publishing to the Android Market Introducing Multi-Touch Building the Touch Example Understanding Touch Events Setting Up for Image Transformation Implementing the Drag Gesture Implementing the Pinch Zoom Gesture Hello, Widget Live Wallpaper Gentlemen, Start Your Emulators Building for Multiple Versions Evolving with Android APIs Bug on Parade All Screens Great and Small Installing on the SD Card Preparing Signing Publishing Updating Burnette Chapter 11,12,13,14 Final Project (10%) Policies Please see the student handbook to reference all University policies. Quick links to frequently asked question about policies are listed below. Drop/Withdrawal Policy Plagiarism Policy Extension Process and Policy Academic Services ONLINE LIBRARY RESEARCH CENTER & LEARNING RESOURCES The Online Library Resource Center is available to enrolled students and faculty from inside the electronic campus. This is your starting point for access to online books, subscription periodicals, and Web resources that are designed to support your classes and generally not available through search engines on the open Web. In addition, the Center provides access to special learning resources, which the University has contracted to assist with your studies. Questions can be directed to orc@apus.edu. Charles Town Library and Inter Library Loan: The University maintains a special library with a limited number of supporting volumes, collection of our professors publication, and services to search and borrow research books and articles from other libraries. Electronic Books: You can use the online library to uncover and download over 50,000 titles, which have been scanned and made available in electronic format.
Electronic Journals: The University provides access to over 12,000 journals, which are available in electronic form and only through limited subscription services. Turnitin.com: Turnitin.com is a tool to improve student research skills that also detect plagiarism. Turnitin.com provides resources on developing topics and assignments that encourage and guide students in producing papers that are intellectually honest, original in thought, and clear in expression. This tool helps ensure a culture of adherence to the University's standards for intellectual honesty. Turnitin.com also reviews students' papers for matches with Internet materials and with thousands of student papers in its database, and returns an Originality Report to instructors and/or students. Smarthinking: Students have access to 10 free hours of tutoring service per year through Smarthinking. Tutoring is available in the following subjects: math (basic math through advanced calculus), science (biology, chemistry, and physics), accounting, statistics, economics, Spanish, writing, grammar, and more. Additional information is located in the Online Research Center. From the ORC home page, click on either the Writing Center or Tutoring Center and then click Smarthinking. All login information is available. Selected Bibliography Appendix A Professor Biography Dr. Jeff Wang - Dr. Jeff Wang received Ph.D. degree in Physics-based Modeling and Visual Computing from George Mason University in 1999. He is a senior member of ACM and a member of IEEE.
Appendix B Weekly Student Course Guide Week 1 Quick Start Scope: This week you will get started with Droid programming and write your first Hello World! Objectives: The students will be able to 1. Install the Tools 2. Create Your First Program "Hello, Android" 3. Run on the Emulator 4. Run on a Real Phone Required Readings: Text Book Chapter 1 1. Chapter 1 - Quick Start Installing the Tools Creating Your First Program Running on the Emulator Running on a Real Phone Supplemental Reading: None Turn-Ins: 1. Forums Introduction - Introduce yourself in Forums and respond to at least 2 of your classmates (Back to e-classroom Instructions) 2. Click on the Forums and Introduce Yourself links A. Click "REPLY TO THIS MESSAGE" and enter a short introductory paragraph about yourself, what you are majoring in and what you expect learn from this course. B. Click Reply C. Respond to 2 other student s introductions by clicking the Sub thread link located beneath their answer D. Click the Submit button Notes: Please post your introduction in the Forum. Week 2 Learn Key Concepts Scope: This week we will learn Key Concepts Objectives: Successful students will be able to: 1. Understand these key concepts in order to write well-behaved Android applications. 2. Understand the big picture 3. Use resources
Required Readings: Text Book Chapter 2 1. Chapter 2 - Key Concepts 1. The Big Picture 2. It s Alive! 3. Building Blocks 4. Using Resources 5. Safe and Secure 6. Fast-Forward Supplemental Reading: None Turn-Ins: First Program "Hello, Android": (A) Create your first program "Hello, Android" in Eclipse. (hint: chapter 1) (B) Run on the Emulator (C) Run on a real phone (optional) (D) Take screenshot(s) of either (B) or (C), and submit the screenshot(s) (E) Put the screenshots in a Word document. Please have a cover sheet with your name and the name of the assignment. Name the file following naming convention "ENTD322Week2Assignment_First_Last.doc" (F) Upload assignment work as an attachment. Forum Discussion Topic: Share and discuss on your experience in setting up Eclipse and Android SDK. Notes: Week 3 Design the User Interface Scope: This week we will learn to design the user interface. Objectives: Successful students will be able to: 1. Create a more substantial example: a Sudoku game. 2. Understand many aspects of Android programming by gradually adding features to the game. Required Readings: Text Book Chapter 3 1. Chapter 3 - Designing the User Interface 1. Introducing the Sudoku Example 2. Designing by Declaration 3. Creating the Opening Screen 4. Using Alternate Resources 5. Implementing an About Box 6. Applying a Theme 7. Adding a Menu 8. Adding Settings 9. Starting a New Game
10. Debugging 11. Exiting the Game 12. Fast-Forward Supplemental Reading: None Turn-Ins Create Sudoku game program: (A) (hint: Download the sample code at http://pragprog.com/titles/eband3 ) (B) Create a project Sudoku in Eclipse. (C) Add features to Sudoku by following through Chapter 3 (D) Run on the Emulator. (E) Run on a real phone (optional) (F) Take screenshots of either (D) or (E). The screenshots should include the same pictures as Figures 3.3-3.12. (G) Put the screenshots in a Word document. Please have a cover sheet with your name and the name of the assignment. Name the file following naming convention "ENTD322Week3Assignment_First_Last.doc" (H) Upload assignment work as an attachment. Forum Discussion Topic: Share and discuss on your experience in creating Android programs. Week 4 Exploring 2D Graphics Scope: This week we will learn explore 2D graphics on Droid. Objectives: Successful students will be able to: 1. Apply that knowledge to implement the game part of our Sudoku example. Required Readings: Text Book Chapter 4 1. Chapter 4 - Exploring 2D Graphics 1 Learning the Basics 2 Adding Graphics to Sudoku 3 Handling Input 4 The Rest of the Story 5 Making More Improvements 6 Fast-Forward >> Supplemental Reading: None Turn-Ins: Sudoku game draw the board (A) (hint: Download the sample code at http://pragprog.com/titles/eband3 ) (B) Create a project Sudoku in Eclipse. (C) Draw the grids, tiles, and numbers to Sudoku by following through Chapter 4 (D) Run on the Emulator.
(E) Run on a real phone (optional) (F) Take screenshots of either (D) or (E). The screenshots should include the same pictures as Figures 4.3-4.7. (G) Put the screenshots in a Word document. Please have a cover sheet with your name and the name of the assignment. Name the file following naming convention "ENTD322Week4Assignment_First_Last.doc" (H) Upload assignment work as an attachment. Forum Discussion Topic: Share and discuss on your experience in drawing 2D graphics in Android. Week 5 Multimedia, Storing Local Data Scope: This week we will learn about Multimedia, Storing Local Data. Objectives: Successful students will be able to: 1. Add multimedia to your Android application. 2. Store data using several different techniques depending on the size of the data, its structure, its lifetime, and whether it will be shared with other programs. 3. Use three simple methods to keep local data: the preferences API, instance state bundles, and flash memory files. Required Readings: Text Book Chapter 5 and Chapter 6 Chapter 5 - Multimedia 1 Playing Audio 2 Playing Video 3 Adding Sounds to Sudoku 4 Fast-Forward >> Chapter 6 - Storing Local Data 1 Adding Options to Sudoku 2 Continuing an Old Game 3 Remembering the Current Position 4 Accessing the Internal File System 5 Accessing SD Cards 6 Fast-Forward >> Turn-Ins: Sudoku game music and storing user preferences (A) ((hint: Download the sample code at http://pragprog.com/titles/eband3 ) (B) Create a project Sudoku in Eclipse. (C) Add music to Sudoku by following through Chapter 5
(D) Add user preference to Sudoku by following through Chapter 6 (E) Run on the Emulator. (F) Run on a real phone (optional) (G) Take screenshots of either (E) or (F). The screenshots should include the same pictures as Figures 3.11. (H) Put the screenshots in a Word document. Please have a cover sheet with your name and the name of the assignment. Name the file following naming convention "ENTD322Week5Assignment_First_Last.doc" (I) Upload assignment work as an attachment. Forum Discussion Topic: Discuss on skills needed to create your own game. Week 6 Beyond the Basics (1) Scope: This week we will learn about The Connected World, Locating and Sensing Objectives: Successful students will be able to: 1. Understand more advanced topics such as network access and location-based services. 2. Write many useful applications with these features Required Readings: Text Book Chapter 7 and Chapter 8 Chapter 7 - The Connected World 1 Browsing by Intent 2 Web with a View 3 From JavaScript to Java and Back 4 Using Web Services 5 Fast-Forward >> Chapter 8 - Locating and Sensing 1 Location, Location, Location 2 Set Sensors to Maximum 3 Bird s-eye View 4 Fast-Forward >> Supplemental Reading: None Turn-Ins: Create BrowserView program (A) ((hint: Download the sample code at http://pragprog.com/titles/eband3 ) (B) Create a project BrowserView in Eclipse. (C) Develop the BrowserView program by following through Chapter 7 (D) Run on the Emulator. (E) Run on a real phone (optional) (F) Take screenshots of either (D) or (E). The screenshots should include the same pictures as Figures 7.3.
(G) Put the screenshots in a Word document. Please have a cover sheet with your name and the name of the assignment. Name the file following naming convention "ENTD322Week6Assignment_First_Last.doc" (H) Upload assignment work as an attachment. Forum Discussion Topic: Discuss: Are location services a privacy risk? Notes: 1. Please refer to the Announcements posted in the e-classroom 2. Upload your assignment as Last Name Assignment Name (i.e. Morris Preferences Settings) in the Assignments folder using the Browse button. Week 7 Beyond the Basics (2) Scope: This week we will learn to put SQL to Work and 3D Graphics in OpenGL. Objectives: Successful students will be able to: 1. Use Android s embedded database engine, SQLite. 2. Use Android s data binding to connect your data sources to your user interface. 3. Use the ContentProvider class, which allows two applications to share the same data. 4. Explore 3D concepts. 5. Build up a sample program that uses OpenGL. Required Readings: Text Book Chapter 9 and Chapter 10 Chapter 9 - Putting SQL to Work 1 Introducing SQLite 2 SQL 101 3 Hello, Database 4 Data Binding 5 Using a ContentProvider 6 Implementing a ContentProvider 7 Fast-Forward >> Chapter 10-3D Graphics in OpenGL 1 Understanding 3D Graphics 2 Introducing OpenGL 3 Building an OpenGL Program 4 Rendering the Scene 5 Building a Model 6 Lights, Camera, 7 Action! 8 Applying Texture 9 Peekaboo 10 Measuring Smoothness 11 Fast-Forward >> Supplemental Reading: None
Turn-Ins: Create OpenGL program (A) ((hint: Download the sample code at http://pragprog.com/titles/eband3 ) (B) Create a project OpenGL in Eclipse. (C) Develop the OpenGL program by following through Chapter 10 (D) Run on the Emulator. (E) Run on a real phone (optional) (F) Take screenshots of either (D) or (E). The screenshots should include the same pictures as Figures 10.7. (G) Put the screenshots in a Word document. Please have a cover sheet with your name and the name of the assignment. Name the file following naming convention "ENTD322Week7Assignment_First_Last.doc" (H) Upload assignment work as an attachment. Forum Discussion Topic: Discuss on which will be the dominant platform in the future to power everything from smart phones to touch-screen refrigerators, Google's Android operating system or Apple's ios? Week 8 The Next Generation and Final Project Scope: This week we will learn about Multi-Touch, Widget, Wallpaper, Write Once, Test Everywhere, and Publishing to the Android Market. Objectives: Successful students will be able to: 1. Use the new multi-touch features in Android 2.0, warts and all. 2. Understand home screen widgets, introduced in Android 1.6, and live wallpaper, introduced in Android 2.1. 3. Work with all the different Android versions and screen sizes. 4. Get your program into users hands by publishing it on the Android Market. 5. Demonstrate your knowledge by completing the Final Project. Required Readings: Text Book Chapter 11, Chapter 12, Chapter 13, and Chapter 14 Chapter 11 - Multi-Touch 1 Introducing Multi-Touch 2 Building the Touch Example 3 Understanding Touch Events 4 Setting Up for Image Transformation 5 Implementing the Drag Gesture 6 Implementing the Pinch Zoom Gesture 7 Fast-Forward >> Chapter 12 - There s No Place Like Home 1 Hello, Widget 2 Live Wallpaper 3 Fast-Forward >> Chapter 13 - Write Once, Test Everywhere 1 Gentlemen, Start Your Emulators 2 Building for Multiple Versions
3 Evolving with Android APIs 4 Bug on Parade 5 All Screens Great and Small 6 Installing on the SD Card 7 Fast-Forward >> Chapter 14 - Publishing to the Android Market 1 Preparing 2 Signing 3 Publishing 4 Updating 5 Closing Thoughts Supplemental Reading: None Notes: 1. Final Project: Add to Sudoku game (A) Continue with the Sudoku game in Eclipse (B) Design and develop 3 or more features to the Sudoku game, including layouts, buttons, functions, and etc. (C) Make sure it compile and work. (D) Run on the Emulator. (E) Run on a real phone (optional) (F) Take screenshots of either (D) or (E), and document the new features you added. Good to add various design diagrams. (G) Zip the Eclipse project folder for this program. (H) Please have a cover sheet with your name and the name of the assignment. Name the file following naming convention "ENTD322FinalProject_First_Last.doc" (I) Upload the document and the zip file as attachments.
Appendix C e-classroom Instructions Readings, Assignments and Classroom Participation This course requires disciplined independent practice and individual completion of assignments. Although Distance Learning provides you with a flexible schedule to meet your professional, personal, and academic responsibilities, you are expected to follow the student course guide and submit assignments on time and on schedule. All accepted late weekly assignments will lose 10 points; midterms and finals will lose one full letter grade. All work must be submitted by the end of the class session. No assignments will be accepted after the class end date. Original Work All work submitted must be original work. Incidents of academic dishonesty will result in you failing the assignment, and repeat incidents will result in failing the course. I check assignment regularly for incidents of academic dishonesty. Please read and understand the University policy on academic dishonesty. You must credit your sources and provide the appropriate references on your assignments. Standards for Written Work Written communications is an essential tool for any professional. As with any skill, writing well is the result of practice followed by feedback, and the use of relevant and appropriate sources. Therefore, the quality of writing is graded as part of every written assignment. Below are the grading criteria for each written assignment in this class. Content & Development 50% All key elements of the assignment are covered in a substantive way. Content is comprehensive, accurate, and/or persuasive. Major points are stated clearly, are supported by specific details, examples, or analysis, and are organized logically. Where appropriate, the paper supports major points with theory relevant to the development of the ideas, and uses the vocabulary of the theory correctly. Theory and practice are integrated, whereby the writer is able to link theories to practical experience (i.e., application to a real-world work setting). Research is adequate and timely for the topic. The context and purpose of the writing is clear (e.g., critique, research, sample memo, and business plan). Organization 20% The structure of the paper is clear and easy to follow. The paper s organization emphasizes the central theme or purpose and is directed toward the appropriate audience. Ideas flow in a logical sequence. The introduction provides sufficient background on the topic and previews major points. Paragraph transitions are logical and reinforce the flow of thought throughout the paper. The conclusion is logical and flows from the body of the paper. The conclusion reviews the major points. Format 10% The paper, including citations and the reference page. The paper is laid out effectively and uses reader-friendly aids (e.g., sections, summaries, table of contents, indices, and appendices), when appropriate.
The paper utilizes references appropriately. Features such as headings and italics aid in the readability of the paper and are not overused. The paper is neat, with attention given to format requirements. Grammar, Punctuation, & Spelling 15% Rules of grammar, usage, and punctuation are followed. Spelling is correct. Readability & Style 5% Sentences are complete, clear, and concise. Sentences are well constructed, with consistently strong, varied structure. Sentence transitions reinforce the flow of thought. Words used are precise and unambiguous. The tone is appropriate to the content and assignment. Rubric for Learner Post (Assign point value in Grade Builder) Synthesis of concepts Applications of personal experience Clear citations Writing standards Rubric for Response to Two or More Students Timeliness Synthesized concepts in 250 or more words (critical to class performance). The response refers to course materials and shows a clear understanding of main ideas and concepts. There are no irrelevant comments and the information is on point. Ideas are clearly and properly organized. The response provides personal examples that tie in with the course material being discussed. Reflection is evident and clearly ties in with the material presented. Insight was provided to some concept. The response made proper reference to the course text or to other materials that were referenced or referred to in the discussion. Opinions were also included and were valid. The writing is grammatically correct, clear and concise. The response is well formulated and easy to read and understand. Correct terminology was used when needed. Responded to two or more students in 150 words or More. The other learner s ideas, questions, concerns were addressed. The response referenced reading or lecture materials when needed. The response addressed the learner s feelings if needed. There were no irrelevant or offpoint comments. The posting reflects a clear understanding of the other learner s ideas. The posting was not submitted on time. 30% 30% 10% 10% 10% 10% (deduction) Optional
Late Assignments Students are expected to submit classroom assignments by the posted due date and to complete the course according to the published class schedule. As adults, students, and working professionals I understand you must manage competing demands on your time. Should you need additional time to complete an assignment please contact me before the due date so we can discuss the situation and determine an acceptable resolution. If you do not communicate your issues that will prevent completions of assignments, a late penalty will apply. Late assignments will lose 10 points for each week they are late. I grade papers once a week. When I do, I will send professor notes indicating the assignments are graded. Please do not email your assignments to my email account. Assignments must be posted in class. Although it is always nice to hear from students, it is not necessary to send email to inform me you have posted your assignments. Email me of any concerns or issues on the assignments. Submit all assignments to your student folder, and make sure you select the correct assignment association. If you do not make the assignment association when submitting your files, your profile will not reflect your efforts in class. Contact technical support if you have problems submitting your files. The week for this class starts on Monday and ends on Sunday. I do allow students the full weekend to submit their assignments, so assignments are considered late on Monday of following that week. There is a possibility that your assignments are posted on time, but after I have graded papers for the week. Your papers will not be counted late in these situations; the post date is what determines late assignments. All assignments must be submitted by the course end date. Our courses end on the Friday of the last week and all assignments must be submitted by that date. You may submit assignments early, but do not expect me to grade all of the assignments at one time. If you submit your assignments late, I may not be able to grade all of the assignments at one time. In addition, I will not grade your work if it is over five weeks late. Because of the point reduction for late papers, these assignments automatically receive an F grade (50 point deduction). Back to Course Outline