Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS305BKK

Mobile Development

Bangkok Campus
Nov 13, 2023 - Dec 01, 2023
During the Mobile Development course, students will learn how to build native cross-platform applications.
Bangkok Campus
Nov 13, 2023 - Dec 01, 2023
Carlos Mota

Faculty

Carlos Mota

Android GDE,Android Tech Lead & KMP Architect at AVANCEESoftware

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Applications DevelopmentDebugging existing codeTesting and Deploying Web ApplicationsKotlin programming language
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

Are you searching for a place that teaches you how to start and go through the entire process and content of developing an Android application? Did you know that, currently, there are over three billion Android devices active worldwide that come in the form of smartphones, tablets, watches, TVs’, and even cars?

So, if you want to learn about mobile development for Android look no further. In this course you’ll start from scratch, and you’ll build new features for your app in each class, going from the Android basics through the latest libraries, always following the best practices for development. This course will give you a unique opportunity to have your app running everywhere and anywhere.

Ready? Let’s start!

Learning highlights

  • Create, build, and publish an Android application.
  • Use Jetpack Compose to build your UI’s. Although Jetpack Compose is the new tool recommended by Google for building UI’s, since you’ll find projects written using XML you’ll also learn how to implement the same features with it.
  • Make network requests and parse its responses.
  • Use local storage to save data.

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Welcome to (Android) Mobile Development

Course overview.

Getting to Know Android:

  • A brief history of (Android) time.
  • The Android ecosystem
  • How to develop a n app?
  • Comparing different Frameworks.

Preparing your development environment:

  • Configuring GitHub.
  • Creating your Git repo.
  • Tools that you're going to need from creating an app to make it available on Google Play Store.
Tuesday
2

Hello (Kotlin) World!

Android architecture:

  • Base components:
  • Activities. Activity lifecycle.
  • Fragments. Fragment lifecycle.
  • Services.
  • Intents.
  • Broadcast Receivers.
  • API's.

Jetpack Libraries:

  • Overview of the most common libraries.

Third-party libraries:

  • Overview of the most common libraries.
  • Accompanist libraries

Hello World:

  • Getting to know Kotlin.
  • Syntax.
  • Fundamentals.
Wednesday
3

Foundation I

Building your app layouts:

  • XML
  • Jetpack Compose: Composables
  • Imperative UI vs Declarative UI.
  • Interoperability between both.

Creating your first app

Thursday
4

Foundation II

Building blocks:

  • Column, Row, LazyColumn, LazyRow.
  • Image, Icon, Text, Box, Button.
  • OutlineTextField, TextField, etc.
  • Scaffold.

Displaying data:

  • Implementing the UI:
  • Creating lists
  • Scrolling through the list
Friday
5

Foundation III

Managing state.

Defining you app architecture

  • MVVM
  • Using View Model's and LiveData

Displaying data:

  • Implementing the business logic:
  • Loading data locally
  • Serializing and deserializing data

Office hours

  • Projects overview and guidance
Monday
6

Connecting to the Internet

Getting to know the Unsplash API

  • Creating an Account
  • Exploring the API
  • Connecting your app to the Internet
  • Internet permission

Requesting data and parsing responses

Asynchronous and heavy operations

  • Handling large amounts of data
  • Understanding (structured) concurrency
  • Working with Coroutines

Creating a secondary screen

Adding pagination to your list

Tuesday
7

Handling (User) Input

Getting to know the Coil library

  • Fetching and displaying images

Searching for a specific subject

  • Handling user input

Saving an image locally

  • Introduction to Scoped Storage
  • Using the Media Store API
  • Handling permissions:
  • Accompanist library
  • Interacting with third party apps:
  • Explicit vs Implicit intents
  • Open an image in the default gallery
Wednesday
8

Navigation

Trigger the application to request new data

  • Accompanist library:
  • Implement swipe to refresh

Implement a secondary screen

  • Navigate between them.
Thursday
9

Design System and Animations

Customizing your app

  • Creating your design system
  • Using a custom font
  • Defining themes

Animating your composables

Friday
10

Local Storage

Storing data

  • Using shared preferences
  • Encrypted shared preferences

Getting to know Room

  • Adding bookmarks to images
  • Support offline mode

Office hours

  • Projects overview and guidance
Monday
11

Firebase I

Getting to know Firebase

  • Feature set available

Integrating with Firebase

  • Configuring Firebase

Real-time databases

  • Creating a conversation screen
Tuesday
12

Firebase II

Continuation of the previous class about Firebase:

  • Firestore
  • Crashlytics
  • Authentication
Wednesday
13

Testing

Adding a layer of confidence over your code

  • What type of tests you can do
  • Testing frameworks
  • Creating and running tests

Overview of other libraries that you can use:

  • Implementing a Splash Screen
  • Dependency Injection with Hilt
Thursday
14

Publishing your app

Getting to know the Google Play Console:

  • Creating your application market page.
  • Different publication levels for testing.

Send your app to production.

Office hours

  • Preparing for final presentation
Friday
15

What's next?

Key takeaways.

Where to go from here?

  • Resources worth exploring
  • What should you develop next?
  • Other Android platforms to target.

Presentation Day

Prerequisites

You’ll use Kotlin throughout this course. Although it’s not mandatory to be familiar with the language, existing programming skills are necessary.

There’s no problem in case you’re not familiar with Kotlin, in the first set of classes you’ll learn the language as well as receive additional resources to help you master it.

Methodology

Throughout this course, you will develop, from scratch, an application until it’s ready to be published in the Google Play Store. In each class, you will add a new feature to it.

In the first part of the lecture, they’ll learn a new concept that will provide you the knowledge to implement the feature. This can go from a language-specific functionality, to the usage of an API, to a new library, etc.

To consolidate what you’’ve learned, you’ll receive homework, which will be evaluated. Along with this, you’ll also receive a quiz with a set of questions related to what you’ve learned in that class.

The homework will either be exercises related with the Kotlin language (initial classes), the development of a secondary application, outside classes, or other topics that were learned during lectures.

You can decide the app that you want to build or select one of the suggested themes.

Grading

The final grade will be composed of the following criteria:
15% - Quizzes
30% - Homework
15% - Participation
10% - Architecture
20% - Functionalities
10% - UX/UI
Carlos Mota

Faculty

Carlos Mota

Android GDE,Android Tech Lead & KMP Architect at AVANCEESoftware

Carlos Mota is an Android GDE. He can easily be spotted either working on Android applications written in Kotlin or developing them along with Kotlin Multiplatform. Enthusiastic about new technology he consistently tries to reach the last 20% of all of his side projects that seem to be really far away. He loves to share his knowledge with others either by giving talks, teaching, writing, or along with a cold beer in the nearest pub. GDG Coimbra organizer and Kotlin evangelist, he also has a passion for travel, photography, space, and the occasional run.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Mobile Development

by Carlos Mota

Total hours

45 Hours

Dates

Nov 13 - Dec 01, 2023

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.