Kotlin Bootcamp for Programmers (Udacity)

Offered by Udacity, Google,
Kotlin Bootcamp for Programmers (Udacity)

Language fundamentals for developers. Learn the essentials of the Kotlin programming language from Kotlin experts at Google. Kotlin is a modern and concise JVM language that supports functional programming paradigms. Whether you’re a Java developer or a programmer in another object-oriented language, this course will teach you the essential language features that has made Kotlin so popular with developers.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

By the end of this course, you’ll gain the skills you need to build your next project in Kotlin.
Kotlin is an open-source, modern programming language that lets developers use both object-oriented and functional programming techniques. It is concise, safe, and fully interoperable with Java. Kotlin is an official language for Android development, and can be used in a variety of other applications, from back-end development to data analysis. The community of Kotlin developers is growing rapidly, with major companies like Netflix, Pinterest, and Google using Kotlin.
This free course was developed by Kotlin experts at Google, and will teach you the language fundamentals you need to start developing your own projects in Kotlin. By the end of the course, you’ll be able to build basic programs in Kotlin, using key language features including, classes, collections, lambdas, higher-order functions, and extensions.

What You Will Learn

Lesson 1
Welcome

  • Set up Intellij
  • the IDE that we will use in this course
  • Understand the major benefits of learning and using Kotlin

Lesson 2
Kotlin Basics

  • Use the Kotlin interpreter to get comfortable with basic language features
  • Write Kotlin statements and expressions
  • Learn about basic syntax:

. data types
. variables
. operators
. control structures
. and nullability

Lesson 3
Functions

  • Create and call functions with default and variable arguments
  • Use when constructs and create single-line functions
  • Pass functions as arguments and program simple lambdas

Lesson 4
Classes

  • Learn how object-oriented programming works in Kotlin
  • Build private and public classes including abstract classes and interfaces
  • Understand data classes and special purposes classes

Lesson 5
Kotlin Essentials: Beyond the Basics

  • Understand how to define constants and work with collections
  • Learn how to write extensions
  • Dive into generic classes and functions and use annotations and labeled breaks

Lesson 6
Functional Manipulation

  • Deep dive into lambdas and higher order functions in Kotlin
  • Learn about inline functions and Single Abstract Method interfaces

Prerequisites and Requirements
You should know a modern, object-oriented statically typed programming language like Java, C++, or Python. It's best if you have been programming for at least 1 year, and are comfortable with an IDE, such as IntelliJ or Android Studio. You must be able to install the latest version of the JDK and the latest version of IntelliJ IDEA CE (Community Edition), which is the IDE that is used in the course

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Intro to AJAX (Udacity) Udacity
Udacity

Intro to AJAX (Udacity)

Making Asynchronous Requests with jQuery. In this course you will learn how to make asynchronous requests with JavaScript (using jQuery’s AJAX functionality), and gain a better understanding of what’s actually happening when you do so. You will also learn how to use data APIs so you can take advantage of freely accessible data in your applications, including photo results, news articles and up-to-date data about the world around us.

Self Paced
Self-Paced
Website Performance Optimization (Udacity) Udacity
Udacity,Google

Website Performance Optimization (Udacity)

The Critical Rendering Path. You will learn how to optimize any website for speed by diving into the details of how mobile and desktop browsers render pages. In this short course, you’ll learn about the Critical Rendering Path, or the set of steps browsers must take to convert HTML, CSS and JavaScript into living, breathing websites. From there, you’ll start exploring and experimenting with tools to measure performance and simple strategies to deliver the first pixels to the screen as early as possible.

Self Paced
Self-Paced
Intro to jQuery (Udacity) Udacity
Udacity

Intro to jQuery (Udacity)

Manipulating Websites with Ease. jQuery is the most popular JavaScript library today, in use by over 60% of the top 100,000 most visited websites. This course will teach you how to use jQuery’s core features - DOM element selections, traversal and manipulation. You'll also learn how to read and make sense of jQuery's documentation, making it easy for you to go beyond the methods taught in this class and take advantage of jQuery's full array of features!

Self Paced
Self-Paced
HTML5 Canvas (Udacity) Udacity
Udacity

HTML5 Canvas (Udacity)

From Pixels to Animation! Canvas is an HTML5 element which gives you drawable surface inside your web pages you can control with JavaScript. Powerful enough to use for compositing images and even creating games. In this course, through several sample projects, you’ll learn how to use the canvas; how to make compositions using shapes, images, and text; how to create effects and filters on images and how to create animations.

Self Paced
Self-Paced
JavaScript Design Patterns (Udacity) Udacity
Udacity

JavaScript Design Patterns (Udacity)

Organizing Code in a Disorganized World. This course covers methods for organizing your code, both conceptually and literally. You’ll learn the importance of separating concerns when writing JavaScript, gaining hands-on experience along the way. Separating concerns can be done with or without an organizational library or framework. We’ll learn how to separate concerns without one, and then we’ll explore an organizational library together. You’ll also learn strategies for exploring other libraries and frameworks on your own.

Self Paced
Self-Paced
Object Oriented Programming in Java (Udacity) Udacity
Udacity

Object Oriented Programming in Java (Udacity)

Build Interactive Java Programs. This course will introduce you to some of the most powerful programming concepts in Java, including: objects, inheritance and collections. You will learn how to use these object-oriented programming concepts in code examples, discover how these concepts are used in applications that require user input, and understand the benefits of mastering these concepts in Java.

Self Paced
Self-Paced
Objective-C for Swift Developers (Udacity) Udacity
Udacity

Objective-C for Swift Developers (Udacity)

This course is designed to teach students how to understand and identify the differences between the Objective-C and Swift programming languages, and especially, how to rewrite from the former to the latter. Understanding communications between the two languages—called "interoperability"—is becoming more and more important for developers, particularly as we prepare for the arrival of Swift 3.0.

Self Paced
Self-Paced
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Sep 14th 2026
5-12 Weeks
What is Programming? (Udacity) Udacity
Udacity

What is Programming? (Udacity)

A Coding Dictionary. The world of development can be daunting with all of its lingo and jargon. This course will help demystify the cryptic terms that developers use on a daily basis. You'll learn about how the web functions, what a programmer does each day, why version control is so important, and how communication on the internet happens.

Self Paced
Self-Paced