Cleveland State University

Department of Electrical Engineering and Computer Science

CIS 470 - Mobile Application Development

Spring 2020

 

Course Objectives:


The course provides an in-depth review of concepts, design strategies, tools and APIs needed to create, test and deploy advanced applications for mobile phones and occasionally connected mobile devices. Topics include: design of mobile user interfaces, application life-cycle, multi-threading, inter-process communication, data persistence, content providers, background services, geo-location and mapping, networking and web services, telephony, messaging, graphics and animation, multimedia, peer-to-peer communication, performance, security. The target computing environment changes overtime; currently the course explores the Android Operating System and its supporting SDK.

 

Prerequisite: CIS 345

 

Textbooks:


Instructors:

Dr. Wenbing Zhao

Office:  FH 317

Phone: (216) 523-7480

Fax:     (216) 687-5405

E-mail: w.zhao1@csuohio.edu

Lecture time: M W 6:00-7:15pm

 

Tentative Schedule:

Week

Topics

1

(Jan 13 - 17)

Jan 13:

  • Lecture #1 - Overview of the course; syllabus; policies; Software preparation (notes)

Jan 15:

  • Lecture #2 - Using Android Studio for Android Development (notes)

 

2

(Jan 20 - 24)

Jan 20:

  • Martin Luther King Day (University Holiday)

Jan 22:

  • Lecture #3 - Activities, Fragments, and Intents (Part I) (notes)

3

(Jan 27 - 31)

Jan 27:

  • Lecture #4 - Activities, Fragments, and Intents (Part II) (notes)

Jan 29:

  • Lecture #5 - Activities, Fragments, and Intents (Part III) (notes)  

4

(Feb 3 - 7)

Feb 3:

  • Lecture #6 - User Interface (part I) (notes)

Feb 5:

  • Lecture #7 - User Interface (part II) (notes)

5

(Feb 10 - 14)

Feb 10: 

  • Lecture #8 - User Interface (Part III) (notes)

Feb 12:

  • Lecture #9 - User Interface (Part IV)  (notes)

6

(Feb 17 - 21)

Feb 17:

  • President's Day (no class)

Feb 19:

  • Lecture #10 - Data Persistence (notes)    

7

(Feb 24 - 28)

Feb 24:

  • Lecture #11 - Content Providers  (notes)

Feb 26:

  • Lecture #12 - Messaging  (notes)

8

(Mar 2 - 6)

Mar 2:

  • Lecture #13 - Location-Based Services (notes)

Mar 4:

  • Lecture #14 - Networking  (notes)

9-10

(Mar 9 - 20)

Spring break, no class

11

(Mar 23 - 27)

Mar 23:

  • Lecture #15 - Android Services Basics (notes)

Mar 25:

  • Lecture #16 - Bound Services  (notes

12

(Mar 30 - Apr 3)

Mar 30:

  • Lecture #17 - Notification (notes)

Apr 1:

  • Lecture #18 - Model-View-Controller (notes)

13

(Apr 6 - 10)

Apr 6:

  • Lecture #19 - Input events and design principle for touch gestures (notes)

Apr 8:

  • Lecture #20 - Touch gestures (notes)

14

(Apr 13 - 17)

Apr 13:

  • Lecture #21 - RecyclerView (notes)

Apr 15:

  • Lecture #22 - Basic Drawing (notes)

15

(Apr 20 - 24)

Apr 20:

  • Lecture #23 - Animations (Part I) (notes)

Apr 22:

  • Lecture #24 - Animations (Part II) (notes)

16

(Apr 27 - May 1)

Apr 27:

  • Lecture #25 - Camera and Camera2 API (notes)

Apr 29:

  • Lecture #26 - Google Mobile API (notes)

17

(May 4 - 8)

May 6: (6:00-8:00pm)

  • Project presentation       

 

Grading

         Homework assignments 80%

         Projects 20% 

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+: 65-69%

C: 60-64%

D: 50-59%

F: <50%