EE 5378/7378 (Summer 2016) Mobile Phone Embedded Design

advertisement
EE 5378/7378 (Summer 2016)
Mobile Phone Embedded Design
Webpage: http://lyle.smu.edu/~camp/courses/ee7378_taos/index.html
Instructor: Professor Joseph Camp
Email: "camp" AT "lyle.smu.edu"
Office hours: Immediately following lecture or by
appointment.
Time/Place: TBD (2 hours/day for 20 days - June
Term)
Teaching Assistant: Eric Johnson
Email: "emjohnson" AT "mail.smu.edu"
Course Description: In this course, students learn how to develop embedded software for the most
widely used smartphone platforms with an emphasis on wireless and sensing applications. Topics include
user interface design such as multi-touch and basic HCI design tenets, storing and fetching data with local
and networked systems and databases, localization via GPS and wireless signal triangulation, sensing
environmental and user characteristics, networking with various wireless protocols, graphics rendering,
multimedia streaming, and designing for performance such as controlling memory leaks, object
allocation, and multi-threading. Content from the course draws from various fields including wireless
communications and networking, embedded programming, and computer architecture.
Taos-specific Aspects to Course: The vast difference in the rural, mountainous Taos area from the
urban, flat Dallas/Fort Worth Metroplex has interesting engineering implications on wireless and
structural infrastructures. This course will use mobile phones as instruments for in-field experimentation
and characterization of spectral activity, wireless propagation, and structural health of unique
infrastructure present in the Taos region. Students will have multiple field trips for intense experiential
learning and will leverage crowdsourcing techniques for scaling their acquired measurement base. To
achieve these goals, students will do a deep dive into Android programming related to sensing and
networking.
Background: CSE 2341 or an equivalent data structures course.
Grading:
40% Labs
40% Group Project (Presentation and Report)
20% Mid-Term Exam (1)
Schedule
You may discuss lab assignments with classmates but all solutions must be original and individually
prepared. Late lab work will be penalized at 15% of its full credit per day up to a maximum of 4 days,
after which no late work will be accepted.
Both exams are in-class exams and must be completed independently. The SMU Honor Code will be
strictly enforced.
Recommended Textbooks:
Online resources at Android are adequate. However, each of the
following books puts everything together nicely.
Android Programming: The Big Nerd Ranch Guide
By Bill Phillips and Brian Hardy, Big Nerd Ranch Guides, April
2013.
Professional Android Sensor Programming
By Greg Milette and Adam Stroud, Wrox, June 2012.
Topics - All with respect to mobile phones:
Object-based/Object-oriented Programming
Basic User Interface Design (multi-touch, basic HCI tenets)
Storing/Fetching Data (Core Data, SQLite, Content Lists)
Locating/Sensing (GPS, Cell/WiFi triangulation, participatory sensing)
Networking (Push Technology, WebKit, Cellular, Wi-Fi, Peer-to-Peer, Bluetooth)
In-Field Experimentation (Spectrum, Propagation, and Structures)
Disability Accommodations:
Students needing academic accommodations for a disability must first be registered with Disability
Accommodations & Success Strategies (DASS) to verify the disability and to establish eligibility for
accommodations. Students may call 214-768-1470 or visit http://www.smu.edu/ALEC/DASS to begin the
process. Once registered, students should then schedule an appointment with the professor to make
appropriate arrangements.
Religious Observance:
Religiously observant students wishing to be absent on holidays that require missing class should notify
their professors in writing at the beginning of the semester, and should discuss with them, in advance,
acceptable ways of making up any work missed because of the absence. (See University Policy No. 1.9.)
Excused Absences for University Extracurricular Activities:
Students participating in an officially sanctioned, scheduled University extracurricular activity should be
given the opportunity to make up class assignments or other graded assignments missed as a result of
their participation. It is the responsibility of the student to make arrangements with the instructor prior to
any missed scheduled examination or other missed assignment for making up the work. (University
Undergraduate Catalog)
Student Learning Outcomes (ABET/SACS):
(A/I): Ability to apply knowledge of mathematics, science, and engineering
(E/II): Ability to identify, formulate, and solve engineering problems
(G/III): Ability to communicate effectively
(K/IV): An ability to use the techniques, skills, and modern engineering tools necessary for engineering
practice
EE 5378/7378
Lectures, Labs, and Project Deadlines
Day
Date
#
1
6/2
Topic
Course Overview/Java
and Objects
Lab Out:
First Programs
1 6/2
Field Trip: Spectral
2 6/3
Drive Testing
Android SDK/Model3 6/6
View-Controller
Lab Out: User Interfaces and
2 6/6 Behavior Inference
4 6/7 User Interfaces
5
6/8
Sensors
6
6/9
Filtering
Lab Out:
Structural Sensing
3 6/9
7 6/10 Field Trip: Bridge
8
6/13 Data Persistence
Reading
Ch. 2: "Java For Android" from Programming Android (O'Reilly)
Due: 6/5
DFW White Space Measurement Study (IEEE WiNMeE 2014)
Android Developer SDK Documentation
Due: 6/8
Chapters 1-3 of Android Programming (Big Nerd Ranch)
Part II: "Inferring Information from Physical Sensors" from Professional Android
Sensor Programming (Milette and Stroud)
On Measuring Mechanical Oscillations Using Smartphone Sensors (ACM
SIGMOBILE MCCR 2013)
Due: 6/12
Citizen Sensors for Structural Health Monitoring (Sensors and Smart Cities 2015)
Ch. 34: "Local Databases with SQLite" from Android Programming (Big Nerd
Ranch)
Lab Out: Networking/Sensor Data
Due: 6/15
4 6/13 Gathering
9 6/14 Networking
Android Developer Connectivity Documentation
Ch. 33: "Tracking the Device's Location" from Android Programming (Big Nerd
10 6/15 Localization
Ranch)
Towards an Integrated Crowdsourcing Definition (Journal of Information
11 6/16 Crowdsourcing
Sciences 2012)
Lab Out: WiEye: Spectrum
Due: 6/19
5 6/16 Analyzer
12 6/17 Field Trip: Cell Site
Map Kits and Multi13 6/20
Touch
14 6/21 Peer-to-Peer Networking
15 6/22 Web Kits
16 6/23 Mid-Term Exam
Field Trip: In-Field
17 6/24
Testing
18 6/27 Multimedia
WhiteCell (IEEE DySPAN 2015)
Ch. 32: "Custom Views and Touch Events" and 36: "Using Maps" from Android
Programming (Big Nerd Ranch)
Android Developer: Connecting P2P Connections
Ch. 31: "Browsing the Web and WebView" from Android Programming (Big
Nerd Ranch)
--IEEE INFOCOM 2016 Submission (Under Double-Blind Review)
Chapters 13, 19, and 20 of Android Programming (Big Nerd Ranch)
19 6/28 Performance (Android)
Ch. 13: "Write Once, Test Everywhere" from Hello, Android (The Pragmatic
Programmers)
20 6/29 Project Presentations
---
*This schedule is best-effort as of the beginning of the semester and subject to change according to the time available in the semester.
Download