ECOM 5341-Mobile Devices Programming

Computer Engineering Department

Islamic University of Gaza

ECOM 5341- Mobile Devices Programming

Spr. 2017-2018

Syllabus

Lecture Slides

Announcements

Instructor:      Mohammad A. Mikki  

E-mail:            mmikki@iugaza.edu.ps

Office:            Administration Building Room 313  

Phone:            X-2883

 

Teaching Assistants

Section 101:                Eng. Mohammed Al-Ashqar (engashqar_work@hotmail.com)

Section 201:                Eng Lamia Shashaa


Office Hours:             Sat-Wed. 11-12

and by Appointment 

 

Lectures times:         Section 101: Sun, Tue. 9:30- 11 Room

Section 201: Sun, Tue. 8-9 Room L208
 

Grading: Grades will be based on the percentage listed below.

Attendance                 10%

Quizzes                       10%  

Project                         30%

Lab                              10%

Final Exam                  40%

 

Lecture Course Web page: The common syllabus is posted on the course webpage at http://moodle.iugaza.edu.ps and instructor's homepage    http://site.iugaza.edu.ps/mmikki/

 

Texts: Required:  Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides), Bill Phillips, 2nd Edition,  2015

 

Course Description:

Mobile devices are becoming ubiquitous along with the high demand for mobile applications serving corporates and millions of end-users. In this course, students will learn programming skills for developing mobile applications on Android platform, which is the fastest growing mobile operating system. Android is open source and includes many libraries that can help developers easily implement rich and complex applications. Students in this course will learn how to create, test and deploy Android applications. Solid skills of Java programming and application development are necessary for a successful completion of this course.

 

Topics will include, but are not limited to, installing Android development tools, creating user interfaces, and utilizing location based services.

 

Tentative List of Topics:

  • Installing Android SDK and other development tools
  • Android Studio and a Simple App
  • Manifest and activity lifecycle
  • Understanding activities and linking them with intents
  • Fragment interaction
  • Understanding the layout components of a screen and handling screen orientation
  • Designing the user interface
  • Displaying images and menus using Views
  • Broadcast Receiver
  • Notification
  • Developing Android Services
  • Graphics
  • Interfacing with location-based services and maps
  • Network Connection
  • Content provider
  • Access Contacts Data
  • Sensors
  • Gestures
  •  Publishing applications

 

Learning Outcomes:

The primary learning outcome for this course is that students will be able to design and create Android apps. Students will do so by leveraging the Java programming language, the Android SDK, and Android Studio developer tools. Students will gain fundamental knowledge essential to not only Android development, but mobile development in general.

 

Upon successful completion of this course, students should be able to:

 

  • Be familiar with Android development environment
  • Understand the process and characteristics of mobile application development
  • Understand the components of an Android app and major features of Android platform
  • Be able to develop, test and deploy entry-level Android applications
  • Understand the purpose different development tools for Android
  • Design a graphical user interface
  • Access location based services
  • Utilize Android Studio to create simple and complex applications
  • Plan, prepare and build an original Android from concept to working program.
  • Publish an application to the Android Market

 

Prerequisites:  Java I, Java II, Computer Networks

 

Weekly Schedule

Weekly schedule and slides are borrowed from: www.cs.umb.edu/~shengbo/teaching/cs443/

CS 443: Mobile Applications (Fall 2017), Department of Computer Science, University of Massachusetts Boston

 

Week#

Lecture Notes

Reading Material

Week 1

  • Course introduction
  • Android introduction
  • Android Studio and a Simple App

Ch1

Week 2

  • Android Studio and a Simple App
  • Manifest and activity lifecycle

Ch1

Week 3

  • Manifest and activity lifecycle

Ch3, Ch5

Week 4

  • Broadcast Receiver

Ch27

Week 5

  • Notification

Ch26

Week 6

  • Services

Ch26

Week 7

  • Services

Ch26

Week 8

  • Graphics

 

Week 9

Midterm Exams (No Classes)

 

Week 9

  • Graphics
  • Location and maps

 

Ch30, Ch31

Week 10

  • Location and maps
  • Network Connection

Ch30, Ch31

Ch23

Week 11

  • Network Connection
  • Content provider

Ch23

Week 12

  • Content provider
  • Access Contacts Data

 

Week 13

  • Access Contacts Data

 

Week 14

  • Sensors

 

Week 15

  • Gestures

 

Week 16

            Last day of class and Finals Week(s)