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:
You will receive the MP1 test suites via email.
app/src/test/kotlin/edu/illinois/cs/cs124/ay2023/mp/test/
directory in your machine project.
The file should be named MP1Test.kt
.app/src/test/java/edu/illinois/cs/cs124/ay2023/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 alter the way that courses are sorted and get the search bar to work. 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 four test cases to guide your development.
test0_SummaryComparison
and test1_SummaryFilter
are unit tests that test changes you need to make to the Summary
class, specifically writing a default compareTo
method and adding a filter
method.
test2_SummaryView
and test3_FilteredView
are integration tests that tests the functionality you need to add to the Android view, which builds on the changes you make to Summary
.
You can begin by completing both unit tests.
Or, you can complete test0
and test2
and then move on to test1
and test3
, which is the order in which we’ll approach the tests on the daily lessons.
Grading for MP1 is broken down as follows:
detekt
(Kotlin) or checkstyle
(Java) violationstest0_SummaryComparison
test1_SummaryFilter
test2_SummaryView
test3_FilteredView
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 MP0 test suites, please download them below:
MP1Test.kt
MP1Test.java
You can view your official MP1 scores below.