RPM Project: Milestone 1 (Spring 2022)

First, make sure to read the full project overview. It contains instructions for the project as a whole and getting started with the code. This page describes only what you should do for Milestone 1 within the broader context of that project overview.

For Milestone 1, your goal is to simply demonstrate that you have set up the project infrastructure to run on your local computer and have made a submission to Gradescope. 50% of your grade on Milestone 1 is earned by meeting the minimum performance requirement; 50% of your grade is earned by completing the milestone journal.

Performance Requirement

For Milestone 1, your performance requirement is to answer one problem correctly in Gradescope. As long as you answer at least one problem correctly in a Milestone 1 Gradescope submission, you will earn the full performance credit for Milestone 1. Your answer can be hard-coded, randomly selected, etc.; the goal is simply to show that you can modify the Agent.py file to generate an answer to a problem and submit that to Gradescope.

While that is the only requirement, we highly recommend also familiarizing yourself with loading a problem from a file into Pillow and doing some initial pre-processing on it. Historically, many students have reflected that they had difficulty on the project because they started to explore using Pillow and image processing too late; if you take this opportunity to familiarize yourself with the images, you will be in a far better position to succeed going forward.

Note that the autograder randomizes the order of answers to prevent overfitting on later projects. You can still hardcode answers by, for example, returning 1 for every problem (knowing that at least one of the problems will almost certainly be randomly given 1 as the correct answer).

Submission Instructions

To fulfill the Performance Requirement, follow the directions on the full project overview for submitting to Gradescope, and then submit your agent to the Milestone 1 assignment.

You may submit up to 40 times. The large majority of students do not need nearly that many submissions, so do not feel like you should use all 40; this cap is in place primarily to prevent brute force methods for farming information about patterns in hidden test cases or submitting highly random agents hoping for a lucky submission. Note that Gradescope has no way for us to increase your individual number of submissions, so we cannot return submissions to you in the case of errors or other issues, but you should have more than enough submissions to handle errors if they arise.

After submitting to the Milestone 1 assignment in Gradescope, make sure to select which submission you want to have count for your graded submission. By default, Gradescope will use your latest submission, but you may want to use an earlier one. After the deadline, this will be exported to Canvas to calculate your final Milestone grade.

This is an individual assignment. All work you submit should be your own. Make sure to cite any sources you reference or code you use (in accordance with the broader class policy on code reuse).

Milestone Journal

In addition to submitting an agent to Gradescope, you will also submit a brief milestone journal to the Milestone 1 assignment in Canvas. Your Milestone Journal must be written in JDF format. There is no maximum length; we expect most submissions to be around 5 pages, but you may write more if you would like. Writing the journal is intended to be a useful exercise for you first and foremost: it should let you externalize and formalize your ideas, it should let you get feedback from your classmates, and it should let your classmates learn from you. Your journal should not include actual code; it should just include your ideas.

For Milestone 1, you may not have done much actual development on your project. Instead, this is an opportunity to begin brainstorming how you will approach the project. You should answer the following questions:

  • How do you feel you, as a human, reason through the problems on the Raven’s test? Choose three or four problems and describe your own approach.
  • How do you expect you will design an agent to approach these problems? Will you try to generate a verbal representation of the images, like identifying shapes and their relative positions to one another? Will you try to use some heuristic methods, like looking for patterns in the changing numbers of shapes, number of darkened pixels, etc.? Will you have your agent select from multiple strategies based on what it sees in a particular problem? You do not need to answer all these questions specifically, but these are examples of the types of questions you may answer in previewing how you expect to design your agent.
  • What do you anticipate your biggest challenges in designing your agent will be?

Tip: Remember, we want to see how you put the content of this class into action when designing your agent. You don’t need to use the principles and methods from the lectures precisely, but we want to see your knowledge of the content reflected in your terminology and your reflection.

Submission Instructions

Complete your project journal using JDF, then save your submission as a PDF. Journals should be submitted to the corresponding assignment submission page in Canvas. You should submit a single PDF for this  assignment. This PDF will be ported over to Peer Feedback for peer review by your classmates. If your assignment involves things (like videos, working prototypes, etc.) that cannot be provided in PDF, you should provide them separately (through OneDrive, Google Drive, Dropbox, etc.) and submit a PDF that links to or otherwise describes how to access that material.

This is an individual assignment. All work you submit should be your own. Make sure to cite any sources you reference, and use quotes and in-line citations to mark any direct quotes.

Peer Review

After submission, your journal will be ported to Peer Feedback for review by your classmates. Grading is not the primary function of this peer review process; the primary function is simply to give you the opportunity to read and comment on your classmates’ ideas, and receive additional feedback on your own. All grades will come from the graders alone.

You receive 1.5 participation points for completing a peer review by the end of the day Thursday; 1.0 for completing a peer review by the end of the day Sunday; and 0.5 for completing it after Sunday but before the end of the semester. For more details, see the participation policy.