KotlinCS 124 LogoJava

Course Activity

Learning Objectives
Learning Objectives

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:

  1. Understand how a simple web server and client interact to exchange data
  2. Add a new activity to the user interface, complete its user interface, and launch it from the main activity
  3. Engage in test-driven development

Submission ID and Team
Submission ID and Team

Your submission ID and team should appear below.

Deadlines
Deadlines

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:

Objectives, Testing, and Grading
Objectives, Testing, and Grading

You will receive the MP2 test suites via email.

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.

Objectives
Objectives

To complete MP2 you’ll add a new activity to your app that will display course details. This will require adding a new route to your API server to deliver course 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 course details.

Testing
Testing

We have provided five test cases to guide your development. test0_CourseClassDesign tests the design of your new Course class that holds additional course information. test1_ServerCourseRoute and test2_ClientGetCourse test that your API server and client work properly to deliver detailed course information to your app. test3_SummaryClickLaunch and test4_CourseView test that your new activity works properly, including being launched from the main activity and displaying course details. You will probably want to complete the tests in order.

Grading
Grading

Grading for MP2 is broken down as follows:

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.

Submitting
Submitting

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.

Cheating
Cheating

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.

Original Test Suites
Original Test Suites

If you need to restore the original MP0 test suites, please download them below:

Scores
Scores

You can view your official MP2 scores below.