Lesson Weekend

Welcome to the exciting world of Android development!

In this course we'll learn how to build Android apps, including how to create user interfaces, communicate with a backend server, and take advantage of device features.

In the first week, we'll focus on the basics of Android user interfaces. We'll start by exploring how to create a new project, use standard Android development tools, customize how things look, provide navigation through an app, and display information. Just like learning any new toolset, there is an awful lot of information and context required to get up and running. Expect to spend more time than previous courses on Android homework.


The goal for this weekend's pre-work homework is learning how to:

  • Create a new Android app;
  • Build a simple user interface;
  • Customize user interface elements;
  • Allow users to navigate to different parts of the app;
  • Gather user input; and
  • Pass data to another activity.

Ongoing Project from Curriculum

Android applications are complex. There are many moving pieces, and a lot to keep track of. In order to teach the concepts we cover with the most context possible, many of the lessons and homework in this course will build upon an ongoing project called MyRestaurants.

When a new concept is introduced the curriculum will also walk through the process of implementing this concept or feature into MyRestaurants. When the homework adds new content to MyRestaurants, you will usually begin class the next day by following along with the homework to integrate this content into your MyRestaurants application, too.

This allows us to focus on learning new concepts instead of each lesson spending time establishing the individual circumstances of its own example; and provides extra opportunity for guided hands-on practice. It also ensures you're on the same page with the curriculum, since you'll already be familiar with the application used in the examples! Additionally, you'll be able to maintain a repo of your own that continually reflects the curriculum, and can easily be used as a reference.

MyRestaurants Examples

Because many of the lessons throughout the curriculum use MyRestaurants as an example, it's important to ensure your own project is always carefully updated to include the most recent additions. For this reason, example MyRestaurants repos are linked at the bottom of every lesson that makes any changes to this ongoing project. These links look like this:

Example GitHub Repo for MyRestaurants

Each lesson's link will take you to a MyRestaurants repo that reflects the project's current state in development after the features described in that lesson have been implemented.

Independent Projects

Unlike other courses, Independent Projects for this course will be an ongoing personal project of your choosing. Each Friday you’ll continue to build upon your independent project from the previous week. Begin brainstorming ideas for an ongoing project now; you'll need to propose a project idea to your instructor by the first Thursday of the course. For more details, see the Your Android Independent Project lesson.