Advanced Programming in Kotlin (Coursera)

Offered by Meta,
Advanced Programming in Kotlin (Coursera)

In this course, you will expand your Kotlin fluency by exploring the advanced concepts used by many Kotlin programmers. You will learn the more advanced features of Kotlin that are required to build a robust, functional Android app. Each week’s learning provides ample opportunity for you to practice and apply what you learn as you learn it.

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

By the end of this course, you will have an array of advanced programming tools to help you engineer solutions for your future Kotlin projects, progressing you toward a better understanding of Android development. On successful completion of the course you will be able to:
Implement an Android application with an Activity
Implement advanced object-oriented features in Android
Use mocks and fakes to perform unit testing in Android
Use a Lambda expression to define a function as an object
Use collection processing methods for multistep collection processing
To be successful in this course, you require a foundational understanding of Kotlin programming fundamentals and of creating a UI in Android Studio.

Syllabus

WEEK 1
Kotlin and Android
Learn how to work with object declarations and experience how they are used. Develop your understanding of companion objects, classes and constant values. In addition, have a walk-through of declaring an object in Android and explore what is involved with implementing a function start for an Activity.

WEEK 2
Advanced Object-Oriented Features
Learn how to add methods to classes using extension functions while defining and using extension functions in Android. Then explore functions for different kinds of collection processing using map, filter, and fold.

WEEK 3
Functional programming
Learn about Lambda expressions, Function types, Higher-order functions and collections processing. Explore how functions can be used as objects, how to use lambda expressions to define functions as objects and how to define and use higher-order and repeat functions. Finally, exploited using collection processing methods with multistep collection processing.

WEEK 4
Final project
Demonstrate your coding skills by upgrading and adding functionality to a Little Lemon menu app so that it can work with a list and can sort and filter. In addition, participate in peer reviews, and complete the final course assessment.

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

Related Courses

Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Oct 5th 2026
4 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Sep 28th 2026
5-12 Weeks
Estruturas de dados Python (Coursera) Coursera
University of Michigan

Estruturas de dados Python (Coursera)

Este curso apresentará as estruturas de dados centrais da linguagem de programação Python. Vamos superar os fundamentos da programação de procedimentos e explorar como podemos usar as estruturas de dados integradas do Python, como listas, dicionários e tuplas, para realizar análises de dados cada vez mais complexas. Este curso cobrirá os capítulos 6 a 10 do livro “Python para Todos”. Este curso aborda o Python 3.

Oct 5th 2026
5-12 Weeks
IBM z/OS Rexx Programming (Coursera) Coursera
IBM

IBM z/OS Rexx Programming (Coursera)

This course is designed to teach you the basic skills required to write programs using the REXX language in z/OS. The course covers the TSO extensions to REXX and interaction with other environments such as the MVS console, running REXX in batch jobs, and compiling REXX. A total of 11 hands-on labs on an IBM Z server (via remote Skytap access) are part of this course.

Oct 5th 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Oct 5th 2026
4 Weeks
Computer Science: Programming with a Purpose (Coursera) Coursera
Princeton University

Computer Science: Programming with a Purpose (Coursera)

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.

Oct 5th 2026
5-12 Weeks
Python Data Structures (Coursera) Coursera
University of Michigan

Python Data Structures (Coursera)

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

Sep 28th 2026
5-12 Weeks
Android Architecture/Multimedia Framework (Coursera) Coursera
Board Infinity

Android Architecture/Multimedia Framework (Coursera)

This is an Intermediate Course intended for learners passionate about Android Development and have basic knowledge of Android Development. Embark on a comprehensive exploration of Android's architectural components, complemented by an in-depth study of its multimedia frameworks. Designed for software developers, mobile app enthusiasts, and tech professionals, this course offers profound insights into the Android operating system's inner mechanics.

Oct 5th 2026
4 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Oct 5th 2026
4 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will develop an app from scratch, assuming a basic knowledge of Java, and learn how to set up Android Studio, work with various Activities and create simple user interfaces to make your apps run smoothly.

Sep 28th 2026
5-12 Weeks
Introducción a Java (Coursera) Coursera
Universidad Nacional Autónoma de México

Introducción a Java (Coursera)

Me llamo Elisa Viso y una de mis pasiones es la de programar y enseñar a programar. El lenguaje Java es uno de los que más me ha gustado en mis 45 años que llevo programando. Si bien te podrá parecer un poco complicado empezar a programar en Java, una vez que cubras los conceptos básicos verás qué rápido se avanza. Java, como todos los lenguajes de programación bien hechos, te dejan hacer cualquier cosa (algunas de ellas con más trabajo que en otros lenguajes y otras casi directamente de cómo piensas la solución al problema).

Oct 5th 2026
5-12 Weeks