Syllabus
This syllabus will likely change as the course progresses. Lecture slides and readings will be posted before each lecture.
  
    | Date | 
    Event | 
    Topic/Reading | 
  
  
    | Monday, 10/18 | 
    Lecture 1 | 
    Introduction - What Is Android? 
      Course Logistics 
      Intents 
       
      Reading: What is Android?
       
      Intents and Intent Filters | 
  
  
    | Wednesday, 10/20 | 
    Lecture 2 | 
    Application Fundamentals 
       
      Reading: 
      Application Fundamentals 
      Activity 
      Android Manifest Files 
 
Code: 
ActivityLifecycle.java 
AndroidManifest.xml | 
  
  
    | Friday, 10/22 | 
    Lecture 3 | 
    Mobile User Interfaces 
       
      Reading: 
      12 Myths of Mobile UIs 
      User Interface 
      Hello, Views 
       
      Code: 
      layout.xml | 
  
  
    | Monday, 10/25 | 
    Lab Lecture 
      Homework 1 Out | 
      | 
  
  
    | Wednesday, 10/27 | 
    Lecture 5 | 
    UI, continued 
       
      Reading: 
      UI Events 
      Creating Menus 
      Notifications 
      Custom Views 
      Gestures 
      UI Guidelines 
       
      Code: 
      TouchExampleView.java | 
  
  
    | Friday, 10/29 | 
    Lecture 6 | 
    Handling Complex Input 
    Information Storage 
     
    Reading: 
    App Widgets 
    On-Screen Keyboard 
    Speech Input 
    Data Storage 
     
    Code: 
    KeyboardActivity.java 
    ShakeDetectorActivity.java 
    preferences.xml | 
  
  
    | Monday, 11/1 | 
    Lecture 7 
      Homework 1 Due 
      Homework 2 Out
  | 
    Information Storage 
     
    Reading: 
    Content Providers 
    Live Folders 
     
    Code: 
    Notes.java 
    NotePadProvider.java | 
  
  
    | Wednesday, 11/3 | 
    Lecture 8 | 
    Background Tasks & Services 
     
    Reading: 
    Designing For Responsiveness 
    Services 
    BroadcastReceivers 
    Security and Permissions 
    AlarmManager 
     
    Code: 
    ServiceExample.java 
    ServiceActivity.java | 
  
  
    | Friday, 11/5 | 
    Lecture 9 | 
    The Internet 
     
    Reading: 
    Designing Secure Mobile Applications 
    WebView 
    Hello, WebView Tutorial 
     
    Code: 
    SimpleWebView.java | 
  
  
    | Monday, 11/8 | 
    Lecture 10 
      Homework 2 Due 
       | 
    Internet II - Communicating with an API 
     
    Reading: 
    Location and Maps 
    Obtaining User Location 
     
    Code: 
    AuthActivity.java 
    APIFetcherTask.java 
    FacebookEventActivity.java | 
  
  
    | Wednesday, 11/10 | 
    Lecture 11 
    Homework 3 Out | 
    Multimedia 
     
    Reading: 
    Hello, MapView Tutorial 
    Camera 
    Audio and Video 
     
    Code: 
    MapViewActivity.java 
    VideoActivity.java | 
  
  
    | Friday, 11/12 | 
    Lecture 12 | 
    Final Lecture - Release and Monetization 
     
    Reading: 
    Manifest Features 
    Backward Compatibility 
    Licensing Applications 
    Preparing to Publish 
    Publishing on Android Market
     | 
  
  
    | Friday, 11/19 | 
    Homework 3 Due | 
      |