MP2 challenges you to complete a more complex set of tasks with less guidance. You’ll be expected to add a new activity to your application, designing its user interface and adding the required support in the API server and client. We’ll also include information about client-server interaction and the HTTP protocol.
Specifically, after completing MP2 you should be able to:
Your submission ID and team should appear below.
All remaining 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. For MP2, you must earn 40 points by the early deadline. The remainder of the MP is due a few days later.
For MP2 the deadlines are:
MP2 also has an extra credit deadline. If you submit a fully-completed MP2 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 tutors to support the rest. As such, we will not provide additional support around the extra credit deadline. Earning the early extra credit requires meeting the early deadline.
You will receive the MP2 test suites via email.
MP2Test.kt
to the app/src/test/kotlin/edu/illinois/cs/cs124/ay2024/mp/test/
directory in your machine project.MP2Test.java
to the app/src/test/java/edu/illinois/cs/cs124/ay2024/mp/test/
directory in your machine project.Next, you’ll want to reconfigure grade.yaml
in the root directory of your project to request that we grade MP2.
Note that, like MP1, 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 MP2 lesson.
To complete MP2 you’ll add a new activity to your app that will display RSO details.
This will require adding a new route to your API server to deliver RSO details to your app, support in your API client for using that route, modifications to the MainActivity
to launch your new activity, and completing the UI for the new activity so that it displays RSO details.
We have provided five test cases to guide your development.
test0_RSOClassDesign
tests the design of your new RSO
class that holds additional RSO information.
test1_ServerRSORoute
and test2_ClientGetRSO
test that your API server and client work properly to deliver detailed RSO information to your app.
test3_SummaryClickLaunch
and test4_RSOView
test that your new activity works properly, including being launched from the main activity and displaying RSO details.
You will probably want to complete the tests in order.
Grading for MP2 is broken down as follows:
detekt
(Kotlin) or checkstyle
(Java) violationstest0_RSOClassDesign
test1_ServerRSORoute
test2_ClientGetRSO
test3_SummaryClickLaunch
test4_RSOView
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 MP2 by pushing to GitHub, in the same way that you did for MP1 and 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 MP2 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:
MP2Test.kt
MP2Test.java
Server
Method and Field VisibilityServer
Method and Field VisibilityYou will need to add methods to your Server
class to complete MP2, and in general you are free to modify that code as needed to complete the remaining MP checkpoints.
However, any new methods or fields you add to the Server
class must be private
.
This is checked when the MP2 test suites start up, and unfortunately a failure results in a rather cryptic and unhelpful error message:
You can view your official MP2 scores below.