This course is a novice-friendly introduction to computer science and programming Android apps for smartphones and tablets. In this course I had fun learning to create an app for modern Android devices such as the Nexus tablet.
I used the programming tools that Android software developers use and build a complete and useful app during this course. Along the way, it was introduced fundamental computer science principles and programming ideas that power today’s smart-phone and tablet apps.
This course is composed of 2 basic parts organized into 8 distinct weekly topics:
Android Developer Track (5 weeks). This required portion of the course is intended to give me a slow and gentle introduction to the basics of Android application development such as downloading, installing, and setting up the tools I used in this course. I also created my first Android app and shared the results of my experience with my classmates.
Week 1 : Getting Started on Windows; Virtual Android; Android Emulator; Eclipse Views and First App
Week 2 : Beyond “Hello World”; Resourceful Images; Images, Strings, and Qualified Layouts
Week 3 : Localization (Internationalization); Exporting for User Testing; Installing APK; Testing and Tweaks
Week 4 : Activity Lifecycle; Debugging with Log Messages and Breakpoints; State Diagrams; User Interface; Spit and Polish (Code Smells & Screen Density); Manifest and Style Know-How
Week 5 : An App for Web Content; A Better UX; Three Activities and a Surprise
Computer Science and Programming Track (3 weeks). During this latter portion of the course, I could delve deeper into computer science fundamentals and beginner programming techniques. Together I explored this content while developing another really cool project to share.
Week 6 : EditText; A Little Toast for My App; Working with Strings; Catching the Unexpected; Intent to Share; ScrollView, LinearLayouts, Gravity, Weight, Visibility, TextWatcher and null pointers
Week 7 : Preferences, views and interfaces; Event queue, Runnable and anonymous inner class; Canvas and Bitmap; Requested a Stream for the bitmap; Sampling large bitmaps; Saving and sharing the artistic endeavor; Modern Code in General
Week 8 : Perfect Pixels and a Custom View; Canvas Transforms to Animate; A Trail of Transparent Pixels; Refactoring and Custom Views in XML; Introducing Preference Screens and Fragments
The course is comprised of the following elements:
- Lecture. Each week my instructor, Lawrence Angrave, taught me the concepts I need to know through a collection of lectures.
- In-lecture questions. Each lecture has questions associated with it to help verify my understanding of the topics.
- Quizzes. Each week included 1 for-credit quiz.
- Projects. There are multiple projects in this course—2 during the required Android Developer Track and 1 during the Computer Science and Programming Track. In these projects, I created my own apps and shared them with the class. My peers then evaluated how well my project meets the requirements and provide my with feedback. At the same time, I reviewed the apps others have made, providing them with feedback while being exposed to a common practice in the industry: peer review.