Module/Course Title: Mobile Application Development

Module course code

KOMS120502

Student Workload
119 hours

Credits

3 / 4.5 ETCS

Semester

5

Frequency

Odd Semester

Duration

16

1

Type of course

Field of Study Courses

Contact hours


40 hours of face-to-face (theoretical) class activity

Independent Study


48 hours of independent activity
48 hours of structured activities

Class Size

30

2

Prerequisites for participation (if applicable)

-

3

Learning Outcomes

  1. Students can demonstrate systematic thinking in analyzing and designing software and database solutions
  2. Students can apply effective methods in developing software and databases
  3. Students can create and evaluate software and database solutions
  4. Students can describe the concept of mobile programming architecture
  5. Students can apply OOP concepts in constructing basic mobile programming
  6. Students can apply UI UX design for creating Android-based Applications
  7. Students can apply the Object Relation Mapping Database to create APIs
  8. Students can apply basic concepts of frontend and backend programming to create mobile Apps
  9. Students can apply software engineering methods to creating and evaluate a mobile apps based on capstone project

4

Subject aims/Content

This course discusses the concepts and basic techniques of mobile programming, especially on the Android operating system. The materials studied in this course are the concept of mobile programming architecture, application interfaces, android programming construction, android basic programming, and mobile API programming. Capstone project courses adopt using the project-based learning method can improve the mobile development concept while providing real experience to students in creating mobile applications and their environment.

Study Material
  1. RPS, College contract
  2. Mobile Application Development Concept Types of Mobile Devices
  3. Software tools and development environments

User Interface Design for Mobile Apps

  1. User interface design principles for mobile applications
  2. Visually appealing and user-friendly interfaces

Android App Development Basics

  1. Fundamentals of Android app development
  2. Android development environment and create a basic Android app

iOS App Development Basics

  1. Basics of iOS app development using Swift
  2. iOS development environment

Mobile App Database Integration

  1. Relational Database
  2. Local storage options and remote database integration

Cross-Platform Mobile App Development

  1. Flutter for cross-platform app development
  2. Develop apps that work on both Android and iOS platforms using a single codebase

Apps Prototype

  1. Design Thingking
  2. MVVM Architecture
  3. UI Design with Flutter
  4. Flutter Widget
  5. Flutter Package

Prototype Apps with Local Storage Database

  1. SQLite
  2. MVVM architecture
  3. Form Input
  4. Validation
  5. Create, read, update, dan delete data
  1. Layout Flutter
  2. Prototype Apps
  3. SQLite CRUD

Mobile App Backend Development

  1. Backend development for mobile apps
  2. Server-side technologies and APIs
  3. Integrate mobile apps with web services and APIs
  4. Network requests and handle data exchange between the app and server
  5. REST API
  6. Create API
  7. Accessing REST API

Fetch Internet Data

  1. Http Package
  2. Get and Read Data API
  3. Create Model
  4. Mapping Data from JSON Data
  5. Future Function
  6. Async Function
  7. Build Activities with Data Model

Send Internet Data

  1. Future and Async function
  2. HTTP POST, PUT, PATCH method to API
  3. Build activities to Input Form
  4. Create, Update and Delete Data API

CRUD MVVM

  1. Model–view–viewmodel (MVVM) architectural
  2. Create, Read, Update, dan Delete Data dengan model MVVM

Mobile App Security Best Practices

  1. Common mobile app security threats and vulnerabilities
  2. Best practices for securing user data and implementing authentication in mobile apps
  3. JSON Web Token
  4. Path Provider
  5. Shared Preferences

Mobile App Analytics and Performance Tracking

  1. Track user behavior
  2. Analyze app performance, and make data-driven decisions

 

  1. Mobile App Backend Development
  2. CRUD MVVM
  3. Mobile App Analytics and Performance Tracking

Project Based 

5

Teaching methods

Synchronous:
Face-to-face lectures and discussions

Asynchronous:
Undiksha e-learning and discussion forum

6

Assesment Methods

Attendance and Participation

7

This module/course is used in the following study programme/s as well

Computer Science Study Programme

8

Responsibility for module/course

  • A.A. Gede Yudhi Paramartha, S.Kom., M.Kom.
  • NIDN : 0022068803

9

Other Information

Book

  1. Javier Cuello & José Vittone. 2013. “Javier Cuello & José Vittone”.
  2. Handout

Article:

  1. KA Seputra, LJE Dewi, 2021. "A Design of Patient Registration Apps using Flutter, Laravel and, Vue JS,". IConVET 2021
  2. KA Seputra. 2019."Rancang Bangun Sistem Informasi Satgas Gotong Royong (Si Garong) Desa Adat Berbasis Mobile". Jurnal Nasional Pendidikan Teknik Informatika

Documentation Website

  1. Dribbble. 2021. “Discover the world’s top designers & creatives”. Online https://dribbble.com/shots/popular/mobile
  2. Figma. 2021. “Prototype while you design, and vice versa”. Online https://www.figma.com/prototyping/
  3. Sitaram Sharma. 2021. “An Ultimate Guide To Using MVVM Architecture In Flutter”. Online https://www.appventurez.com/blog/mvvm-architecture/
  4. Flutter. 2021. “Install”. Online https://flutter.dev/docs/get-started/install
  5. Quicktype. 2021. “Quicktype”. Online https://app.quicktype.io/