Android Study Jams - New to Programming [27th december]PragatiVerma31
Hey Droids!
We are coming up with our next session of Android Study Jams.
Join us on ️ December 27, 2020, 4 PM - 6 PM
What are Android Study Jams?
Android Study Jams are community-organized study groups for students and professionals to learn how to build Android apps in the Kotlin programming language, using a curriculum provided by Google.
Know more about it here: https://g.co/android/studyjams
There are two tracks available:
Track 1: New to Programming Track - For people who are new to programming, follows the Android Basics in Kotlin course.
Track 2: Prior Programming Track - For people who already have programming experience, follows the Android Kotlin Fundamental course. Also includes a pre-work section using Kotlin Koans from JetBrains for those who are new to Kotlin.
During the course, you will get a general overview of mobile development for Android, learn basic programming concepts as well as core vocabulary and concepts in Android, get hands-on experience building a small app using the Kotlin language, and understand what opportunities exist for you in the vibrant Berlin tech scene as an Android programmer.
Note : This session will be appropriate for anyone interested in learning more about the field and prior programming knowledge will not be necessary.
Our speakers will tell you in detail how you can learn android in kotlin and after that each unit has badges earn the 10 badges and get a certificate direct from Google.
Android Study Jam for DSC JSS will be conducted by Dheeraj Kotwani, our Android Study Jam Facilitator. Reach out to him on the following links:
Instagram: https://www.instagram.com/dheeraj_kotwani/
GitHub: https://github.com/dheerajkotwani
Twitter: https://twitter.com/kotwani_dheeraj
LinkedIn: https://www.linkedin.com/in/dheerajkotwani/
Also, join us on discord to stay updated and seek guidance from the best in the arena of android development.
Discord Link: https://bit.ly/DSCJSSATEN-DISCORD
DSC ASEB Android Study Jams 2020: New to Programming 3Aravind V. Nair
Slides from the event. Visit https://bit.ly/DSC-ASEB-ASJ-NP3 to know more.
The design of your app can make or break the user experience. Take a break from the technical side of things and step into the world of Android UI design! The third session looks at the other side of Android development: UI Design. Explore various aspects of UI design like app styles, app themes, icons, and more. This session also takes on another important concept in Kotlin, building upon objects and classes from the last session.
Finally, you'll build another interactive, yet more elegant app employing the concepts covered in this pathway.
See you there!
Flutter is Google's Open Source UI Software Development Kit that enables us to build cross-platform apps for Android, iOS, Linux, Mac, Windows, and Google Fuschia from a Single Codebase. With many companies switching over to a Flutter Codebase to hasten development time, reduce roles, and work from a single codebase, Flutter has been growing at an exponential rate in the market and will definitely expand even more in the upcoming times. Alibaba, Google Ads, Google Pay, Hamilton Musical are a few apps in the ever-expanding codebase of Flutter.
Lets Flutter - Talk on flutter in Google IO Extended in Google Developer Group Mumbai.
This has a detailed view of flutter and comparison of React native vs Flutter vs Native app development
Flutter overview - advantages & disadvantages for businessBartosz Kosarzycki
After half a year experience with Fluttter, two internal projects and one commercial one, we'd like to share our view on what FLUTTER as a framework gives developers and businesses alike.
Android Study Jams - New to Programming [27th december]PragatiVerma31
Hey Droids!
We are coming up with our next session of Android Study Jams.
Join us on ️ December 27, 2020, 4 PM - 6 PM
What are Android Study Jams?
Android Study Jams are community-organized study groups for students and professionals to learn how to build Android apps in the Kotlin programming language, using a curriculum provided by Google.
Know more about it here: https://g.co/android/studyjams
There are two tracks available:
Track 1: New to Programming Track - For people who are new to programming, follows the Android Basics in Kotlin course.
Track 2: Prior Programming Track - For people who already have programming experience, follows the Android Kotlin Fundamental course. Also includes a pre-work section using Kotlin Koans from JetBrains for those who are new to Kotlin.
During the course, you will get a general overview of mobile development for Android, learn basic programming concepts as well as core vocabulary and concepts in Android, get hands-on experience building a small app using the Kotlin language, and understand what opportunities exist for you in the vibrant Berlin tech scene as an Android programmer.
Note : This session will be appropriate for anyone interested in learning more about the field and prior programming knowledge will not be necessary.
Our speakers will tell you in detail how you can learn android in kotlin and after that each unit has badges earn the 10 badges and get a certificate direct from Google.
Android Study Jam for DSC JSS will be conducted by Dheeraj Kotwani, our Android Study Jam Facilitator. Reach out to him on the following links:
Instagram: https://www.instagram.com/dheeraj_kotwani/
GitHub: https://github.com/dheerajkotwani
Twitter: https://twitter.com/kotwani_dheeraj
LinkedIn: https://www.linkedin.com/in/dheerajkotwani/
Also, join us on discord to stay updated and seek guidance from the best in the arena of android development.
Discord Link: https://bit.ly/DSCJSSATEN-DISCORD
DSC ASEB Android Study Jams 2020: New to Programming 3Aravind V. Nair
Slides from the event. Visit https://bit.ly/DSC-ASEB-ASJ-NP3 to know more.
The design of your app can make or break the user experience. Take a break from the technical side of things and step into the world of Android UI design! The third session looks at the other side of Android development: UI Design. Explore various aspects of UI design like app styles, app themes, icons, and more. This session also takes on another important concept in Kotlin, building upon objects and classes from the last session.
Finally, you'll build another interactive, yet more elegant app employing the concepts covered in this pathway.
See you there!
Flutter is Google's Open Source UI Software Development Kit that enables us to build cross-platform apps for Android, iOS, Linux, Mac, Windows, and Google Fuschia from a Single Codebase. With many companies switching over to a Flutter Codebase to hasten development time, reduce roles, and work from a single codebase, Flutter has been growing at an exponential rate in the market and will definitely expand even more in the upcoming times. Alibaba, Google Ads, Google Pay, Hamilton Musical are a few apps in the ever-expanding codebase of Flutter.
Lets Flutter - Talk on flutter in Google IO Extended in Google Developer Group Mumbai.
This has a detailed view of flutter and comparison of React native vs Flutter vs Native app development
Flutter overview - advantages & disadvantages for businessBartosz Kosarzycki
After half a year experience with Fluttter, two internal projects and one commercial one, we'd like to share our view on what FLUTTER as a framework gives developers and businesses alike.
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile PoetsMobileFest2018
There is a lot of Hype with ML and AI lately, and TensorFlow is the framework of choice from Google. But as a Mobile Developer you might have asked yourself, how can I benefit from it? In this talk, you will learn your first steps into the fascinating ML world for mobile.During this talk I will show how to set up TensorFlow for Android, and how to perform some initial operations with it:
- Classifying example
- Detection example
- Analyzing example
I will also show a model to develop a Mobile App with a Model and integration TensorFlow (from Zero to App), showcase demos in Android, iOS and Raspberry and showing as well some Real Use Cases.
My presentation about Flutter on Google I/O 2018 Extended hosted by d3stud.io in Baghdad (#gdgbaghdad). It shows how Flutter outperforms ReactNative and other cross-platform frameworks. It also shows how Flutter handles Arabic (RTL languages) at best. At the end, it concludes with a small project called Tourism Demo, that shows the capabilities of Flutter, like animations and i18n, among others.
https://github.com/bluemix/flutter-tourism-demo
This document illustrates the basic idea about flutter and its facilities. Along with this, the document also depicts the comparison report of the cross-platform, react.
This is PPT for Info session regarding Flutter Festival.
It is is a follow along PPT for Flutter Festival Bhopal. Conducted and organized by GDSC UIT RGPV and Flutter Bhopal 2022
Flutter vs React native 2019 - a detailed comparison for app owners and business to find out which framework is the best fit for your cross-platform app development project.
The content was modified from Google Content Group
Eric ShangKuan(ericsk@google.com)
---
TensorFlow Lite guide( for mobile & IoT )
TensorFlow Lite is a set of tools to help developers run TensorFlow models on mobile, embedded, and IoT devices. It enables on-device machine learning inference with low latency and small binary size.
TensorFlow Lite consists of two main components:
The TensorFlow Lite interpreter:
- optimize models on many different hardware types, like mobile phones, embedded Linux devices, and microcontrollers.
The TensorFlow Lite converter:
- which converts TensorFlow models into an efficient form for use by the interpreter, and can introduce optimizations to improve binary size and performance.
---
Event: PyLadies TensorFlow All-Around
Date: Sep 25, 2019
Event link: https://www.meetup.com/PyLadies-Berlin/events/264205538/
Linkedin: http://linkedin.com/in/mia-chang/
A look at the versatility of flutter.io in speed and creation of highly scalable apps. In particular this presentation also looks at the comparisons between Flutter and React-Native
Flutter festival - Write your first Flutter applicationApoorv Pandey
Write your first hello world app in Flutter. This is a follow along PPT for Flutter Festival Bhopal. Conducted and organized by GDSC UIT RGPV and Flutter Bhopal 2022
Let's take a look at how promising Flutter looks to be by implementing a conference app. We'll first take a look at Dart, see its similarities & differences compared to Java. Then take a look at what it takes to write an app with one codebase for Android & iOS. Finally we'll pull our conference data into our app using Firebase as our datasource.
T2 webframework is simple and modernized java webframework for web2.0 environment.This presentaion tells you the new web development situation is coming to us and how we solve by T2 webframework.
Cross-Platform App Development with Flutter, Xamarin, React NativeKorhan Bircan
Previously, we have seen cross-platform solutions but they either compromised on performance or reaching design expectations. Google, Facebook, and Microsoft have been hard at work and I think they now have solutions that are worth taking another look. I want to explore three such popular frameworks: Flutter, Xamarin, and React Native, explain what they are, how they work, and compare them against each other with a focus on performance. My hope is that after reading this article, you are inspired enough to go check them out and know enough to formulate in your mind which technology could be the right choice for your needs.
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile PoetsMobileFest2018
There is a lot of Hype with ML and AI lately, and TensorFlow is the framework of choice from Google. But as a Mobile Developer you might have asked yourself, how can I benefit from it? In this talk, you will learn your first steps into the fascinating ML world for mobile.During this talk I will show how to set up TensorFlow for Android, and how to perform some initial operations with it:
- Classifying example
- Detection example
- Analyzing example
I will also show a model to develop a Mobile App with a Model and integration TensorFlow (from Zero to App), showcase demos in Android, iOS and Raspberry and showing as well some Real Use Cases.
My presentation about Flutter on Google I/O 2018 Extended hosted by d3stud.io in Baghdad (#gdgbaghdad). It shows how Flutter outperforms ReactNative and other cross-platform frameworks. It also shows how Flutter handles Arabic (RTL languages) at best. At the end, it concludes with a small project called Tourism Demo, that shows the capabilities of Flutter, like animations and i18n, among others.
https://github.com/bluemix/flutter-tourism-demo
This document illustrates the basic idea about flutter and its facilities. Along with this, the document also depicts the comparison report of the cross-platform, react.
This is PPT for Info session regarding Flutter Festival.
It is is a follow along PPT for Flutter Festival Bhopal. Conducted and organized by GDSC UIT RGPV and Flutter Bhopal 2022
Flutter vs React native 2019 - a detailed comparison for app owners and business to find out which framework is the best fit for your cross-platform app development project.
The content was modified from Google Content Group
Eric ShangKuan(ericsk@google.com)
---
TensorFlow Lite guide( for mobile & IoT )
TensorFlow Lite is a set of tools to help developers run TensorFlow models on mobile, embedded, and IoT devices. It enables on-device machine learning inference with low latency and small binary size.
TensorFlow Lite consists of two main components:
The TensorFlow Lite interpreter:
- optimize models on many different hardware types, like mobile phones, embedded Linux devices, and microcontrollers.
The TensorFlow Lite converter:
- which converts TensorFlow models into an efficient form for use by the interpreter, and can introduce optimizations to improve binary size and performance.
---
Event: PyLadies TensorFlow All-Around
Date: Sep 25, 2019
Event link: https://www.meetup.com/PyLadies-Berlin/events/264205538/
Linkedin: http://linkedin.com/in/mia-chang/
A look at the versatility of flutter.io in speed and creation of highly scalable apps. In particular this presentation also looks at the comparisons between Flutter and React-Native
Flutter festival - Write your first Flutter applicationApoorv Pandey
Write your first hello world app in Flutter. This is a follow along PPT for Flutter Festival Bhopal. Conducted and organized by GDSC UIT RGPV and Flutter Bhopal 2022
Let's take a look at how promising Flutter looks to be by implementing a conference app. We'll first take a look at Dart, see its similarities & differences compared to Java. Then take a look at what it takes to write an app with one codebase for Android & iOS. Finally we'll pull our conference data into our app using Firebase as our datasource.
T2 webframework is simple and modernized java webframework for web2.0 environment.This presentaion tells you the new web development situation is coming to us and how we solve by T2 webframework.
Cross-Platform App Development with Flutter, Xamarin, React NativeKorhan Bircan
Previously, we have seen cross-platform solutions but they either compromised on performance or reaching design expectations. Google, Facebook, and Microsoft have been hard at work and I think they now have solutions that are worth taking another look. I want to explore three such popular frameworks: Flutter, Xamarin, and React Native, explain what they are, how they work, and compare them against each other with a focus on performance. My hope is that after reading this article, you are inspired enough to go check them out and know enough to formulate in your mind which technology could be the right choice for your needs.
Android Study Jams are community-organized study groups
for people to do hands-on learning for Android app development.
Android Basics is a series of sessions focused specifically on learning how to build Android apps without prior Android experience.
GDSC - IIITB: Android Study Jams - Introductory SessionShreytripathi6
GDSC IIIT-B hosted its first-ever Android Study Jams. In this session, we discuss the advantages of Kotlin and how to get started with Android Development.
The Introduction Session for Android Study Jams will offer you insights into what all the course is about, what tracks are covered in it, what are the benefits and perks, and how you can go from being a total beginner to creating apps to solve real-world problems.
This is the golden opportunity that you have been looking for to get started with Android Development and build apps to bring your innovative ideas to life.
This program is led by an experienced and trained facilitator, who will help you and provide full support throughout, so don't miss this opportunity and make the best out of it!
Hey there !
Do you want to learn the technology that powers billions of devices?
Do you want to know what goes on at the backend of all those complex apps?
GDSC VJIT, GDSC MIET, GDSC UMIT, and GDSC VIT-M, bring to you our first ever collab - “The Android meet-up” .
Join us for a fun-packed session with our panelists Ravi Maurya, Pankaj Khushalani, Shruti Gawali, Prasad Thakare and Azeez Dandawala
Listen to their own journey and experience as an android developer and start your own journey in the android domain along with us after getting inspired by them
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
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
27.
28.
29.
30.
31.
32.
33.
34.
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