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!
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:
And you'll spend much less time writing code! This is normal, good, healthy, and not a sign that you are doing anything wrong.
Let's go through the steps required to get you up and running on the machine project.
We'll get started on these tasks in this lesson and continue in the next.
Before you get too far, please review the MP collaboration policy. As a brief reminder, you may choose to collaborate with one other student for the first two MP checkpoints—this one (MP0) on setup, and the next one (MP1) where we'll get started with some initial MP development. All students must complete the final two MP checkpoints individually.
If you choose to collaborate, you must complete all work on MP0 and MP1 with your partner. Please review the collaboration policy for more details.
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.
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.
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...
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.
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! The screencast above walks you through that process and what you should expect from your initial copy of the MP.
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.
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.
Need more practice? Head over to the practice page.