MP3 challenges you to complete a similar set of tasks as MP2, but with less guidance. You’ll be add a new course rating feature to your application, including adding API server and client support and updating your application user interface.
The learning objectives of MP3 are similar to MP2. Specifically, after completing MP3 you should be able to:
Your submission ID and team should appear below.
Like MP2, MP3 has 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 MP3, you must earn 40 points by the early deadline. The remainder of the MP is due a few days later.
For MP3 the deadlines are:
MP3 also has an extra credit deadline. If you submit a fully-completed MP3 by this date, you will earn a 105 / 100 on MP3.
Note that the extra credit deadline is designed to reward students who finish early and leave more time for staff to aid the rest of the course in the final week. As such, we will not provide additional support for meeting the extra credit deadline.
You will receive the MP3 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 MP3Test.kt
.app/src/test/java/edu/illinois/cs/cs124/ay2023/mp/test/
directory in your machine project.
The file should be named MP3Test.java
.Next, you’ll want to reconfigure grade.yaml
in the root directory of your project to request that we grade MP3.
Note that, like MP1 and MP2, 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 MP3 lesson.
To complete MP3 you’ll add support for course ratings to your application.
This will require adding routes to your API server to receive and deliver course ratings, support in your API client for using those routes, and modifications to the CourseActivity
to display the rating for the course.
We have provided five test cases to guide your development.
test0_ServerGETRating
and test1_ServerPOSTRating
tests your new server routes for retrieving and updating course ratings.
test2_ClientGETRating
and test3_ClientPOSTRating
test that your API server and client work properly to retrieve and update course ratings.
test4_RatingView
tests that your CourseActivity
displays the course rating properly.
You will probably want to complete the tests in order.
Grading for MP2 is broken down as follows:
detekt
(Kotlin) or checkstyle
(Java) violationstest0_ServerGETRating
test1_ServerPOSTRating
test2_ClientGETRating
test3_ClientPOSTRating
test4_RatingView
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 MP3 by pushing to GitHub, in the same way that you did for MP2, 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 MP3 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:
MP3Test.kt
MP3Test.java
You can view your official MP3 scores below.