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 |
|
Ch1 |
Week 2 |
|
Ch1 |
Week 3 |
|
Ch3, Ch5 |
Week 4 |
|
Ch27 |
Week 5 |
|
Ch26 |
Week 6 |
|
Ch26 |
Week 7 |
|
Ch26 |
Week 8 |
|
|
Week 9 |
Midterm Exams (No Classes) |
|
Week 9 |
|
Ch30, Ch31 |
Week 10 |
|
Ch30, Ch31 Ch23 |
Week 11 |
|
Ch23 |
Week 12 |
|
|
Week 13 |
|
|
Week 14 |
|
|
Week 15 |
|
|
Week 16 |
Last day of class and Finals Week(s) |
|