Android Kotlin Developer Nanodegree Program Syllabus
Android Kotlin Developer Nanodegree Program Syllabus
Learning Objectives
• Design engaging interfaces that implement modern Android components to effectively build compelling
features for the end user.
• Incorporate remote data into an app by utilizing RESTful interfaces and web APIs.
• Organize, store, retrieve, and display content on an Android device to provide users with a more
consistent, performant, and accessible experience, even while offline.
• Integrate hardware capabilities such as location to provide users with mobile enriched features within an
Android app.
• Architect an Android app using the established MVVM pattern for scalability and performance.
Prerequisites
• Be familiar with threads and concurrency, and with modular app architectures.
Required Hardware/Software
*The length of this program is an estimation of total hours the average student may take to complete all required
coursework, including lecture and project time. If you spend about 5-10 hours per week working through the program, you
should finish within the time provided. Actual hours may vary.
Course Project
• Explore the basics of Android, such as creating text, images, and interactive
Lesson 1 buttons.
• Set up the development environment and create a dice roller Android app.
Build Your First App
• Navigate the main map anatomy of an Android app.
Lesson 3 • Use Android Studio tools to create and visualize a map, or graph, of
destinations that show navigation paths in your app.
App Navigation
• Learn the navigation patterns and user interface that Android users expect to
see, so that your app will be intuitive and familiar.
• Learn one way to structure an Android app and the benefits that come with
Lesson 5
this design.
App Architecture (UI Layer) • Learn about two classes in the lifecycle library: ViewModel and LiveData.
Course 2
Connect to the Internet • Simplify fetching data and images, to make sure the app reasonably conforms
to networking and image loading best practices.
• Learn how to implement offline caching by building an app that lets users
Lesson 3 watch DevByte videos.
Behind the Scenes • Take an online-only app and transform it to work offline by adding offline
caching.
Designing for Everyone • Learn how to make your app accessible for users who might need assistance
navigating, like supporting talkback and pushbutton navigation.
Course 3
Course Project
Lesson 2
• Create custom views for your app.
Creating Custom Views
Lesson 3
• Build an app that allows users to paint directly on the screen.
Drawing on Canvas Objects
Lesson 6
• Use declarative XML with MotionLayout to coordinate animations across
Using Motion Layout to multiple views.
Animate Android Apps
Course Project
Capstone Project
Lesson 2
Lesson 3 • Learn how to test your app before distribution to avoid crashes or
unpredictable behavior.
Testing: Basics
Lesson 5
• Implement end to end testing using navigation, coroutines, room, and
Survey of Advanced databinding.
Testing Topics
• Implement user login and identity management for your app using the
Lesson 6
open-source library FirebaseUI.
Implementing Login on • Enable login and logout for your app’s users.
Android with FirebaseUI
• Control navigation in your app based on whether a user is logged in.
Dan Galpin
Android Developer Advocate at Google
Dan has been on the Android team for over 10 years, working on app design, architecture,
performance, and development best practices. He’s passionate about teaching, and has been
inspired by stories from students over the years about how these courses have helped to change
the trajectory of their lives and careers.
Aleks Haecky
Developer Advocate
Aleks is a writer and developer advocate with over 20 years of experience developing media
and tools that bring technologies and programming to developers. They believe in the power of
education, and Android development as a skill that can change lives.
Sean McQuillan
Developer Advocate
Sean has a decade of experience as a startup engineer in San Francisco where he learned how
to build successful apps. Sean is passionate about building high quality products—quickly.
When he is not working on Android you can find him fiddling on the piano or crocheting hats.
Murat Yener
Android Developer Advocate
Murat has been an Android Developer back to Froyo, worked on wearable and other form
factor Android devices. He is a code geek, open source committer, Java Champion, and the
author of Expert Android Studio and Professional Java EE Design Patterns books.
After being on, and leading, the UI Toolkit team on Android for several years, Chet joined the
developer relations team. His focus and passion has always been UI, graphics, animation,
performance, and anything that puts the pixels on the screen, in addition to helping developers
write great apps.
Meghan Mehta
Android Developer Advocate at Google
Meghan is a developer advocate on the Android team. She has been a mobile developer for
many years at Disney, Foursquare, Yelp, and now Google. She loves sharing her knowledge and
experience with other developers. When she is not working you can find her singing, dancing,
or baking!
Caren Chang
Developer Programs Engineer
Caren is a developer programs engineer for the Android Frameworks team at Google.
Lyla Fujiwara
Android Developer Advocate at Google
Lyla authored many of the fundamental Android samples and trainings for Android Jetpack,
Kotlin, and testing. She’s also had the honor of teaching everyone from highschool students to
senior developers how to make Android apps. These days, she’s part of the team bringing you
the Google News Android app.
Asser Samak
Android Developer Advocate at Google
Aser has been building educational Android apps with Udacity & Google for the past 4 years, he
enjoys teaching with a focus on best-practices and building a solid foundation at an early stage.
Aser loves solving the Rubik’s cube which is featured in many of his videos—try to find them all.
Joshua has 20 years experience as a web and mobile application developer helping launch
multiple startups and grow established companies alike. His client portfolio includes Fortune
100 companies Audi, Disney, Mitsubishi, American Express, BD Pharmaceuticals, and more.
Kevin Moore
Staff Software Engineer at Affirm
Kevin has been doing Android development for over 9 years, developing many different types
of apps. In addition, Kevin has been writing articles and tech editing books, as well as creating
videos for raywenderlich.com and LinkedIn Learning.
Jesus Valdez
Senior Android Developer at Handy
Aida Issayeva
Android Engineer at Clarity Money
Aida is an Android engineer at Clarity Money, a personal finance management app. Previously,
she has built android applications for various industries, ranging from cloud gaming services to
satellite data communications. When she’s not coding, she’s chasing great food experiences all
over the world.
Mohamed Habib
Android Engineer at Andela
• Project review cycle creates a feedback loop with multiple opportunities for
improvement—until the concept is mastered.
• Project reviewers leverage industry best practices and provide pro tips.
• Unlimited access to mentors means help arrives when it’s needed most.
• 2 hr or less average question response time assures that skills development stays on track.
Empower job-readiness.
• Access to a Github portfolio review that can give you an edge by highlighting your
strengths, and demonstrating your value to employers.*
• Get help optimizing your LinkedIn and establishing your personal brand so your profile
ranks higher in searches by recruiters and hiring managers.
Mentor Network
• Mentors work across more than 30 different industries and often complete a Nanodegree
program themselves.
12.29.22 | V1.0