ITMC311 : Mobile Applications Development

Department

Department of Mobile Computing

Academic Program

Bachelor in Mobile Computing

Type

Compulsory

Credits

03

Prerequisite

ITGS211

Overview

Development of native-based and hybrid applications for mobile environments taking advantage of gesture-based input and using location and presence services. Topics include introduction to low-level network services and mobile platforms, description of architectural patterns, principles of mobile development and interaction styles for network service usage. Topics Covered: Multi-threaded application development on iOS and Android; Platform agnostic data representations: XML and JSON; Use of advanced widgets: maps; App state: representation, accessing and updating; App communication mechanisms: services, publish and subscribe and intents; The Reactor pattern.

Intended learning outcomes

Knowledge &understand

  • Opening the student's perceptions to the modern programming method
  • The student should be familiar with the concept of mobile systems and related applications.
  • The student should mention the six main components on which most Android applications are built
  • The student understands the idea of background processing components working

mental skills

  • The student should analyze the Android environment and the way the gradle Android build system works in the process of building applications
  • The student should compare the main components used in the development of Android applications.
  • The student should explain the way the components that work in the background.

Practical & professional skills

  • The student should use all the modern technology used in the versions of the Android operating system.
  • The student should diagnose errors caused in applications using verification tools used in the Android Studio development environment.
  • The student should design some meaningful applications using the Android Studio development environment.

General and transferable skills

  • The student should be able to deal with applications developed using Android Studio.
  • The student should be able to search and prepare applications using Android Studio.
  • The student should be able to work in a team and develop the final model application using the Android Studio development environment.
  • Linking Android components with existing systems

Teaching and learning methods

  • Lectures
  • Tutorials
  • Problem-based learning
  • Mini-projects

Methods of assessments

  • Midterm exam = 25
  • Oral exam = 5
  • Home works = 10
  • Practical exam= 10
  • Final exam = 50

Course contents

  • Mobile application design principles
  • Android Project using java
  • Mobile Application Components
  • Activities
  • Multiactivity (Intent)
  • Background processing
  • Theads
  • Handlers
  • Asynctasks
  • Services
  • Content Provider
  • Broadcast Receiver
  • Android packages
  • Android packages

Principles of Games Developments (ITMC404)
Parallel and Distributed Computing (ITMC403)
Mobile Multimedia (ITMC402)
Mobile 3D Graphics (ITMC401)
Mobile Commerce (ITMC304)
Programming Paradigms (ITMC302)
ARM microprocessor (ITMC301)
Arabic language 1 (ITAR111)
General English1 (ITEL111)
Physics (ITPH111)
Intro to Information Technology (ITGS111)
Problem solving Technic (ITGS113)
Mathematics I (ITMM111)
Arabic language 2 (ITAR122)
Mathematics II (ITMM122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Computer Architucture & Organization (ITGS223)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Information Security (ITGS224)
Introduction to Internet Programming (ITGS226)
Introduction to Databases (ITGS228)
Mobile Applications Development (ITMC311)
Design and Analysis algorithms (ITGS301)
Operating System (ITGS302)
Principles of mobile communication networks (ITMC312)
IT Project Management (ITGS303)
Scientific Writing (ITGS304)
Cross-Platform Mobile App Development (Flutter) (ITMC323)
Heterogeneous and Mobile Databases (ITMC322)
Mobile Interaction Design (ITMC321)
Mobile Operating System (ITMC313)
Security in mobile computing (ITMC411)
Personal Area Networks (ITMC412)
Social Networking (ITMC413)
Networks Programming (ITMC414)
Fundamentals ubiquitous computing (ITMC421)
Cloud Computing (ITMC422)