18-644/96-825 Mobile Hardware for Software Engineers
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 fundamentals, real-time operating systems, 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, 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 implications, rather than the CPU and radio. Prerequisites: Some understanding of basic electrical terminology and Java programming required; C programming desired.
Credit units: 12
Prerequisite: The Mobile Ecosystem (Course 96-822)