Cleveland State University
Department of Electrical Engineering and Computer Science

CIS 694/EEC 693 Android Sensor Programming (4 credit hours)
 

Fall 2023

Course Objectives:
The course provides an in-depth review of concepts, design strategies, tools and APIs needed to create, test and deploy sensor applications for the Android mobile platform. Topics include: overview of Android programming, data collection from various sensors including location sensors, physical sensors such as inertial sensors, light and promiximity sensors, NFC sensors, microphone, and cameras, basic algorithms for processing the sensing data such as complementary filter,  speech recognition and text-to-speech APIs, programming Bluetooth beacon devices for indoor localization and other interesting use cases, Google mobile vision APIs, Google machine learning framework for mobile computing, Google firebase.

Textbooks:

Lecture Notes
Reference book: Android Sensor Programming by Example, by Varun Nagpal, Packt Publishing

Instructors:
Dr. Wenbing Zhao
Office:  FH 317
Phone: (216) 523-7480
Fax: (216) 687-5405
E-mail: w.zhao1@csuohio.edu
Lecture time: T Th 4:00-5:50pm

Tentative Schedule:

Week
Topics
1

(Aug 28 – Sept 1)
Aug 29:
Lecture #1 – Overview of the course; syllabus; policies; Software preparation (notes)

Aug 31:
Lecture #2 – Android programming: Android Studio (notes)
2

(Sept 4 – 8)
Sept 5:
Lecture #3 – Android programming: Activities and Intents (notes)

Sept 7:
Lecture #4 – Android programming: Passing Data with Intents (notes)
3

(Sept 11 – 16)
Sept 12:
Lecture #5 – Android programming: Fragments (notes)

Sept 14:
Lecture #6 – Android programming: UI (Part 1) (notes)
4

(Sept 18 – 22)
Sept 19:
Lecture #7 – Android programming: UI (Part 2) (notes)

Sept 21:
Lecture #8 – Android programming: UI (Part 3) (notes)
5

(Sept 25 – 29)
Sept 26:
Lecture #9 – Android programming: UI (Part 4)(notes)

Sept 28:
Lecture #10 – Android programming: Data Persistence (notes)
6

(Oct 2 – 6)
Oct 3:
Lecture #11 – Android programming: Networking (notes)

Oct 5:
Lecture #12 – Android programming: Services (notes)
7

(Oct 9 – 13)
Oct 10:
Columbus Day (No Class)

Oct 12:
Lecture #13 – Location Based Services  (notes)
8

(Oct 16 – 20)
Oct 17:
Class Canceled due to ABET visit

Oct 19:
Lecture #14 – Sensor Fundamentals (Part I) (notes)
9
(Oct 23 – 27)
Oct 24:
Lecture #15 – Sensor Fundamentals (Part II) (notes)

Oct 26:
Lecture #16 – Sensor Fundamentals (Part III) (notes)
10
(Oct 30 – Nov 3)
Oct 31:
Lecture #17 – Sensor Fundamentals (Part IV) (notes)

Nov 2:
Lecture #18 – Sensor Fundamentals (Part V) (notes)
11
(Nov 6 – 10)
Nov 7:
Lecture #19 – Sensor Fundamentals (Part VI)  (notes)

Nov 9:
Lecture #20 – Sensor Fundamentals (Part VII)   (notes)
12
(Nov 13 – 17)
Nov 14:
Lecture #21 –  Audio and Speech Recognition  (notes)

Nov 16:
Lecture #22 –  Camera (notes)
13
(Nov 20 – 24)
Nov 21:
Lecture #23 –  Bluetooth Beacon Programming (Part I) (notes)

Nov 23:
Thanksgiving Day (No Class)
14
(Nov 27 – Dec 1)
Nov 28:
Lecture #24 – Bluetooth Beacon Programming (Part II) (notes)

Nov 30:
Lecture #25 – React Native (Part I)   (notes)
15
(Dec 4 – 8)
Dec 5:
Lecture #26 – React Native (Part II) (notes)

Dec 7:
Class Canceled due to Travel
16
(Dec 11 – 15)
Dec 12:
Project Presentation

Grading

  • Homework assignments 80%
  • Projects 10%
  • Class Attendance: 10%

The final grading is based on your accumulated effort in this course. Your final grade is determined approximately based on the following schedule:

A: 90-100%
A-: 85-89%
B+: 80-84%
B: 75-79%
B-: 70-74%
C: 60-69%
F: <60%

© 2024 Cleveland State University | 2121 Euclid Avenue, Cleveland, OH 44115-2214 | 216.687.2000
Cleveland State University is an equal opportunity educator and employer.