We may earn an affiliate commission when you visit our partners.
Stefan Jovanovic

So you want to become proficient with Kotlin programming language? Well, get ready, because this course will provide you the knowledge that you are going to need, if you're seriously planning to accelerate your career as a Kotlin programmer.

Now when I say Kotlin programmer, I'm also referring to:

- Mobile Applications Development (Especially Android)

So if you're planning to become an Android Developer, then forget about Java and focus

on Kotlin only.

- Kotlin will also allow you to Build Web Applications

- Server Side Applications

- Desktop Applications

Read more

So you want to become proficient with Kotlin programming language? Well, get ready, because this course will provide you the knowledge that you are going to need, if you're seriously planning to accelerate your career as a Kotlin programmer.

Now when I say Kotlin programmer, I'm also referring to:

- Mobile Applications Development (Especially Android)

So if you're planning to become an Android Developer, then forget about Java and focus

on Kotlin only.

- Kotlin will also allow you to Build Web Applications

- Server Side Applications

- Desktop Applications

- So basically Multi-platform projects

- Kotlin has some libraries specifically adapter for a Data Science as well

- And much more.

So why Kotlin, why not some other language? Well Kotlin is a modern programming language that came out in 2016. I must say from my personal experience, when I switched over to Kotlin a couple of years ago, I couldn't describe how much happier developer I became.

And the main reason for that was it's simplicity. With Kotlin, everything is simple and easy. No Semicolons.

Kotlin is Expressive and concise language.

- You are writing less and doing more.

Kotlin provides a Safer code

- It helps you avoid NullPointerExceptions, among other things.

Kotlin is Interoperable

- It's fully compatible with Java.

And Kotlin has a happy community of a considerable size.

I can go on like this for whole day. But if you are still watching this video, then you're probably smart enough to make a decision and start learning this wonderful programming language. So don't waist your time, and let's get started.

Enroll now

What's inside

Learning objectives

  • Variables
  • Data types
  • Functions
  • Default and named arguments
  • If expressions
  • String templates
  • Tripple-quoted strings
  • While loop
  • For loop
  • Ranges
  • Expressions
  • Statements
  • Classes
  • Properties
  • Constructors
  • Visibility modifiers
  • Packages
  • Imports
  • Lists
  • Varargs
  • Sets
  • Maps
  • Property accessors
  • Extension functions
  • Overloading
  • When expression
  • Enum classes
  • Data classes
  • Destructing declarations
  • Nullable types
  • Safe calls
  • Elvis operator
  • Generics
  • Extension properties
  • Lambdas
  • Collections
  • Member references
  • Higher-order functions
  • Sequences
  • Local functions
  • Interfaces
  • Sealed interfaces
  • Inheritance
  • Abstract classes
  • Upcasting and downcasting
  • Composition
  • Class delegation
  • Sealed classes
  • Inner classes
  • Nested classes
  • Object
  • Companion object
  • Exceptions
  • Check instructions
  • Unit testing
  • Build tic-tac-toe game
  • And more...
  • Show more
  • Show less

Syllabus

While Loop
Introduction
Quiz 8
Download and Install Intelij IDEA
Read more
Kotlin Basics
Hello World!
Quiz 1
Variables
Quiz 2
Data Types
Quiz 3
Functions
Quiz 4
Default and Named Arguments
Quiz 5
if Expression
Quiz 6
String Templates and Tripple-quited Strings
Quiz 7
For Loop and Ranges
Quiz 9
in Keyword
Quiz 10
Expressions and Statements
Quiz 11
Introducing with Objects
Classes
Quiz 12
Properties
Quiz 13
Constructor
Quiz 14
Visibility Modifiers
Quiz 15
Packages and Imports
Quiz 16
Lists
Quiz 17
varargs - Variable Argument Lists
Quiz 18
Sets
Quiz 19
Maps
Quiz 20
Property Accessors
Quiz 21
Usability
Extension Functions
Quiz 22
Overloading
Quiz 23
when Expression
Quiz 24
Enum Classes
Quiz 25
Data Classes
Quiz 26

With the new Kotlin 2.0 release, there have been some changes related to how you write destructing declarations. Everything stays the same, except when writing the name of your variables, you need to use the same exact names as the properties of the corresponding data class. Like:

class User(
    val name: String,

    val lastName: String
)

val (firstName, lastName) = user // Error in Kotlin 2.0

val (name, lastName) = user // Correct in Kotlin 2.0

Quiz 27
Nullable Types
Quiz 28
Safe Calls, Elvis Operator and Non-Null Assertions
Quiz 29
Introducing with Generics
Quiz 30
Extension Properties
Quiz 31
Scope functions
Functional Programming
Introducing with Lambdas
Quiz 32
Collection Operations
Quiz 33
Member References
Quiz 34
Higher-Order Functions
Quiz 35
Working with Lists
Quiz 36
Working with Maps
Quiz 37
Working with Sequences
Quiz 38
Local Functions
Quiz 39
Folding Lists
Quiz 40
Object-Oriented Programming
Interfaces
Quiz 41
Secondary Constructors
Quiz 42
Inheritance
Quiz 43
Abstract Classes
Quiz 44
Upcasting & Downcasting
Quiz 45
Composition

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Focuses on Kotlin as a primary language for Android development, which is a modern alternative to Java and is officially supported by Google
Covers fundamental programming concepts like variables, data types, loops, and functions, which are essential for building a strong foundation in Kotlin
Explores advanced topics such as generics, lambdas, higher-order functions, and sequences, which are useful for writing concise and efficient Kotlin code
Includes object-oriented programming concepts like interfaces, inheritance, abstract classes, and composition, which are important for designing robust and maintainable applications
Features a section on Kotlin 2.0 release changes related to destructing declarations, which may require learners to adjust their existing code
Culminates in building a Tic-Tac-Toe game, which provides a practical application of the concepts learned throughout the course and a tangible project for a portfolio

Save this course

Save Programming with Kotlin - Masterclass | Complete Course to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Programming with Kotlin - Masterclass | Complete Course with these activities:
Review Java Fundamentals
Strengthen your understanding of Java fundamentals, as Kotlin is interoperable with Java and understanding Java concepts will aid in grasping Kotlin's features and how they relate to existing Java codebases.
Show steps
  • Review basic syntax and data types in Java.
  • Practice writing simple Java programs.
  • Study object-oriented programming concepts in Java.
Read 'Kotlin in Action'
Deepen your understanding of Kotlin by reading 'Kotlin in Action', a comprehensive guide that covers the language's features and best practices.
Show steps
  • Read the first few chapters covering basic syntax and data types.
  • Work through the examples provided in the book.
  • Take notes on key concepts and differences from Java.
Kotlin Koans
Reinforce your Kotlin knowledge by completing the Kotlin Koans, a series of exercises that cover various language features and concepts.
Show steps
  • Access the Kotlin Koans online or through IntelliJ IDEA.
  • Work through each Koan, focusing on understanding the problem and solution.
  • Review the solutions and explanations provided.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Read 'Effective Kotlin'
Improve your Kotlin coding style and best practices by reading 'Effective Kotlin', which provides guidance on writing clean and maintainable code.
View Kotlin Coroutines on Amazon
Show steps
  • Read the chapters on coding conventions and best practices.
  • Apply the recommendations to your own Kotlin projects.
  • Discuss the concepts with other Kotlin developers.
Build a Simple Android App
Apply your Kotlin knowledge by building a simple Android application, such as a to-do list or a basic calculator, to gain practical experience with mobile development.
Show steps
  • Set up Android Studio and create a new project.
  • Design the user interface using XML layouts.
  • Implement the application logic using Kotlin.
  • Test the application on an emulator or physical device.
Write a Blog Post on Kotlin Features
Solidify your understanding of Kotlin by writing a blog post explaining a specific feature or concept, such as coroutines or data classes.
Show steps
  • Choose a Kotlin feature or concept to write about.
  • Research the topic and gather relevant information.
  • Write a clear and concise blog post with examples.
  • Publish the blog post on a personal blog or platform like Medium.
Contribute to a Kotlin Open Source Project
Deepen your Kotlin skills by contributing to an open-source project, gaining experience with real-world codebases and collaboration.
Show steps
  • Find a Kotlin open-source project on GitHub.
  • Review the project's documentation and contribution guidelines.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Programming with Kotlin - Masterclass | Complete Course will develop knowledge and skills that may be useful to these careers:
Android Developer
An Android Developer specializes in building applications for the Android operating system. According to the course description, Kotlin is the recommended approach for this work, so this course would be directly helpful for those interested in Android development. A solid grounding in Kotlin fundamentals, including classes, properties, constructors, and visibility modifiers, as taught in the course, is essential for developing for Android. Using the skills and knowledge from the core Kotlin concepts covered in this course, you would be equipped to develop Android applications.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, often using a specific language to target a particular operating system such as Android. This course specifically mentions that Kotlin is useful for Android development, making it an excellent fit for those seeking this path. The course provides foundational knowledge of Kotlin, including variables, data types, functions, and object oriented programming, all of which are essential for writing robust mobile applications. Because Kotlin is the primary language focus, this course is particularly useful for anyone pursuing Android development.
Multiplatform Developer
A Multiplatform Developer creates applications that can run on multiple operating systems and devices. This course teaches Kotlin, which the course description says is useful for multiplatform projects. Topics such as functions, generic types, and lambdas are necessary to build the kind of complex codebases that are a hallmark of Multiplatform projects. This course's focus on Kotlin is useful for developers wanting to broaden the range of platforms they can target.
Application Developer
An Application Developer is responsible for creating and maintaining software applications. The course provides in-depth instruction on Kotlin, which can be used for mobile, web, server, and desktop applications. The course covers key programming concepts like classes, object oriented programming, and exception handling, which helps build a foundation for application development. This course is an excellent way to broaden the scope of platforms an application developer can target.
Server-Side Developer
A Server Side Developer works on the backend of applications, handling data, logic, and interactions between the client and database. This course introduces Kotlin, which the description mentions can be used for developing Server Side applications. The knowledge of classes, functions, and other core programming concepts gained from this course provides a solid basis for server side development. This course may be a useful way for developers to expand their language toolset for server side work.
Web Application Developer
A Web Application Developer builds interactive web applications, often utilizing a variety of programming languages and tools. While this course focuses on Kotlin, the course material also mentions that Kotlin can be used to build Web Applications, giving web developers a reason to take it. This course's approach to data types, functions, and object oriented programming helps establish a foundation in programming that is helpful when building web applications. The course is a useful starting point for any aspiring Web Application Developer wanting to expand their language and platform knowledge.
Desktop Application Developer
A Desktop Application Developer builds software that runs on desktop operating systems such as Windows, macOS, or Linux. This course introduces Kotlin, which the description mentions can be used for developing Desktop Applications. The course coverage of object oriented programming, interfaces, and exception handling helps a developer create functional and robust applications. This may be a useful way to gain experience using Kotlin for aspiring desktop application developers.
Software Engineer
A Software Engineer designs and develops software systems. This course introduces Kotlin, a modern programming language, and covers key programming principles. The course’s discussion of core concepts, including data types, functions, classes, and object oriented programming helps build a foundation for software development. This course is potentially useful for anyone looking to enter the software engineering field and learn Kotlin.
Software Developer
A Software Developer writes code to create software applications. This course offers a deep dive into Kotlin, covering core programming areas, which is very helpful to software developers. The course’s detailed treatment of topics such as functions, classes, and object oriented programming are valuable skills. This course may be an excellent way to learn a modern language and improve software development skills.
Data Scientist
A Data Scientist analyzes and interprets complex data, requiring skill in programming and statistical analysis. This course teaches Kotlin, which the description says has libraries specifically adapted for data science. The course’s coverage of fundamental programming concepts such as variables, data types, and functions helps build a foundation for data analysis development. While this is not a primary use case for Kotlin, this course may be useful for some Data Scientists.
Backend Developer
A Backend Developer focuses on the server side of applications, working on databases, server logic, and APIs. This course teaches Kotlin, which the description says is useful for server side applications. The course covers core programming principles like classes, inheritance, and abstraction, which are useful for backend development. While not a typical backend language, this course may be useful for backend developers interested in Kotlin.
Game Developer
A Game Developer creates video games, using programming to bring gameplay, graphics, and sound to life. While this course does not directly focus on game development, it includes a project to build a Tic Tac Toe game in Kotlin, which may be helpful. The core Kotlin concepts taught here, including functions and object oriented programming will be useful for game development. This course may be useful for new game developers wanting to broaden their language proficiency.
Software Architect
A Software Architect designs the structure of software systems. While this course is primarily about programming with Kotlin, the understanding of programming concepts and language features provided here may be useful for a Software Architect. The course's coverage of classes, interfaces, and object oriented programming might help provide a more profound knowledge of the underlying principles of good code design. While not a primary focus, this course may be helpful for a Software Architect.
Systems Analyst
A Systems Analyst analyzes and designs information systems. Although this course does not focus on system design, an understanding of programming languages and paradigms may help a Systems Analyst. The focus on coding with Kotlin in this course can inform a Systems Analyst about the potential of modern languages. This course may be useful for someone wanting a deeper understanding of the technical details of software development.
Technology Consultant
A Technology Consultant advises organizations on technology solutions. This course offers an opportunity to learn the Kotlin programming language. Gaining knowledge of modern programming languages can be valuable for a Technology Consultant. This course may be useful in that it provides exposure to a modern language.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programming with Kotlin - Masterclass | Complete Course.
Provides a comprehensive guide to Kotlin, covering everything from basic syntax to advanced features. It's particularly useful for understanding Kotlin's design principles and how it compares to Java. 'Kotlin in Action' is often used as a reference by professional Kotlin developers. It adds depth to the course by providing real-world examples and best practices.
Focuses on best practices and effective techniques for writing Kotlin code. It covers topics such as coding conventions, performance optimization, and idiomatic Kotlin. 'Effective Kotlin' is valuable as additional reading to improve code quality and maintainability. It provides practical advice that can be applied to real-world projects.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser