Cleveland State University

Department of Electrical Engineering and Computer Science

CIS 470 - Mobile Application Development

Spring 2019

 

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 14 - 18)

Jan 14:

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

Jan 16:

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

 

2

(Jan 21 - 25)

Jan 21:

  • Martin Luther King Day (University Holiday)

Jan 23:

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

3

(Jan 28 - Feb 1)

Jan 28:

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

Jan 30:

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

4

(Feb 4 - 8)

Feb 4:

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

Feb 6:

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

5

(Feb 11 - 15)

Feb 11: 

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

Feb 13:

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

6

(Feb 18 - 22)

Feb 18:

  • President's Day (no class)

Feb 20:

  • Lecture #10 - Data Persistence (notes)    

7

(Feb 25 - Mar 1)

Feb 25:

  • Lecture #11 - Content Providers  (notes)

Feb 27:

  • Lecture #12 - Messaging  (notes)

8

(Mar 4 - 8)

Mar 4:

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

Mar 6:

  • Lecture #14 - Networking  (notes)

9

(Mar 11 - 15)

Spring break, no class

10

(Mar 18 - 22)

Mar 18:

  • Lecture #15 - Android Services Basics (notes)

Mar 20:

  • Lecture #16 - Bound Services  (notes
  • (No face-to-face class, travel)

11

(Mar 25 - 29)

Mar 25:

  • Lecture #17 - Notification (notes)
  • (No face-to-face class, travel)

Mar 27:

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

12

(Apr 1 - 5)

Apr 1:

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

Apr 3:

  • Lecture #20 - Touch gestures (notes)

13

(Apr 8 - 12)

Apr 8:

  • Lecture #21 - RecyclerView (notes)

Apr 10:

  • Lecture #22 - Basic Drawing (notes)

14

(Apr 15 - 19)

Apr 15:

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

Apr 17:

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

15

(Apr 22 - 26)

Apr 22:

  • Project presentation

Apr 24:

  • Project presentation

16

(Apr 29 - May 3)

Apr 29:

  • Project presentation

May 1:

  • Project presentation

17

(May 6 - 10)

May 8: (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%