Welcome back! This lesson begins a new chapter in our journey together, as we begin work on the machine project.
Over the course of several checkpoints you’ll apply the knowledge you’ve learned so far 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 than 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 code, scratching your head, and figuring 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 go too far, please review the MP collaboration policy. To summarize, you may choose:
Regadless of how you choose to collaborate, we will examine your code for plagiarism in the same way—with the exception that, if you work with a human partner, your code will be expected to be identical. If you choose to collaborate with another student, you must complete all work the 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 done.
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! You can either use this link, or use the token creation dialog in Android Studio. (Note that these instructions are the same for Java and Kotlin.)
Note that you should configure a longer token expiration than 30 days. Recreating the token later isn’t a problem, but inevitably the token will expire five minutes before a deadline and cause stress and confusion.
Next, you need to get your copy of our MP starter code and load it into Android Studio. We don’t expect you to start the project from nothing! 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 and have linked it to Android Studio using your access token, you can use this GitHub Classroom link to access the Kotlin starter code. That may take a minute to set up, so please be patient.
Now we have Android Studio installed and our own copy of the machine project. The next step is to import the starter code 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 the whole process.
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.
Now that we have the app source code, let’s finish up by running it on an emulated Android device. We’ll walk through the process of creating a device, and show you what you should expect to see when your app starts up. (Note that these instructions are the same for Java and Kotlin.)
On lessons where we focus on the machine project we will not assign a separate homework problem! However, the lesson will usually focus on helping you with a particular part of the MP test suite, and you should finish the lesson by completing that task.
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 tutoring site or forum.