About this Course
4.6
316 ratings
73 reviews

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 19 hours to complete

Suggested: 7 hours/week...

English

Subtitles: English

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 19 hours to complete

Suggested: 7 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
13 minutes to complete

Introduction

...
4 videos (Total 13 min)
4 videos
What is Kotlin?4m
History of Kotlin3m
Developing Kotlin2m
Week
2
4 hours to complete

Starting up with Kotlin

...
17 videos (Total 73 min), 1 reading, 1 quiz
17 videos
Introducing Kotlin to an existing project2m
"Hello, world" example4m
Variables5m
Functions3m
Named & default arguments5m
Conditionals: if & when5m
Loops2m
'in' checks & ranges4m
Exceptions3m
Extension Functions4m
Examples from the Standard Library8m
Calling Extensions3m
Importance of extensions3m
Solution: Mastermind2m
Solution: Checking identifier3m
Solution: Sum as an extension function58s
1 reading
Setting up programming assignments10m
Week
3
7 hours to complete

Nullability, Functional Programming

...
19 videos (Total 92 min), 1 reading, 2 quizzes
19 videos
Nullable types under the hood4m
Safe casts2m
Importance of nullability2m
Lambdas3m
Common Operations on collections6m
Operations Quiz - I4m
Operations Quiz - II7m
Function Types5m
Member References6m
return from Lambda5m
Is Kotlin a functional language?1m
Solution: Nice String6m
Solution: Taxi Park, tasks 1-35m
Solution: Taxi Park, tasks 4 & 58m
Solution: Taxi Park, task 62m
Solution: Checking whether string is null or empty2m
Solution: Safe casts59s
Solution: Interchangeable predicates3m
1 reading
Mastermind in a functional style1m
Week
4
7 hours to complete

Properties, OOP, Conventions

...
19 videos (Total 99 min), 2 quizzes
19 videos
More about Properties4m
Lazy or late initialization5m
OOP in Kotlin4m
Constructors, Inheritance syntax6m
Class modifiers - I4m
Class modifiers - II5m
Objects, object expressions & companion objects6m
Constants4m
Generics6m
OOP design choices5m
Operator Overloading3m
Conventions8m
(Not)using operator overloading2m
Solution: Rationals15m
Solution: Unstable val2m
Solution: Using lateinit property1m
Solution: NPE during initialization4m
Solution: Equality2m
4.6
73 ReviewsChevron Right

Top Reviews

By YYFeb 11th 2019

This course is a very comprehensive and detailed introduction to Kotlin. However, it would be even better if it could include the generics part which is the most difficult but quite frequently used.

By CDMar 5th 2019

Excellent coverage of core Kotlin concepts with plenty of good exercises. I look forward to the advanced Kotlin courses mentioned in the conclusion, covering DSLs, generics, coroutines, and more.

Instructors

Avatar

Svetlana Isakova

Developer Advocate
Kotlin
Avatar

Andrey Breslav

Kotlin Project Lead
Kotlin

About JetBrains

At JetBrains, code is our passion. For over 15 years we have strived to make the strongest, most effective developer tools on earth. By automating routine checks and corrections, our tools speed up production, freeing developers to grow, discover and create....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.