This course enables students to analyze the implications of mobile hardware capabilities and restrictions in order to plan and develop mobile applications. Students will be able to devise and interface simple hardware additions to mobile platforms such as cell-phones, internet tablets and wireless sensors. The course covers the elements of embedded systems development, such as hardware interface fundamentals, operating systems fundamentals, interrupts, and cross-development, as well mobile topics such as power management, machine- to-machine communication, radio/RF subsystems and wireless protocols. Topics typically include: USB, GPIO, blue-tooth, cellular networks, 802.11, Zigbee, RFID, NFC, CCD cameras, audio, etc. Student teams will undertake small HW/SW interfacing projects to sharpen their experience. Unlike a conventional hardware course, the course would instead focus on the software and its hardware implications, rather than the CPU and radio.
Prerequisites: Some understanding of basic electronic terminology and Java programming required; C programming desired