Getting Started with MP0

Created By: Geoffrey Challen
/ Updated: 2022-10-18

Welcome back! This lesson begins a new chapter in our journey together, as we begin work on the machine project.


Welcome to the machine project! Over the course of several checkpoints you'll apply the knowledge you've taken from the homework to a real-world application: completing a simple Android app. Let's get started!

Goals of the Machine Project

We've built your programming abilities through a series of small homework problems. Now we're excited to show you what you can do by applying those skills! So if the homework problems are like playing etudes on a musical instrument, now it's time to learn a simple song. If the homework problems are like running cone drills at sports practice, now it's time to scrimmage. If the homework problems are like the mise en place when preparing a meal, now it's time to turn up the heat and get cooking.

Real world programming is also a very different challenge that you've experienced solving the homework problems. On each homework problem you start from scratch. In real life, you almost never do. On each homework problem you spend most of your time programming and debugging. In real life, you spend most of your time reading, scratching your head, and even just trying to figure out where to start!

Compared to the homework problems: when completing the machine project, you'll spend much more time:

  • reading existing code
  • reading documentation
  • trying to understand what is going on
  • tracing the execution of your app
  • figuring out what is going wrong
  • determining what code actually needs to be changed, and how

And you'll spend much less time writing code! This is normal, good, healthy, and not a sign that you are doing anything wrong.

Getting Started

Let's go through the steps required to get you up and running on the machine project.

  1. First, we'll install Android Studio and Git.
  2. Next, you'll create a GitHub account, if you don't have one already, and create your Fall 2022 MP repository.
  3. Once that's done, you'll import that repository into Android Studio and run the test suites and grader.
  4. And, finally, you have a few small fixes to make before you can earn full credit!

We'll get started on these tasks in this lesson and continue in the next.

Decide on Collaboration

Before you get too far, please review the MP collaboration policy. To summarize, you may choose to collaborate with one other student on the MP. If you choose to collaborate, you must complete all work the with your partner. Please review the collaboration policy for more details.

Install Android Studio and Git

Before you can start the machine project, you need to install some software onto your development machine. These instructions should help with that. Return here when you're all set up.

Create Your GitHub Access Token

If you don't already have a GitHub account, start here to create one. Note that if you sign up with your @illinois.edu email address there are usually some freebies thrown in...

We'll use a personal access token to allow Android Studio to access our GitHub repositories. Let's walk through how to do that together! Here's the link to use. (Note that these instructions are the same for Java and Kotlin.)

Clone the Machine Project Repository

Next, you need to get your copy of our MP starter code. We don't expect you to start the project from nothing! And in fact, working with an existing codebase is the norm in the real world of software development. One of our learning goals is to get you comfortable with this type of development.

Once you have your GitHub account, you can use this GitHub Classroom link to access the Java MP starter code. That may take a minute to set up, so please be patient. Once your repository is ready, we'll move on to the next step.

Load the Machine Project into Android Studio

So now we have Android Studio, and our own copy of the machine project. The next step is to import that repository into Android Studio! You'll need Android Studio configured to access your GitHub account, as shown in the previous screencast. The screencast above walks you through that process and what you should expect from the MP starter code.

To identify yourself you'll need to add a unique ID to your project. Your ID should be shown below, and the screencast above shows you how to use it.

No Homework for This Lesson

On lessons where we focus on the machine project we will not assign a homework problem! However, the lesson will usually focus on helping you complete a particular part of the MP test suite, and so we encourage you to spend time on that in lieu of a homework problem.

Right now your goal should be to get Android Studio installed, the MP code imported, and to run the app in the emulator for the first time! If you get stuck, find us for help on the help site or forum.

MP0 Scores

More Practice

Need more practice? Head over to the practice page.