ITMC323 : Cross-Platform Mobile App Development (Flutter)

Department

Department of Mobile Computing

Academic Program

Bachelor in Mobile Computing

Type

Compulsory

Credits

03

Prerequisite

ITMC311

Overview

Cross mobile app development Flutter Course teaches students how to build mobile applications using a single codebase. You'll learn the basics of the Flutter framework, including widgets, layouts, and navigation, as well as the Dart programming language used to develop Flutter apps. You'll explore Flutter's architecture, including the widget tree and state management, and learn how to create beautiful user interfaces using Flutter's widget system. Additionally, you'll learn how to manage data in your Flutter app using local storage, APIs, and other data sources, and how to integrate your Flutter app with native platform features like camera, sensors, and location services.

Intended learning outcomes

Knowledge &understand

  • Cross-platform development:
  • Widget-based architecture
  • Dart programming language
  • Flutter mobile app

mental skills

  • An explanation of what a cross platform development environment is is essential
  • Understanding the relationship between hot reload and dart
  • Why dart so important to flutter
  • Why does flutter have such great performance compared to other platforms

Practical & professional skills

  • be able to create a design for a mobile app using Flutter
  • be able to use widgets for building a mobile app in Flutter
  • be able to implement state, navigation and interaction in Flutter
  • be able to mobile app for cross platform App with database

General and transferable skills

  • Analytical skills
  • Team work
  • Problem solving
  • Designing Skills

Teaching and learning methods

  • Lectures
  • Lab
  • Problem-based learning

Methods of assessments

  • Midterm exam = 35
  • Final exam = 50
  • Mini project =15

Course contents

  • Introduction to Flutter
  • Dart Language and flutter
  • Dart language basic
  • Flutter IDEs and System Requirements
  • Create First Flutter app and Files Explained
  • Stateless and Stateful widgets
  • Widget Tree and Flutter Inspector
  • Flutter’s architecture
  • Pubspec yaml file and use of assets
  • Packages and Plugins
  • Asynchronous programming
  • Layout widgets with Row and Column
  • Navigation and routing
  • File and Database in Flutter

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)