Approx. 4 weeks

Assumes 6hrs/wk (work at your own pace)

Built by
Join thousands of students

Start Free Course

Start Free Course
You get
Instructor videos
Learn by doing exercises and view project instructions
view course trailer
Watch Video

Course Summary

In this course, you'll learn how to apply the material design principles that define Android's visual language to your apps. We'll start by walking you through Android design fundamentals, then we'll show you how to apply this knowledge to transform design elements of sample apps. By the end of the course, you'll understand how to create and use material design elements, surfaces, transitions and graphics in your app, across multiple form factors.

Why Take This Course?

What makes an app intuitive or easy to use? What makes it hard or frustrating? Learning the foundations of good design and platform-specific design patterns will help you create better apps for your users.

Prerequisites and Requirements

To get the most out of this course, you should have prior experience developing Android apps. If you lack this experience, please take Developing Android Apps prior to enrolling in this one. We also recommend taking Advanced Android App Development if you are interested in publishing your app to the Google Play Store.

To follow along with course activities, you must have access to the latest release of Android Studio, and should have access to an Android device for running and testing your apps.

We share code through Github, so you must be familiar with using Github to access code. Take our course on Using Git and Github if you lack this background.

See the Technology Requirements for using Udacity.

What Will I Learn?


P5: Make Your App Material

Implement Android design concepts and transform a functional newsreader app using material design techniques.


Lesson 1: Android Design Fundamentals

Understand and apply the fundamentals of Android design to your app, and experiment with app structures, common navigation patterns and themes.

Lesson 2: Surfaces

Understand how to use surfaces to structure the hierarchy and interaction of elements in an app.

Lesson 3: Bold Graphic Design

Understand and apply branding guidelines -- including key lines, metrics, fonts, typographic scale, color palette and themes/styles.

Lesson 4: Meaningful Motion

Understand the use of motion in apps, how to use transitions to change app states and properly choreograph the motion in an app.

Lesson 5: Adaptive Design

Understand how to refine and test your designs on for use on multiple form factors.

Instructors & Partners

instructor photo

Nick Butcher


Nick Butcher is a Design Advocate in Google's London office, where he helps designers and developers create sublime mobile apps. He has a passion for mobile technologies, and enjoys spanning the disciplines of design and development.

instructor photo

Roman Nurik


Roman Nurik is a Design Advocate at Google, focusing on user experience and visual design for Android. Previously, Roman was a developer advocate on Android and Maps. Before Google, he engaged in web design and development work on a variety of independent projects.

instructor photo

James Williams


James Williams first fell in love with teaching while working as an instructor at a computer camp. He runs obstacle course/adventure races in his spare time and is the author of HTML5 Game Programming, which has been translated into Chinese and Korean. He holds degrees in Computer Science (BA, MS) and French (BA).

track icon

View more courses in