Android Bootcamp

Immersive 16-Weeks

What you will learn

We’ll start you off by teaching you programming fundamentals through a series of challenging practice problems. Then we’ll help you gain an indepth
understanding of object-oriented programming. Once you have a strong grasp of these important topics, you will move on to developing
apps. At the completion of the course, you will have developed a strong skill set with a focus on:

  • Android architecture
  • Computer Science fundamentals
  • Fundamentals of UI/UX design on Android (including animation, user interaction, buttons, tabs, maps, etc.)
  • Data: Storing data in the cloud using AWS as well as on the mobile device using SQLite.
  • Interacting with web services and APIs such as social networks and review sites
  • creating your own web services using AWS
  • Using Android device features like camera and GPS
  • Relatively advanced topics such as security, app performance, asynchronous programming, design patterns, and testing
Computer Science Fundamentals
Fundamental Programming Skills
  • Strings
  • Arrays
  • Sets
  • Linked Lists
  • Stacks
  • Queues
  • Sorting
  • Searching
  • Analysis of Algorithms
Mobile Development
The Java Programming Language
  • The Android development ecosystem – Android Studio, Java, Android OS, Android tools
  • The Java Programming Language
  • Control flow
  • Data types
  • Functions and Closures
  • Classes and Objects
  • Memory Management ( Garbage collection) in Java
  • Assignments 1 and 2
More Java essentials
  • Dalvik VM and new options
  • Strings
  • Collections
  • Algorithms
  • Packages in Java
  • Assignments 3 and 4
Object Oriented Programming for Android
  • More on Classes and Objects
  • Android based examples of classes and Objects
  • Assignments 5 and 6
Introduction to Android development
  • Android Development fundamentals – Activity, Dynamic UI, App Layouts
  • Essential ideas – MVC, Asynchronous programming, JSON and HTTP
  • Assignments 7 and 8
More on Views and Controllers
  • List Views
  • Intents
  • Fragments
  • Navigating between different screens of your app
  • Arrays and array adaptors – accessing the Android address book
  • Gestures
  • Cleanly separating data from your views and controllers
  • Assignments 9 and 10
Data Persistence
  • Data persistence strategy for mobile
  • Storing user preference data using Shared Preferences
  • Android independent, local storage using SQLite
  • Advanced SQLite with Content Providers
  • Assignments 11 and 12
Android Frameworks
  • Maps
  • Social Framework – Facebook and Twitter
  • Audio and Camera
  • Assignments 13 and 14
  • Detecting connection type – Wi-Fi/4G
  • Sensors – a gyroscope example
  • Home screen widgets
  • Security in Android Apps
  • Mobile development – best practices. Covers the entire lifecycle of Android app development and various pitfalls
    and
    strategies for ensuring success in your Android projects
  • Take-home project: A full featured Camera app complete with cloud storage of photos, Facebook login, Facebook share
    and filters
Internship Project

There are a variety of technology options depending on the project we work on. But most will include the following:

  • An Android App
  • RESTful services using a Java backend (typically Tomcat, Spring)
  • HTTP and JSON for device-cloud communication
  • Design and Architecture–database modeling, service design and system architecture
  • Our systems are typically deployed on Amazon EC2 and we use S3 for storage. We may use other Amazon services such
    as SNS/SQS/MySQL where applicable.

At the end of the course, we want you to be able to program fluently in Java. You will use the Android
tools with confidence and build fully functional Android apps of almost any complexity.

Become a productive Android developer today!

Request Syllabus