E0 245: Android Sensor Programming (2:1)

Instructor: Dipanjan Gope

Term: Jan-Apr

Class Timings: Tues/Thurs 6:00-7:30pm

Class Venue: ECE 1.08

Lecture Notes

Web Discussion Forum

The objective of this course is to provide exposure to programing techniques towards the use of mobile devices as compute platforms enriched by the presence of location, movement and environment sensors.

Module 0: Basic Setup
  • Android platform and development environment

Module 1: Object Oriented Programing and Data Structures
  • Object oriented programing: Classes and objects
  • Inheritance, polymorphism
  • Data structures
  • Origins of JAVA: Dalvik VM, JDK, JRE
  • Multithreading and synchronization in JAVA
  • Android system architecture

Module 2: Android Sensor Applications
  • Multimedia: microphone, speaker, video frame capture
  • Android physical sensors: accelerometer, gyroscope, magnetometer, barometer, light and proximity sensors
  • GPS and maps
  • RF: Near-field-communication (NFC)
  • Error and basic filtering
  • Android Database
  • Debugging and testing on Android platform

Module 3: Hybrid mobile-cloud framework
  • Amazon Web Services (AWS) components: EC2, S3
  • Cloud stack

  1. Greg Milette, Adam Stroud: Professional Android Sensor Programing, 2012, Wiley India
  2. Jeff Friesen: Learn JAVA for Android Development, 2010, Apress
  3. Ed Burnette: Hello Android, 2011, Pragmatic