- Level Professional
- Duration 25 hours
- Course by JetBrains
-
Offered by
About
The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. Kotlin is 100% compatible with all existing Java frameworks, and has good tooling support. It's a pragmatic language with a very low learning curve, and can be quickly grasped by Java developers. Kotlin code might be compiled not only to JVM bytecode but to JavaScript and Native code as well, but this course is focused on Kotlin/JVM. This course aims to share with you the power and the beauty of Kotlin. We'll have a basic overview of the language, as well as a discussion of many corner cases, especially concerning Java interoperability. The course is based on your Java experience; it shows the similarities between the two languages and focuses on what's going to be different. Note that this course won't cover the programming fundamentals. We'll discuss: basic syntax, nullability, functional programming with Kotlin, object-oriented programming with Kotlin, the power of the Kotlin standard library, and Java interoperability.Modules
Introduction
4
Videos
- Introduction to the course
- What is Kotlin?
- History of Kotlin
- Developing Kotlin
From Java to Kotlin
2
Videos
- From Java to Kotlin
- Introducing Kotlin to an existing project
Basics
4
Videos
- "Hello, world" example
- Variables
- Functions
- Named & default arguments
Control Structures
4
Videos
- Conditionals: if & when
- Loops
- 'in' checks & ranges
- Exceptions
Extensions
4
Videos
- Extension Functions
- Examples from the Standard Library
- Calling Extensions
- Importance of extensions
Programming Assignment
- Mastermind game
1
Videos
- Solution: Mastermind
1
Readings
- Setting up programming assignments
Playground solutions
2
Videos
- Solution: Checking identifier
- Solution: Sum as an extension function
Nullability
4
Videos
- Nullable types
- Nullable types under the hood
- Safe casts
- Importance of nullability
Functional Programming
8
Videos
- Lambdas
- Common Operations on collections
- Operations Quiz - I
- Operations Quiz - II
- Function Types
- Member References
- return from Lambda
- Is Kotlin a functional language?
Programming Assignment
- Nice String
- Taxi Park
4
Videos
- Solution: Nice String
- Solution: Taxi Park, tasks 1-3
- Solution: Taxi Park, tasks 4 & 5
- Solution: Taxi Park, task 6
1
Readings
- Mastermind in a functional style
Playground solutions
3
Videos
- Solution: Checking whether string is null or empty
- Solution: Safe casts
- Solution: Interchangeable predicates
Properties
3
Videos
- Properties
- More about Properties
- Lazy or late initialization
Object-oriented Programming
8
Videos
- OOP in Kotlin
- Constructors, Inheritance syntax
- Class modifiers - I
- Class modifiers - II
- Objects, object expressions & companion objects
- Constants
- Generics
- OOP design choices
Conventions
3
Videos
- Operator Overloading
- Conventions
- (Not)using operator overloading
Programming Assignment
- Rationals
- Board
1
Videos
- Solution: Rationals
Playground solutions
4
Videos
- Solution: Unstable val
- Solution: Using lateinit property
- Solution: NPE during initialization
- Solution: Equality
Inline functions
3
Videos
- Library functions looking like built-in constructs
- The power of inline
- Inline or not inline?..
Sequences
4
Videos
- Collections vs Sequences
- More about Sequences
- Creating Sequences
- Library Functions
Lambda with Receiver
2
Videos
- Lambda with receiver
- More useful library functions
Types
4
Videos
- Basic types
- Kotlin type hierarchy
- Nullable Types
- Collection types
Programming Assignment
- Game 2048 & Game of Fifteen
Playground solutions
4
Videos
- Solution: Inlining of the 'filter' function
- Solution: Fibonacci sequence
- Solution: Working with auxiliary functions
- Solution: Member extensions
Conclusion
1
Videos
- Conclusion
Auto Summary
Unlock the power and beauty of Kotlin with "Kotlin for Java Developers," a comprehensive course designed for IT and Computer Science enthusiasts. Led by expert instructors on Coursera, this course delves deep into Kotlin, a modern programming language renowned for its conciseness, safety, and seamless interoperability with Java. Tailored specifically for Java developers, this professional-level course bridges the gap between the two languages, highlighting their similarities and key differences. Learners will gain a thorough understanding of Kotlin's basic syntax, nullability, functional programming, object-oriented programming, and the extensive Kotlin standard library. Additionally, the course places a strong emphasis on Java interoperability, making it an ideal choice for those looking to enhance their Java projects with Kotlin. With a duration of 1500 minutes, this course provides a robust learning experience. Subscription options include Starter, Professional, and Paid plans, ensuring flexibility to fit various learning needs and budgets. Ideal for professional developers looking to expand their skill set, this course offers a pragmatic approach to mastering Kotlin, enabling learners to leverage its capabilities for server-side development, Android apps, and beyond. Join now to elevate your programming expertise and harness the full potential of Kotlin!

Svetlana Isakova

Andrey Breslav