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

CS212

Mobile Development

Barcelona Campus
Jun 08, 2026 - Jun 26, 2026
During the Mobile Development course, students will learn how to build native cross-platform applications.
Barcelona Campus
Jun 08, 2026 - Jun 26, 2026
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 looking for a comprehensive course that guides you step-by-step through developing Android applications from scratch? Today, over three billion active Android devices—including smartphones, tablets, watches, TVs, and even cars—present incredible opportunities for developers.

This course will introduce you to the fundamentals of Android development and progressively lead you to build complete, feature-rich applications. You'll learn core concepts, use cutting-edge libraries, and apply best practices in real-world scenarios. By the end of this course, you'll be prepared to deploy apps across multiple Android devices, anywhere and everywhere.

Ready to begin your Android development journey? Let's get started!

Learning highlights

  • Create, build, and publish an Android application.
  • Use Jetpack Compose to build modern, responsive UIs.
  • Make network requests and parse the responses.
  • Use local storage to persist 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.
  • * Exploring the Android Ecosystem.
  • How to Develop an App: An Overview.
  • * Comparing Development Frameworks (Native, Cross-platform, Web).

Setting Up Your Development Environment:

  • * Installing and Configuring Android Studio.
  • * Configuring GitHub and Creating Your Repository.
Tuesday
2

Hello (Kotlin) World!

Android Architecture Fundamentals:

  • *Activities.
  • * Services.
  • * Intents.
  • *Broadcast Receivers.
  • * Android APIs Overview.
  • Introduction to Kotlin:
  • * Kotlin Basics and Syntax.

* Kotlin Programming Fundamentals.

  • Hands-on: Developing with Kotlin.
Wednesday
3

Foundation I

Getting familiar with Android Studio:

  • * App development lifecycle.
  • * Git Integration.
  • * Leveraging AI tools for development.
  • * Debugging your application.

Building app layouts:

* Introduction to Jetpack Compose.

Libraries and Design Principles:

* Overview of Jetpack Libraries and popular third-party libraries.

* Material Design basics.

Hands-on: Creating your first Android app.

Thursday
4

Foundation II

Jetpack Compose UI Components:

  • * Layout Containers: Column, Row, LazyColumn, LazyRow.
  • * Visual Elements: Image, Icon, Text, Box, Button.
  • * Text Inputs: OutlinedTextField, TextField.
  • * Scaffold: Managing Layout Structure.

Implementing UI to display data:

  • * Creating and populating lists.
Friday
5

Foundation III

Understanding and managing app state Defining your app architecture:

* Introduction to MVVM (Model-View-ViewModel).

  • *Using ViewModels and LiveData.
  • Displaying data:

* Project structure.

  • * Loading data locally.
  • * Data serialization and deserialization.

Office hours:

  • * Project overview and guidance.
Monday
6

Connecting to the Internet

Using APIs (Unsplash API):

  • * Introduction to Unsplash API.
  • * Creating an account.
  • * Exploring the API.
  • * Internet permissions in Android Apps.

Network operations in Android:

  • * Making HTTP requests and parsing JSON responses.
  • * Managing asynchronous tasks.
  • * Handling large data sets with pagination.

Structured Concurrency:

  • * Introduction to Coroutines.

Creating a second screen.

Tuesday
7

Handling (User) Input

Fetching and displaying images:

  • * Using Coil library.

* Handling user input.

Saving and managing files locally:

  • * Scoped Storage in Android.
  • * Using the MediaStore API.
  • * Handling permissions.

Interacting with third-party apps:

  • * Explicit vs. Implicit Intents.
  • * Opening media in external apps (e.g., Gallery).
Wednesday
8

Navigation

Implementing dynamic data loading:

  • * Refresh actions.
  • * Implementing Swipe-to-Refresh.

Building and Managing Multiple Screens:

  • * Creating a new screen.
  • * Navigating between screens.
Thursday
9

Design System and Animations

Customizing app appearance:

  • * Creating and managing a Design System.
  • * Adding custom fonts.
  • * Defining themes and color schemes.

Animations in Jetpack Compose:

  • * Animating Composables.
  • * Practical animation examples.
Friday
10

Firebase I

Getting to know Firebase:

  • * Overview of Firebase capabilities.

Integrating Firebase into your project:

  • * Configuring Firebase console and Android integration.

Firebase Studio:

  • * Using Firebase services.
Monday
11

Local Storage

Persistent Storage:

  • * Introduction to SharedPreferences.

* Room Database.

Data management:

  • * Implementing bookmarking feature.
  • * Ensuring offline support for your app.

Office hours

  • * Projects overview and guidance.
Tuesday
12

Firebase II

Deep dive into Firebase Services:

  • * Real-time Databases.
  • * Cloud Firestore Usage.
  • * Crash Reporting with Crashlytics.
  • * User Authentication with Firebase Auth.
Wednesday
13

Testing

Ensuring app quality through testing:

  • * Types of tests (Unit, Integration, UI Tests).
  • * Testing frameworks (JUnit, Espresso).
  • * Hands-on: Creating and executing tests.

Overview of other libraries that you can use:

  • * Implementing Dependency Injection with Hilt.
  • * Enhancing User Experience with a Splash Screen.
Thursday
14

Publishing your app

Google Play Console:

  • * Creating your app's store listing.
  • * Managing testing tracks: Alpha, Beta, Production.
  • * Publishing your app to production.

Office hours:

  • * Preparing for final presentation.
Friday
15

What's next?

Key takeaways and course review.

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'll build an Android application from the ground up, step by step, until it’s ready for publication on the Google Play Store. Each class will focus on adding a specific new feature.

Lectures will typically have two parts:

* Theory and Concepts: You'll first learn the key concepts required for implementing each feature, including Kotlin language-specific features, APIs, or relevant Android libraries.

* Hands-on Application: You'll immediately apply this knowledge by adding new features to your app.

To reinforce your learning, each lecture will be followed by homework assignments and quizzes related directly to the concepts taught. Homework may involve exercises focused on Kotlin, creating smaller app features, or tasks exploring topics discussed during class.

Additionally, you'll have the flexibility to decide on the main app project you'll develop during the course or select from a list of suggestions.

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

Jun 08 - Jun 26, 2026

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.