
Explore how the essential Kotlin programming course teaches language concepts through a mix of concept-focused lessons, PowerPoint explanations, hands-on code demonstrations, and guided challenges with solution walkthroughs.
Discover functional programming in Kotlin as a paradigm that uses pure functions and immutable data to prevent side effects and shared state. Apply lambdas and function composition to improve abstraction.
Explore the IntelliJ environment for Kotlin development by navigating menus, toolbars, and editors; configure project settings and code style, manage dependencies, and build, run, and debug projects.
Organize code with packages using the package keyword and imports, grouping classes and top-level functions. Kotlin supports multiple classes per file, top-level declarations, and importing top-level functions by name.
Explore single-line and block comments, nested Kotlin comments, and best practices for file headers with author and date to describe code across languages.
Compare Kotlin var and val to understand mutable versus immutable variables. Learn how to declare and initialize, and why var can be reassigned while val remains read-only.
Learn Kotlin’s basic data types, including long, int, short, byte, float, double, char, and boolean, how primitives become wrapper objects, use val, and perform literals and type conversions.
Explore Kotlin strings, including literals, read-only variables, indexing, and iteration. Learn to use string templates with interpolation, raw triple-quoted strings, and trim margin for multi-line text.
The Kotlin unit type is the real counterpart to void, a full fledged type usable with generics and as a return value when a function returns nothing.
Explains the nothing type in Kotlin and how it differs from the unit type. Shows how nothing marks non-returning functions and supports precondition checks with the Elvis operator.
Learn how the not null assertion converts a nullable type to a non-null type using the double exclamation point, enabling direct calls while risking a runtime exception if null.
Explore how Kotlin if expressions return values, letting you assign results to variables; use else branches, nesting, and blocks without ternary operators.
Explore while and do-while loops in Kotlin, comparing them to Java, with post-test behavior, body execution at least once, and practical examples of counter and enumeration loops.
Explore how Kotlin handles for loops using ranges, in operator, and iterators; compare with traditional loops, nested loops, stepping, and exclusive end via until, and apply to collections and arrays.
Explore return, break, and continue control flow in Kotlin loops, including labeled breaks to outer loops, jumping from nested loops or functions, and returning from the nearest enclosing function.
Explore how Kotlin defines and calls functions using the fun keyword, with optional parameters, return types, and single expression forms using equals, including unit returns and member functions.
Enhance readability and maintainability by using named arguments to clearly indicate each parameter; limit functions to three parameters when possible, otherwise name all subsequent arguments to avoid confusion.
Master function overloading in Kotlin by exploring different parameter lists, how return type doesn’t count, and how overloading differs from overriding and static versus dynamic polymorphism.
Demonstrate method overloading in Kotlin by defining several add functions with different parameter types and counts. See how the compiler selects the appropriate overload based on inputs, illustrating compile-time polymorphism.
Explore how the Kotlin standard library uses higher-order functions, lambdas, and extension functions to simplify collections, strings, and Java interop, with apply and with for clean initialization.
Explore Kotlin's repeat, require, assert, and check for formal specifications and contracts. Learn how they differ in exceptions, invocation, and runtime behavior, including lazy evaluation and input validation.
Students will learn
all aspects of the Kotlin Programming Language. They will
also understand how to apply this knowledge to more effectively write
Android applications. This class does not focus on the server side programming aspects of Kotlin. This class does not focus on Android programming. This class focuses
on the Kotlin Programming Language and the advantages of using Kotlin when writing Android applications. You will learn how to effectively use this language to make programming fun and
interesting in Android. I will cover every concept in the Kotlin language and provide exercises to help you learn the language. This course is a deep dive into the Kotlin language, it does not just cover the basics. By the end of this
course you will fully understand the Kotlin langauge and how to use it to write Android applications.
If you have previously used Kotlin on an Android platform, I'm sure this course will deepen your understanding of it. If you have never used it, no problem, you will see that it can help you become a more efficient Android developer.
Throughout the course, you can always contact me personally to get help when you're stuck. I check the discussions regularly to help you at every step along the way.
Lastly, this course is constantly updated and refined based on student feedback. I really appreciate each and every of my students so I listen to your feedback and act on it.