Programming

in Kotlin


Course Info →

Syllabus ↓

Syllabus

Week 1: Kotlin Fundamentals

Week 2: Advanced Concepts & Spring Boot

Week 3: Spring Boot & Production

What will we learn in this course?

In the first week, we will establish a essential foundation in Kotlin programming language.

  1. Kotlin language syntax and fundamentals
  2. Object-oriented programming principles
  3. Collections and functional programming
  4. File I/O and exception handling
  5. Inheritance, polymorphism and generics

During the second week, we will explore advanced concepts and begin building Spring Boot applications.

  1. Testing fundamentals with JUnit
  2. Memory management and concurrent programming
  3. SOLID principles and design patterns
  4. Spring Boot framework and MVC architecture
  5. REST API design and implementation

During the third week, we build production-ready Spring Boot applications.

  1. Business logic and service layer implementation
  2. Data persistence with JDBC, JPA, and JOOQ
  3. Security and authentication with JWT
  4. Deployment and observability in production

Rules

  • You are welcome to use any tools and resources real-world software developer would.
  • That includes AI!
    • However, I will recognize if you just used generated code without understanding, or if you truly understand the subject.
    • In fact, I myself used AI to help me formulate some of the lesson materials. Tools exists to be used.
  • I want to treat students as equals, and I expected to be treated equally.
  • Be respectful and helpful to your classmates.
    • You will learn more if you help each other.
    • But don't cheat.

Grading

  • Kotlin Practice Assignments 1-8 = 40%
  • Final Project = 40%
  • Coffee Shop Exercise = 10%
  • Class participation = 10%

About Me

Monika Protivová, Prague, Czech Republic
"Moni"


I have been working in software engineering for over 16 years.
I started as a tester, then test architect, test automation engineer (technically a developer)
and eventually decided to become a full-time developer.


I am a simple, mostly self-taught,
not the smartest in the room,
but I am resilient and hard-working with "do the right thing" mindset.


I teach about testing and test automation for a non-profit organization specialized in education
for women who want to enter the world of IT.


I don't know everything, about Kotlin.
What I can offer is practical, simple, real-world experience.


Outside my job, I am a active person who likes exercise:
weigh training, fitness, Muay Thai :).
I love motorcycles. I have three - I travel on them, ride off-road and race on a track.


My belief is to enjoy each day like the next one is not guaranteed.
Try something when possible. Don't hold back just because you are afraid.
Treat others the way I want to be treated, be respectful, non-judgemental and kind.

Pictures of my life ↓

About Me


  • I like to be outside, in nature,
    in the mountains, in the forest, by the sea.


  • I like to travel, see new places,
    meet new people, try new things.


  • I work out a lot, lift weights,
    and even do Muay Thai.


My Cats

I have 3 cats. They are all very chill and friendly.

  • Elfie
    young Siamese girl

  • Coffee
    black boy

  • Oli
    brown tabby boy

My Motorbikes

I love riding and even racing motorcycles.
I have 3 bikes.

  • CRF 300L
    my off-road and off-road touring bike

  • Aprilia Tuono 660 Factory
    my track bike

  • Triumph Tiger 900 Rally Pro
    my travel and light off-road bike