
Kotlin Programming Language
Learn and Master Mobile App Development with Kotlin
What you'll learn
- Understand the basics of the Kotlin language
- Use the Kotlin editor and tools
- Write loop statements and control the flow of the program
- Create functions and use them
- Apply object-oriented programming and inheritance
- Work with arrays and handle errors
- Integrate with Android Studio
- Lay out pages and work with images and lists
- Save data in Android
- Publish Android apps
About this course
This course teaches the Kotlin language for programming Android apps. It is a modern language compatible with Java, and it is known for making code easier to write in fewer lines. You start with highlights from the course, then an introduction and using the Kotlin editor and tools, followed by the rules of programming in the language across many lectures. Then you learn loop statements, statements that control the flow of the program, functions, object-oriented programming, inheritance, building the program structure, working with arrays, and handling program errors. After that you move on to Android apps, where you learn to set up the work environment, integrate with Android Studio, design pages, work with images and lists and save data, then design services, messages, networks, drawing, maps, project design and app publishing. This course suits beginners in programming and those who know Java. You need no previous experience. The course is divided into many lectures, so you learn each topic on its own and practice it yourself. By the end you will be able to write Kotlin code and build an Android app and publish it.
Expected outcomes
- Master Kotlin for developing modern Android applications.
- Ability to write clean and efficient code.
- Implement Android application projects using Kotlin and Android Studio.
- Understand object-oriented programming and apply it in practical projects.
- Design professional software solutions using Kotlin tools.
Learner reviews
Course content
1Introduction to the World of Kotlin Language
3 lectures
- Course HighlightsExplains installing the Android development tools, including Android Studio and the JDK, creating the first Kotlin project, then an example that shows two images and switches the image when the button is pressed.12:30
- Introduction (1)Introduces the Kotlin fundamentals series and its two levels: the first book on programming rules and the second on Android apps, outlining lessons from variables, loops and conditions to object-oriented programming, inheritance and errors.8:13
- Introduction (2)Introduces the Kotlin language and its strengths, such as being free, open source, simpler than Java and needing fewer lines, and explains the required tools: installing the JDK and then the IntelliJ IDEA environment.16:00
2Using Kotlin Editor and Tools
2 lectures
- Using Kotlin Editor and Tools (1)Explains the first Kotlin rules: variables, their types and scope, and operators, writing a program that adds two numbers and showing the difference between print and println when printing results.9:46
- Using Kotlin Editor and Tools (2)Explains launching IntelliJ IDEA, creating a new Kotlin project linked to the JDK path, then creating a file and writing a main function that prints a sentence to run the first program.10:21
3Programming Rules in Kotlin Language
10 lectures
- Programming Fundamentals in Kotlin (1)Explains the first Kotlin rules: variables, their types and scope, and operators, writing a program that adds two numbers and showing the difference between print and println when printing results.1:54:53
- Programming Fundamentals in Kotlin (2)Explains converting Java code to Kotlin in IntelliJ IDEA in two ways: converting the whole file, or copying Java code and pasting it so it converts automatically, noting how variable declarations differ.8:46
- Programming Fundamentals in Kotlin (3)Explains the difference between val and var in Kotlin: a val variable gets a value once and cannot be reassigned, while var can change its value, along with embedding variables inside strings.17:18
- Programming Fundamentals in Kotlin (4)Explains Kotlin data types: numeric types, Char and Boolean, including how a Char value is written with single quotes, with practical examples of declaring and printing them.11:20
- Programming Fundamentals in Kotlin (5)Explains working with String in Kotlin: declaring a string variable, special characters, and the raw string in triple quotes that prints exactly as written, plus different ways to print.6:41
- Programming Fundamentals in Kotlin (6)Covers Kotlin string functions such as getting length, splitting text, converting to uppercase and replacing characters, plus functions that convert a text value into another type.10:48
- Programming Fundamentals in Kotlin (7)Explains the package and import statements in Kotlin and how they are opposites, then variable naming rules such as not starting with a digit or using symbols, and how to write single-line and multi-line comments.9:34
- Programming Fundamentals in Kotlin (8)Explains Kotlin operators: comparison and arithmetic, the difference between the assignment and equality operators, operation precedence and parentheses, remainder, and the difference between print and println.13:54
- Programming Fundamentals in Kotlin (9)Explains reading user input in Kotlin instead of hardcoding values, converting the entered text to a Double, and the concept of variable scope and where a variable is visible.14:06
- Programming Fundamentals in Kotlin (10)Shows IntelliJ IDEA keyboard shortcuts that speed up coding, file navigation and formatting, and suggests exercises such as adding two numbers and computing the area of a rectangle, square and circle.10:04
4Loop Statements
4 lectures
- Loop Statements (1)Explains loop statements in Kotlin, especially the for loop that repeats an operation a known number of times, with an example printing the loop variable's values using string templates.10:43
- Loop Statements (2)Explains the for loop in Kotlin with an example that sums numbers over a range, using var for reassignment, the neutral element for addition and multiplication, and taking the loop bounds from the user.7:31
- Loop Statements (3)Explains the second form of the for loop in Kotlin, where a variable iterates over each character of a string or each element of a listOf list, with examples of converting letters to upper or lower case.7:24
- Loop Statements (4)Explains the while and do while loops in Kotlin through a multiplication table example, showing that do while runs at least once because it checks the condition after executing.21:41
5Control Statements in Program Flow
2 lectures
- Control Statements in Program Flow (1)Explains if and else conditions in Kotlin, by reading two values from the user and comparing them to print which is larger, leading into the case where they are equal.9:20
- Control Statements in Program Flow (2)Continues control-flow statements, explaining multiple if and else blocks, using braces when there is more than one statement, handling several cases, and comparing values to find the largest.15:52
6Functions
4 lectures
- Functions (1)Introduces functions in Kotlin as a way to organize a program, defining functions that each hold code and a specific action, and calling them from the main function to change the output.12:06
- Functions (2)Explains functions in Kotlin and how parameters pass a value into a function instead of repeating a function for each sentence, then a function that adds two values passed at call time.7:07
- Functions (3)Explains functions that return a value of a given type such as Double, with an example of one function summing subject scores and another computing the percentage, then calling them and printing the result.14:56
- Functions (4)Covers Kotlin function features: default parameters, lambda expressions, inline functions, and a factorial example where the function calls itself.15:24
7Goal-Oriented Programming
3 lectures
- Goal-Oriented Programming (1)Introduces object-oriented programming in Kotlin: grouping functions inside a class and creating an object from it to call them, with a rectangle class example computing area and circumference.14:54
- Goal-Oriented Programming (2)Continues object-oriented programming with a Rectangle class example, moving length and width from function level to class level to compute area and perimeter, and creating an object and setting its values.7:55
- Goal-Oriented Programming (3)Explains the class constructor for giving an object initial values when created, having several constructors with different parameters, then the data class that automatically provides get and set functions and object printing.20:12
8Inheritance
2 lectures
- Inheritance (1)Explains inheritance in Kotlin as a key object-oriented feature, gathering shared members in a parent class, with an example of a manager inheriting the id, name and email fields from an employee.11:57
- Inheritance (2)Explains inheritance in Kotlin and function overriding in a subclass, including the need to mark the parent function as open, using an employee and manager example.5:53
9Building Program Structure
2 lectures
- Program Structure Building (1)Explains the abstract class in Kotlin: a function without a body means no object can be created from its class, and it must be implemented in the inheriting classes, with shape and animal examples.12:20
- Program Structure Building (2)Continues the abstract class and explains the interface as a special case of it, redoing the geometric shapes example with an interface that forces classes to implement the area and perimeter functions.6:26
10Working with Arrays
1 lectures
- Working with ArraysExplains arrays in Kotlin as a collection of elements of the same type, why they are used instead of many separate variables, and how to create one and print its elements by index and with a loop.16:03
11Program Errors and Handling Them
1 lectures
- Program Errors and HandlingExplains the types of program errors: syntax errors caught by the editor, runtime errors such as division by zero, and logic errors, and how to handle them with try and catch and a message to the user.10:52
12Setting Up the Work Environment
3 lectures
- Setting Up the Work Environment (1)Introduces the contents of the second book on Android programming with Kotlin, outlining its chapters from tool setup and multiple pages to data exchange, small projects and publishing the app.8:14
- Setting Up the Work Environment (2)Explains downloading and installing Android Studio with the Android SDK, then creating the first project by setting its name and path, and waiting for it to be prepared until the design and code pages appear.24:20
- Setting Up the Work Environment (3)Finishes the work environment setup by running the first Android project on the emulator, noting that the first launch takes a while and that the emulator's specs can be customized later.7:15
13Integration with Android Studio
2 lectures
- Integration with Android Studio (1)Introduces the Android Studio interface, its settings and project components, including the Kotlin file and the interface file, and explains running the program on the emulator and preparing the required tools.18:38
- Integration with Android Studio (2)Continues introducing Android Studio, explaining emulator setup, choosing the device and Android level, running the app on a real phone, and the project window and its components.9:02
14Components and Page of an Android Application
2 lectures
- Components and Android Application Page (1)Explains the components of an Android app: the design page, the code page and the Activity class, how the page is linked to its layout, and then programming a button to perform an action when pressed.23:06
- Components and Android Application Page (2)Continues the app components by programming several buttons, each with its own onClick function, taking values from input fields and performing addition, subtraction, multiplication and division.24:35
15Calling Pages and Applications
3 lectures
- Invoking Pages and Applications (1)Explains building an Android project with more than one page (Activity), calling a second page from the main page using an Intent, and passing the user's input to it.13:11
- Invoking Pages and Applications (2)Continues calling pages by adding a name input field, sending the value the user types from the main page to a second page through an Intent, and displaying it there.9:27
- Invoking Pages and Applications (3)Explains calling ready-made apps from your app using an Intent with ACTION_VIEW, such as opening the Google or Amazon website in the browser, and changing the action to make a phone call.8:18
16Page Layout
4 lectures
- Page Layout (1)Explains that the Layout controls the look of an app and reviews common types such as Grid and Table for arranging buttons and components in rows and columns, leading into the topic of devices.8:33
- Page Layout (2)Explains using ready-made Templates in Android Studio that generate an app with pages and navigation, such as the bottom navigation template, and how the menu buttons work and change the displayed message.9:21
- Page Layout (3)Explains adding components to a page dynamically from code, creating elements such as TextView and Button inside a vertical LinearLayout when the page starts, changing their text and linking a button to an action.6:45
- Page Layout (4)Explains how an app captures keyboard key presses through an event listener, and how to use when to identify the pressed key (left, right, up or down) and show a matching message.9:26
17Page Design Tools
1 lectures
- Page Design ToolsReviews page design tools in Android Studio, such as input fields of different types, the hint property, RadioGroup radio buttons and displaying a web page, with some of them programmed.16:32
18Working with Images and Menus
3 lectures
- Working with Images and Lists (1)Explains working with images in Android by placing them in the drawable folder and using ImageView, and changing the displayed image at runtime when a button is pressed through setImageResource.7:03
- Working with Images and Lists (2)Explains building an app that teaches letters to children using a ViewPager to show pages, with an Adapter class that controls the pages and displays capital and small letters from a list.6:41
- Working with Images and Lists (3)Builds an options Menu in an Android app with Kotlin and links each option to a function that runs when selected, such as opening Google or Yahoo instead of only showing a message.8:42
19Data Storage in Android
2 lectures
- Data Storage in Android (1)Starts the topic of saving data in Android, explaining the first method of saving settings such as font size and retrieving them later, and leading into saving data in a text file.8:26
- Data Storage in Android (2)Explains saving data to files in Android by writing user text under a chosen file name and reading it back, with a small change to save to external storage instead of internal storage.6:43
20Designing Android Services
2 lectures
- Designing Android Services (1)Explains designing Android services in Kotlin, by creating a MyService class that extends Service and runs in the background, with the interface design and a fix for a Context import error.14:04
- Designing Android Services (2)Explains using ready-made web services in an Android app, such as a weather information service for a city, including adding the internet permission in AndroidManifest and showing the result in the app.14:36
21Interacting with Services and Resources
4 lectures
- Messages and NetworksExplains how to send SMS messages and emails from an Android app by entering the phone number and message and calling a send function from a button, then showing a confirmation message to the user.12:21
- DrawingExplains drawing in Android using the Graphics class and Canvas, drawing lines, circles, ovals and dashed lines by specifying coordinates, colors and pen size.14:56
- Project ResourcesExplains project resources in Android, such as the drawable folder for images and the strings values file, how to access them from code, and linking interface elements to them so the text changes when the resource changes.15:54
- Map Interaction ServicesShows how to use Google Maps in an Android app: getting an API key and placing it in the project, creating a map Activity and running it, and relying on location coordinates.9:29
22Project Design and Application Deployment
3 lectures
- Project Design (1)Explains a small Android project that converts currency between dollar and euro, designing the interface with an input field and buttons, and linking the buttons to the code that calculates the equivalent value.7:02
- Project Design (2)Continues the small projects by designing the converter interface with nested LinearLayout, then building a calculator with the same idea, handling bracket errors and running the app.12:21
- Application DeploymentExplains publishing Android apps and producing the app as a usable APK file, and ways to distribute it: installing it manually on a phone, or uploading it to Google Play for people to find.8:31
23Accessories
1 attachments
- Download Attachments Here
Instructor

Eng. Azab Mohamed Azab
This course is part of the diploma




