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

CS210

Back-End Development & Software Testing in Kotlin

Barcelona Campus
Apr 27, 2026 - May 15, 2026
Students will learn not only how to design and programme in Kotlin, but also how to properly test it and observe its real-world behaviour.
Barcelona Campus
Apr 27, 2026 - May 15, 2026
Monika Protivova

Faculty

Monika Protivova

Software Engineer at CleverFarm

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

TestingDockerDesign Sprint MethodologyKotlin programming languageREST APIsAPI DevelopmentAI-Assisted Development
OverviewCourse outlinePrerequisitesMethod & grading

Overview

This course introduces students to back-end development and software testing using Kotlin. We will begin with a focused language introduction and progress to building, testing, and deploying a complete REST API through hands-on exercises.

In the first part of the course, we will establish a solid understanding of Kotlin fundamentals, object-oriented design, and testing practices. We will also learn how to structure code for testability and maintainability.

In the second part, we will learn how to design application architecture, apply SOLID principles, and build REST APIs with Spring Boot.

Finally, we will add data persistence, security, and observability, culminating in a fully functional, tested, and deployable back-end application.

Learning highlights

  • The main goal of this course is to explain the use and application of Kotlin through practical examples and exercises while establishing the foundations for SOLID principles in application development.
  • Students will learn not only how to design and programme in Kotlin, but also how to properly test it and observe its real-world behaviour.

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

Kotlin Essentials

Core Kotlin syntax, data types, functions, and language fundamentals

Tuesday
2

Object-Oriented Programming Principles & Models

Understanding and implementing object-oriented programming concepts in Kotlin

Wednesday
3

Collections, Advanced Functions & Lambdas

Lambdas, higher-order functions, collections, and functional programming techniques

Thursday
4

I/O, Errors and Exceptions

File operations, command-line input, and comprehensive error handling

Friday
5

OOP Principles & Inheritance

Encapsulation, inheritance, polymorphism, abstraction, and generics

Monday
6

Testing Fundamentals

Testing principles, test design, unit testing, integration testing with Kotest

Tuesday
7

Memory & Concurrency

JVM memory management and concurrent programming with threads and coroutines

Wednesday
8

SOLID Principles, Architecture & Application Design

SOLID principles, design patterns, and application architecture

Thursday
9

Spring Boot Application & Controllers

Introduction to Spring Boot framework, MVC pattern, beans, dependency injection, and controllers

Friday
10

Service Layer & Business Logic

Service layer patterns, dependency injection, data transformation between layers, exception handling, comprehensive testing overview with service and controller testing using MockK

Monday
11

Data Layer & Repositories

Repository pattern concepts, data access frameworks (JDBC, JPA, JOOQ), transactions, and testing

Tuesday
12

Security & Authentication

Authentication concepts, authorisation patterns, JWT tokens, and Spring Security framework

Wednesday
13

Development, Deployment & Monitoring

Containerisation with Docker, deployment strategies, logging, metrics, observability, and building resilient applications

Thursday
14

Professional Development & Career

Working with AI, professional skills like code reviews, and navigating your career in modern software development

Friday
15

Final Project & Assignment Work

Final Project & Assignment Work

Prerequisites

No prior Kotlin experience is required. The course starts from the basics and builds up progressively.

Students should have:

* Basic familiarity with at least one programming language (e.g., Python, JavaScript, Java, C++) - understanding of variables, loops, and functions is sufficient.

* Comfort using a computer for development tasks (installing software, navigating a file system, using a text editor or IDE).

Helpful but not required:

* Familiarity with the command line / terminal.

* Basic understanding of how the web works (HTTP, client-server model).

Methodology

Lectures & Live Coding - Each session begins with a focused lecture introducing new concepts, followed by live coding demonstrations. Concepts are explained through practical examples rather than abstract theory.

In-Class Exercises - Students immediately apply new concepts through guided exercises during each session, reinforcing understanding through practice.

Homework Assignments (4 assignments) - Graded assignments distributed across the course that require students to independently implement features, write tests, and follow architectural guidelines.

Final Project (Fantasy.Space) - A running back-end project that grows session by session. Each homework assignment extends the project with new features, ensuring students see how individual concepts fit into a complete application.

AI-Assisted Development - Students are encouraged to use AI coding tools as learning aids and productivity boosters. The course teaches how to use these tools effectively while maintaining a deep understanding of the underlying concepts.

Code Reviews & Collaboration - Students review each other's code and learn professional git workflows, building habits for team-based development.

Grading

The final grade will be composed of the following criteria:
40% - Homework
40% - Final project
20% - Participation
Monika Protivova

Faculty

Monika Protivova

Software Engineer at CleverFarm

Monika is a seasoned software engineer with a career spanning over 15 years. Monika has a background in testing. In her previous positions as a Test Automation Engineer and Test Architect, she played a key role in designing software with a focus on testability as a critical component.

Currently working as a Software Engineer, she primarily focuses on application backends, where she brings a quality-focused approach to development, leveraging her testing background.

See full profile

Apply for this course

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

Back-End Development & Software Testing in Kotlin

by Monika Protivova

Total hours

45 Hours

Dates

Apr 27 - May 15, 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.