MP1 provides practice completing several small programming tasks using Android and introduces a few key ideas in user interface development.
Specifically, after completing MP1 you should be able to:
Your submission ID and team should appear below.
Later MP checkpoints have two deadlines. We provide 10 points for getting started on the MP promptly and earning a certain number of points before the early deadline. The remainder of the MP is due a few days later.
However, MP1 is a shorter checkpoint, so there’s only one deadline for each deadline group:
MP1 also has an extra credit deadline. If you submit a fully-completed MP1 by this date, you will earn a 105 / 100.
Note that the extra credit deadline is designed to encourage some students to finish early and leave more time for staff to support the rest. As such, we will not provide additional support around the extra credit deadline.
You will receive the MP1 test suites via email.
app/src/test/kotlin/edu/illinois/cs/cs124/ay2024/mp/test/
directory in your machine project.
The file should be named MP1Test.kt
.app/src/test/java/edu/illinois/cs/cs124/ay2024/mp/test/
directory in your machine project.
The file should be named MP1Test.java
.Next, you’ll want to reconfigure grade.yaml
in the root directory of your project to request that we grade MP1.
Note that your app will not compile after installing the test suites.
There are a few things you need to add to get it to compile.
These steps are covered on the first MP1 lesson.
To pass the test cases and complete MP1, you need to fix a few problems with the code that we provided, and write a bit of new code to solve a problem. This does not require writing a lot of code! You will spend much more time understanding what the problem is and identifying the code you need to modify than you will actually implementing your solution.
When you run the starter code you should notice two things:
For MP1 you’ll fix these problems. These changes require modifications to several files included in your repository. We’ll walk through what to do and provide suggestions for getting started on the daily lessons.
We have provided six test cases to guide your development, ordered in the way that we suggest approaching this checkpoint.
test0_testSummarySort
and test1_testMainActivitySummarySort
test that your RSO summary sort method works and is incorporated into the UI.test2_testSummaryColorFilter
and test3_testMainActivityColorButtons
test that your RSO color filter method works and is incorporated into the UI.test4_testSummarySearch
and test5_testMainActivitySearch
test that your RSO search method works and is incorporated into the UI.The daily lessons walk through how to approach each portion of the checkpoint, but in varying amounts of detail. In particular, for the search method we provide a minimal description of correct behavior and expect you to design and complete that method independently.
Grading for MP1 is broken down as follows:
detekt
(Kotlin) or checkstyle
(Java) violationstest0_testSummarySort
test1_testMainActivitySummarySort
test2_testSummaryColorFilter
test3_testMainActivityColorButtons
test4_testSummarySearch
test5_testMainActivitySearch
You can estimate your grade at any time by using the Grade task available in Android Studio. This is an estimate, not an official score.
You submit MP1 by pushing to GitHub, in the same way that you did for MP0.
However, make sure that you have configured grade.yaml before pushing.
We grade the checkpoint you have configured in grade.yaml
.
So make sure that is set up to grade MP1 once you are ready.
Please review the CS 124 policies on collaboration.
All submitted code will be checked for cheating. Cheaters will receive stiff penalties. Hard-working students who are struggling honestly for their grade demand it.
If you need to restore the original test suites, please download them below:
MP1Test.kt
MP1Test.java
Here’s a brief walkthrough showing how to restore the original test suites if needed:
You can view your official MP1 scores below.