SlideShare a Scribd company logo
This work is licensed under the Apache 2.0 License
What are Android Study Jams?
Android Study Jams are community-organized study groups
for people to learn how to build Android apps
using an online training course*
* Note: One session will utilize Kotlin
Koans material
This work is licensed under the Apache 2.0 License
New to Programming Track
Pre-requisites
Android Basics in Kotlin Course (here) with six
pathways currently available! More to come.
Learn the basics of building Android apps with the
Kotlin programming language and develop a collection
of simple apps to start your journey as an Android
developer!
● Basic computer
literacy
● Basic math skills
Curriculum used
This work is licensed under the Apache 2.0 License
What will you learn?
2
3
4
1 Introduction to
Kotlin
Create your
first Android
app
Build a basic layout
Add a button to an
app
(3 hours)
(1 hour)
(1 hour)
(1 hour)
Learn to code in Kotlin, a modern
programming language that helps
developers be more productive.
Learn to create and run your first
Android app in Android Studio.
Learn the basics of layouts in Android by
creating your very own birthday card app!
Learn how to use classes, objects, and
conditionals to create an interactive dice
roller app.
Badges
Earn badges
at the end of
each
pathway!
New to Programming Track
This work is licensed under the Apache 2.0 License
What will you learn?
6
5 Get user input
Display a
scrollable list
(3 hours)
(3 hours)
Learn how to get user input within an app
by building a tip calculator app.
Learn how to display a list of text
and images in an app.
Badges
More pathways for this course will be released in the
future!
New to Programming Track
This work is licensed under the Apache 2.0 License
First learn the essentials of the Kotlin programming language. Then learn the
fundamentals of Android development and best practices by building a variety
of Android apps in Kotlin.
Start off with Kotlin Koans exercises to become familiar with Kotlin syntax and
language features. If attendees are already familiar with the Kotlin programming
language, they can skip this step. Then begin the Android Kotlin Fundamentals
course which has ten pathways available.
Pre-requisites
● Prior programming experience in an object-oriented programming
language
● Familiar with how to use an IDE
● Familiar with GitHub
Curriculum used
● Kotlin Koans (here)
● Android Kotlin Fundamentals
(here)
Prior Programming Experience Track
This work is licensed under the Apache 2.0 License
1
2
3
What will you learn?
Kotlin Koans (2 hours)
Go through a series of exercises to
become familiar with basic Kotlin
language features.
Build your first
app
Install and set up Android Studio, so you
build your first "Hello, World!" Android
app in Kotlin.
(0.5
hours)
Layouts
Create different types of layouts, add
user interactivity, and use data binding
while creating two apps.
(1 hours)
Build an
interactive app
Learn the basic anatomy of an Android app
project, how to add images to your app, and
how to enable backward compatibility of an
app while creating a Dice Roller app.
(1 hours)
(No badge
for pre-
work)
Badges
Earn
badges
at the end
of each
pathway!
Prior Programming Experience
Track
Pre-
Work
This work is licensed under the Apache 2.0 License
4
5
6
7
What will you learn?
Navigation (3 hours)
Learn how multi-screen navigation works by
creating a fragment, define navigation paths,
and start an external activity through
developing a trivia app.
Activity and
Fragment
lifecycles
Learn about Activity and Fragment lifecycles,
how to handle complex lifecycle situations, and
use logging to help debug and track the state of
the app by creating the Dessert Clicker app that
will preserve its state on rotation.
(2 hours)
Architecture
components
Learn about ViewModel, LiveData, data binding
with ViewModel and LiveData, and LiveData
transformations by completing a charades game
app.
(3 hours)
Databases and
RecyclerView
Create a database using the Room library, use
coroutines to simplify asynchronous programming,
and display a list with RecyclerView in the
TrackMySleep app.
(4 hours)
Badges
Prior Programming Experience
Track
This work is licensed under the Apache 2.0 License
8
9
10
What will you learn?
Connect to the
internet
(2 hours)
Learn how to get data and images from the
internet and display them in the app by
developing a MarsRealEstate app.
Repository and
WorkManager
Create a repository, add an offline cache,
and schedule background tasks with
WorkManager by completing an app called
DevBytes, handling background processes
with best practices.
(2 hours)
Design for
everyone
Learn the basics of Android's styling
system, how to apply Material Design
principles to the UI of your app, and how
to make your app more accessible for all
users by creating a Google Developer
Groups Finder app.
(2 hours)
Prior Programming Experience
Track
Badges
This work is licensed under the Apache 2.0 License
Learning Objectives
० Learn the essentials of the Kotlin programming language
० Build a variety of Android apps
० Best practices for Android development
० Discover resources to continue learning
This work is licensed under the Apache 2.0 License
What’s your favorite programming
language and why?
This work is licensed under the Apache 2.0 License
Feature Highlight
No more nulls. The big
difference between
Kotlin and Java
This work is licensed under the Apache 2.0 License
Null Safety is here to stay
• Tony Hoare, who famously developed
the Quick Sort algorithm regards the
null reference as a ‘billion dollar
mistake’
• Kotlin partially does away with the null
reference by introducing a type system
that differentiates between nullable and
non-nullable references. For example:
This work is licensed under the Apache 2.0 License
Concept Overview
What is Kotlin?
This work is licensed under the Apache 2.0 License
Kotlin is a modern programming language that
helps developers be more productive.
This work is licensed under the Apache 2.0 License
Android Development is Kotlin-First
This work is licensed under the Apache 2.0 License
Let’s dive into
some code..
This work is licensed under the Apache 2.0 License
fun main() {
println("Hello world!")
}
What does this code
do?
This work is licensed under the Apache 2.0 License
fun main() {
println("Hello world!")
}
What does this code
do?
>>> Hello world!
This work is licensed under the Apache 2.0 License
fun main() {
println("Hello world!")
}
What do you notice about
Kotlin?
This work is licensed under the Apache 2.0 License
fun add(a: Int, b: Int): Int {
return a + b
}
fun display(): Unit {
println("Welcome")
}
Parameters and Return Type
This work is licensed under the Apache 2.0 License
mutable variable var counter: Int = 5
val name: String = "Rebecca"
immutable variable
This work is licensed under the Apache 2.0 License
var length = 5
val message = "Welcome"
What’s interesting about
these variable
declarations?
This work is licensed under the Apache 2.0 License
if (score < 20) {
println("Low")
} else if (score < 70) {
println("Medium")
} else {
println("High")
}
when (x) {
0 -> endGame()
1 -> moveNext()
2 -> skipTurn()
}
This work is licensed under the Apache 2.0 License
side
// This is the Square class
// definition
class Square(val side: Int)
// This is a Square instance
val s = Square(10)
println(s.side)
Classes
This work is licensed under the Apache 2.0 License
val numList = listOf(1, 2, 3)
val numSet = setOf(4, 5, 6)
val numMap = mapOf("a" to 10, "b" to 20, "b" to 30)
Collections
This work is licensed under the Apache 2.0 License
Break
Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
Google DSC Android Study Jams Session 1
This work is licensed under the Apache 2.0 License
Let’s get started
This work is licensed under the Apache 2.0 License
Start here:
g.co/android/studyjams
Collect your first
badge!
This work is licensed under the Apache 2.0 License
Carrie Sawyer
Build Your First
App Pathway
Build an Interactive
App
Layouts Pathway
Create a Developer
Profile
This work is licensed under the Apache 2.0 License
New to Programming
track
Start Course
This work is licensed under the Apache 2.0 License
New to programming? Start Here
Go to g.co/android/studyjams
Start Android Basics in Kotlin Course
Work on Unit 1, Pathway 1
This work is licensed under the Apache 2.0 License
Prior Programming
Experience track:
Start Kotlin Koans
This work is licensed under the Apache 2.0 License
Exercises
Check Error
Messages
Run Code &
Check
Output
Re-read
Instructi
ons
Show
Answers
Introduction, Conventions,
Collections
Go to g.co/android/studyjams and start Kotlin Koans
Coders: Start Here
This work is licensed under the Apache 2.0 License
Thanks!
This work is licensed under the Apache 2.0 License
Share what you’ve
learned with
#AndroidStudyJams
This work is licensed under the Apache 2.0 License
Additional Resources
Online curriculum
● Android Basics in Kotlin
Course
● Android Kotlin Fundamentals
Course
Android Resources
● Official Android Developers website
● Android Developers YouTube channel
● Android Developers Twitter
● Android Developers Medium blog
● Android Developers Official blog
● Android Developers Newsletter
● Android Codelabs
● Android GitHub page
Kotlin Language Resources
● Official Kotlin Language website
● Kotlin Learn by Example
● Kotlin Vocabulary series
Version
1.0
This work is licensed under the Apache 2.0 License
Let’s Play!
To find slides, content, links and more relating to
Android Study Jams visit the repo 👉
github.com/beauwilliams/Android-Study-Jams

More Related Content

PPTX
Android Study Jams - New to Programming [27th december]
PragatiVerma31
 
PPTX
DSC Android Study Jam
DSC GVP
 
PPTX
DSC ASEB Android Study Jams 2020: New to Programming 3
Aravind V. Nair
 
PPTX
Cross Platform Application Development Using Flutter
Abhishek Kumar Gupta
 
PPTX
Flutter
Himanshu Singh
 
PDF
ML Kit , Cloud FF GDSC MESCOE.pdf
AkankshaPathak42
 
PDF
Flutter overview - advantages & disadvantages for business
Bartosz Kosarzycki
 
Android Study Jams - New to Programming [27th december]
PragatiVerma31
 
DSC Android Study Jam
DSC GVP
 
DSC ASEB Android Study Jams 2020: New to Programming 3
Aravind V. Nair
 
Cross Platform Application Development Using Flutter
Abhishek Kumar Gupta
 
ML Kit , Cloud FF GDSC MESCOE.pdf
AkankshaPathak42
 
Flutter overview - advantages & disadvantages for business
Bartosz Kosarzycki
 

What's hot (20)

PDF
IPhone Web Development With Grails from CodeMash 2009
Christopher Judd
 
PDF
TensorFlow - La IA detrás de Google
Israel Blancas
 
PPTX
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
MobileFest2018
 
PPTX
Google I/O 2018 Extended, Baghdad - Flutter
AbdElmomenKadhim
 
PPTX
Introduction to flutter's basic concepts
Kumaresh Chandra Baruri
 
PPTX
Flutter festival Info session -2022
Apoorv Pandey
 
PDF
Flutter vs React Native 2019
Rockers Technology
 
PDF
TensorFlow Lite for mobile & IoT
Mia Chang
 
PPTX
All a flutter about Flutter.io
Steven Cooper
 
PPTX
Choose flutter
SamuelAdetunji2
 
PPTX
Flutter Intro
Vladimir Parfenov
 
PDF
Flutter101
인수 장
 
PPTX
Flutter festival - Write your first Flutter application
Apoorv Pandey
 
PPT
Mobile Devolpment Slides
Luke Angel
 
PDF
What is flutter and why should i care?
Sergi Martínez
 
PDF
Flutter - DevFestDC
Michael R. Traverso
 
PPTX
Flutter
Mohit Nainwal
 
PPT
T2 Web Framework
Shinpei Ohtani
 
PDF
Build beautiful native apps in record time with flutter
RobertLe30
 
PDF
Cross-Platform App Development with Flutter, Xamarin, React Native
Korhan Bircan
 
IPhone Web Development With Grails from CodeMash 2009
Christopher Judd
 
TensorFlow - La IA detrás de Google
Israel Blancas
 
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
MobileFest2018
 
Google I/O 2018 Extended, Baghdad - Flutter
AbdElmomenKadhim
 
Introduction to flutter's basic concepts
Kumaresh Chandra Baruri
 
Flutter festival Info session -2022
Apoorv Pandey
 
Flutter vs React Native 2019
Rockers Technology
 
TensorFlow Lite for mobile & IoT
Mia Chang
 
All a flutter about Flutter.io
Steven Cooper
 
Choose flutter
SamuelAdetunji2
 
Flutter Intro
Vladimir Parfenov
 
Flutter101
인수 장
 
Flutter festival - Write your first Flutter application
Apoorv Pandey
 
Mobile Devolpment Slides
Luke Angel
 
What is flutter and why should i care?
Sergi Martínez
 
Flutter - DevFestDC
Michael R. Traverso
 
Flutter
Mohit Nainwal
 
T2 Web Framework
Shinpei Ohtani
 
Build beautiful native apps in record time with flutter
RobertLe30
 
Cross-Platform App Development with Flutter, Xamarin, React Native
Korhan Bircan
 
Ad

Similar to Google DSC Android Study Jams Session 1 (20)

PPTX
Android Study Jam - Info Session
AITIKDANDAPAT
 
PPTX
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM
GDSCBVCOENM
 
PPTX
Intro session kotlin
MohammedMehdiPatel
 
PPTX
Info session on android study jams
ArjavDesai3
 
PPTX
Prior programming experience track
AshwinRaj57
 
PPTX
Android study jam iiitv kick-off sesson
AshutoshSingh1124
 
PDF
Android study jams info session 2021 new GDSC GECBSP
Domendra Sahu
 
PPTX
Android study jams 1
DSCBVRITH
 
PPTX
Android study jams 1
DSCBVRITH
 
PPTX
Android study jams 1
NancyMariaAS
 
PDF
Android study jams
GDSCIIITR
 
PPTX
Android Study Jam - Introduction
HitanshDoshi
 
PPTX
Introduction to android study jams
Google Developer Student Clubs - UIT RGPV, Bhopal
 
PPTX
Vit bhopal android study jams 2.0 session 1
ishik1
 
PDF
Compose Camp Session 1.pdf
AbhishekRajoraB20CS0
 
PDF
ASJ intro session
SEJALGUPTA44
 
PPTX
Week 1 - Android Study Jams
JoannaCamille2
 
PPTX
Android Study Jams Session 01
DSC BIT Mesra
 
PPTX
Android study jams 2021 [collab] [master]
GDSCIIITBbsr
 
PPTX
DSC ASEB Android Study Jams 2020: New to Programming 1
Aravind V. Nair
 
Android Study Jam - Info Session
AITIKDANDAPAT
 
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENM
GDSCBVCOENM
 
Intro session kotlin
MohammedMehdiPatel
 
Info session on android study jams
ArjavDesai3
 
Prior programming experience track
AshwinRaj57
 
Android study jam iiitv kick-off sesson
AshutoshSingh1124
 
Android study jams info session 2021 new GDSC GECBSP
Domendra Sahu
 
Android study jams 1
DSCBVRITH
 
Android study jams 1
DSCBVRITH
 
Android study jams 1
NancyMariaAS
 
Android study jams
GDSCIIITR
 
Android Study Jam - Introduction
HitanshDoshi
 
Introduction to android study jams
Google Developer Student Clubs - UIT RGPV, Bhopal
 
Vit bhopal android study jams 2.0 session 1
ishik1
 
Compose Camp Session 1.pdf
AbhishekRajoraB20CS0
 
ASJ intro session
SEJALGUPTA44
 
Week 1 - Android Study Jams
JoannaCamille2
 
Android Study Jams Session 01
DSC BIT Mesra
 
Android study jams 2021 [collab] [master]
GDSCIIITBbsr
 
DSC ASEB Android Study Jams 2020: New to Programming 1
Aravind V. Nair
 
Ad

Recently uploaded (20)

PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Software Development Methodologies in 2025
KodekX
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 

Google DSC Android Study Jams Session 1

  • 1. This work is licensed under the Apache 2.0 License What are Android Study Jams? Android Study Jams are community-organized study groups for people to learn how to build Android apps using an online training course* * Note: One session will utilize Kotlin Koans material
  • 2. This work is licensed under the Apache 2.0 License New to Programming Track Pre-requisites Android Basics in Kotlin Course (here) with six pathways currently available! More to come. Learn the basics of building Android apps with the Kotlin programming language and develop a collection of simple apps to start your journey as an Android developer! ● Basic computer literacy ● Basic math skills Curriculum used
  • 3. This work is licensed under the Apache 2.0 License What will you learn? 2 3 4 1 Introduction to Kotlin Create your first Android app Build a basic layout Add a button to an app (3 hours) (1 hour) (1 hour) (1 hour) Learn to code in Kotlin, a modern programming language that helps developers be more productive. Learn to create and run your first Android app in Android Studio. Learn the basics of layouts in Android by creating your very own birthday card app! Learn how to use classes, objects, and conditionals to create an interactive dice roller app. Badges Earn badges at the end of each pathway! New to Programming Track
  • 4. This work is licensed under the Apache 2.0 License What will you learn? 6 5 Get user input Display a scrollable list (3 hours) (3 hours) Learn how to get user input within an app by building a tip calculator app. Learn how to display a list of text and images in an app. Badges More pathways for this course will be released in the future! New to Programming Track
  • 5. This work is licensed under the Apache 2.0 License First learn the essentials of the Kotlin programming language. Then learn the fundamentals of Android development and best practices by building a variety of Android apps in Kotlin. Start off with Kotlin Koans exercises to become familiar with Kotlin syntax and language features. If attendees are already familiar with the Kotlin programming language, they can skip this step. Then begin the Android Kotlin Fundamentals course which has ten pathways available. Pre-requisites ● Prior programming experience in an object-oriented programming language ● Familiar with how to use an IDE ● Familiar with GitHub Curriculum used ● Kotlin Koans (here) ● Android Kotlin Fundamentals (here) Prior Programming Experience Track
  • 6. This work is licensed under the Apache 2.0 License 1 2 3 What will you learn? Kotlin Koans (2 hours) Go through a series of exercises to become familiar with basic Kotlin language features. Build your first app Install and set up Android Studio, so you build your first "Hello, World!" Android app in Kotlin. (0.5 hours) Layouts Create different types of layouts, add user interactivity, and use data binding while creating two apps. (1 hours) Build an interactive app Learn the basic anatomy of an Android app project, how to add images to your app, and how to enable backward compatibility of an app while creating a Dice Roller app. (1 hours) (No badge for pre- work) Badges Earn badges at the end of each pathway! Prior Programming Experience Track Pre- Work
  • 7. This work is licensed under the Apache 2.0 License 4 5 6 7 What will you learn? Navigation (3 hours) Learn how multi-screen navigation works by creating a fragment, define navigation paths, and start an external activity through developing a trivia app. Activity and Fragment lifecycles Learn about Activity and Fragment lifecycles, how to handle complex lifecycle situations, and use logging to help debug and track the state of the app by creating the Dessert Clicker app that will preserve its state on rotation. (2 hours) Architecture components Learn about ViewModel, LiveData, data binding with ViewModel and LiveData, and LiveData transformations by completing a charades game app. (3 hours) Databases and RecyclerView Create a database using the Room library, use coroutines to simplify asynchronous programming, and display a list with RecyclerView in the TrackMySleep app. (4 hours) Badges Prior Programming Experience Track
  • 8. This work is licensed under the Apache 2.0 License 8 9 10 What will you learn? Connect to the internet (2 hours) Learn how to get data and images from the internet and display them in the app by developing a MarsRealEstate app. Repository and WorkManager Create a repository, add an offline cache, and schedule background tasks with WorkManager by completing an app called DevBytes, handling background processes with best practices. (2 hours) Design for everyone Learn the basics of Android's styling system, how to apply Material Design principles to the UI of your app, and how to make your app more accessible for all users by creating a Google Developer Groups Finder app. (2 hours) Prior Programming Experience Track Badges
  • 9. This work is licensed under the Apache 2.0 License Learning Objectives ० Learn the essentials of the Kotlin programming language ० Build a variety of Android apps ० Best practices for Android development ० Discover resources to continue learning
  • 10. This work is licensed under the Apache 2.0 License What’s your favorite programming language and why?
  • 11. This work is licensed under the Apache 2.0 License Feature Highlight No more nulls. The big difference between Kotlin and Java
  • 12. This work is licensed under the Apache 2.0 License Null Safety is here to stay • Tony Hoare, who famously developed the Quick Sort algorithm regards the null reference as a ‘billion dollar mistake’ • Kotlin partially does away with the null reference by introducing a type system that differentiates between nullable and non-nullable references. For example:
  • 13. This work is licensed under the Apache 2.0 License Concept Overview What is Kotlin?
  • 14. This work is licensed under the Apache 2.0 License Kotlin is a modern programming language that helps developers be more productive.
  • 15. This work is licensed under the Apache 2.0 License Android Development is Kotlin-First
  • 16. This work is licensed under the Apache 2.0 License Let’s dive into some code..
  • 17. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What does this code do?
  • 18. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What does this code do? >>> Hello world!
  • 19. This work is licensed under the Apache 2.0 License fun main() { println("Hello world!") } What do you notice about Kotlin?
  • 20. This work is licensed under the Apache 2.0 License fun add(a: Int, b: Int): Int { return a + b } fun display(): Unit { println("Welcome") } Parameters and Return Type
  • 21. This work is licensed under the Apache 2.0 License mutable variable var counter: Int = 5 val name: String = "Rebecca" immutable variable
  • 22. This work is licensed under the Apache 2.0 License var length = 5 val message = "Welcome" What’s interesting about these variable declarations?
  • 23. This work is licensed under the Apache 2.0 License if (score < 20) { println("Low") } else if (score < 70) { println("Medium") } else { println("High") } when (x) { 0 -> endGame() 1 -> moveNext() 2 -> skipTurn() }
  • 24. This work is licensed under the Apache 2.0 License side // This is the Square class // definition class Square(val side: Int) // This is a Square instance val s = Square(10) println(s.side) Classes
  • 25. This work is licensed under the Apache 2.0 License val numList = listOf(1, 2, 3) val numSet = setOf(4, 5, 6) val numMap = mapOf("a" to 10, "b" to 20, "b" to 30) Collections
  • 26. This work is licensed under the Apache 2.0 License Break
  • 35. This work is licensed under the Apache 2.0 License Let’s get started
  • 36. This work is licensed under the Apache 2.0 License Start here: g.co/android/studyjams Collect your first badge!
  • 37. This work is licensed under the Apache 2.0 License Carrie Sawyer Build Your First App Pathway Build an Interactive App Layouts Pathway Create a Developer Profile
  • 38. This work is licensed under the Apache 2.0 License New to Programming track Start Course
  • 39. This work is licensed under the Apache 2.0 License New to programming? Start Here Go to g.co/android/studyjams Start Android Basics in Kotlin Course Work on Unit 1, Pathway 1
  • 40. This work is licensed under the Apache 2.0 License Prior Programming Experience track: Start Kotlin Koans
  • 41. This work is licensed under the Apache 2.0 License Exercises Check Error Messages Run Code & Check Output Re-read Instructi ons Show Answers Introduction, Conventions, Collections Go to g.co/android/studyjams and start Kotlin Koans Coders: Start Here
  • 42. This work is licensed under the Apache 2.0 License Thanks!
  • 43. This work is licensed under the Apache 2.0 License Share what you’ve learned with #AndroidStudyJams
  • 44. This work is licensed under the Apache 2.0 License Additional Resources Online curriculum ● Android Basics in Kotlin Course ● Android Kotlin Fundamentals Course Android Resources ● Official Android Developers website ● Android Developers YouTube channel ● Android Developers Twitter ● Android Developers Medium blog ● Android Developers Official blog ● Android Developers Newsletter ● Android Codelabs ● Android GitHub page Kotlin Language Resources ● Official Kotlin Language website ● Kotlin Learn by Example ● Kotlin Vocabulary series Version 1.0
  • 45. This work is licensed under the Apache 2.0 License Let’s Play! To find slides, content, links and more relating to Android Study Jams visit the repo 👉 github.com/beauwilliams/Android-Study-Jams