ITSE304 : Mobile Applications Development

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

Elective

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

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)