Class Schedule

 

Our curriculum with lectures, homework, and exercises  is fully available on GitHub.

Unit 0: Programming Basics + Java

  • Compiling & Printing
  • Variables & Types
  • Getting user input
  • Conditionals, Loops
  • Methods
  • Classes & Objects
  • ArrayList, HashMap & Sets
  • JSON
  • Encoding, URLs, HTTP
  • Git & GitHub
  • Debugging & Problem Solving
  • UNIX fundamentals
  • Final Project: A command-line weather alarm clock app

Unit 1: Your First Android App

  • Android Studio + Structure of an Android Project
  • Interfaces + Inheritance
  • Anatomy of the Android Manifest
  • How Android Handles Resources (strings, values, drawables, layout folder)
  • Activity Life Cycle
  • Android UI Basics - Activity, XML Layout, Widgets
  • Basic Layout Type (Linear) + Other Layout Types
  • Final Project: A Scientific Calculator app

Unit 2: Complex Features of Android Apps

  • More Anatomy of the Android Manifest - Permissions, Activities, Intents + IntentFilters
  • Adapters and AdapterViews
  • View Hierarchy
  • Storing Data
  • Internet Access (Basics of connections, Retrofit for REST)
  • Dealing wih Threads + Background Notifications
  • Intro to Gradle + Publishing to the Google Play Store
  • Advanced Gradle (dependencies/libraries)
  • Final Project: Build a “Google Now”-like app

Unit 3: Design, build, and launch your own app

  • Other Common widgets (RelativeLayout,
  • ScrollView, ProgressBar)
  • SQLite
  • Preferences
  • Fragments
  • ContentProviders
  • Broadcasts
  • Sensors (Touch, Camera, Location, Audio, Accelerometer)
  • Hackathon
  • Final Project (6 weeks): Build your own app