Last Modified: April 16, 2017
CS 175: Project in AI (in Minecraft): Spring 2017
Project Proposal
Sameer Singh
http://sameersingh.org/courses/aiproj/sp17/
For the proposal, you have to finalize your group members, propose an idea for your course project, describe
the evaluation plan, and set up project website with a page for this submission.
1 Setting a Repository and a Website
For the project that you will be working on this quarter, we expect you to maintain a Github repository for the
code, and an associated website. I have given a detailed step-by-step guide below, and although it looks like there
are a lot of steps involved, it shouldn’t take you more than 15 minutes if you’re familiar with git .
1.1 Setting up the Repository
Here are a steps to create a new repository on Github:
1.
If you don’t have a Github account, sign up for one for free, and ask all for your group members to sign up
for one as well. Read some tutorials on how
git
works
1
, and get comfortable in it; you will be using it to
maintain the website and the code for the project.
2.
In order to create a repository that will store your project code and website, pick one of the group members
under which the repo will be created. For simplicity, I will assume the repo will be created under the Github
username USER .
3.
That person should log in, go to the
+
on the top right, and click New repository. Select a short name of
your group/project, and name your repository that (let’s assume you called it
PROJECT
). Make sure the
owner is
USER
, make it public if you’re new to this, click Initialize with a README, and then click Create
repository. Congrats, your repository should now be created (with a url like
github.com/USER/PROJECT
),
and you can commit whatever you want!
4.
In order to add your group members to the repository, go to the Settings tab, click Collaborators, and add all
of your group members using their Github IDs. They should be able to commit/edit files in the repo once
they accept the invitation (ask them to test it out).
Advanced Users:
If you’re familiar with Github, feel free to create the repo under
an organization if you like. You can also create a private repository if you pre-
fer, but add the course staff as collaborators (
sameersingh
,
MosheLichman
, and
wangzheallen ).
1.2 Setting up the Website
I will provide some files and the steps to get started in order to create a website for your project. Here, I will
assume your project repository is hosted at
github.com/USER/PROJECT
. The following steps can be followed by
the owner or any one of the group members (who have been added as “Collaborators” in the previous section).
1.
Download the zip file from
https://github.com/sameersingh/gh-skeleton/releases/tag/cs175sp17
.
2. Unzip the file somewhere on your disk; you will see that insides docs/ , there are only 5 files, in 2 folders.
3.
Create a
docs/
folder in your project repo, and commit the files from the above
docs/
folder into it, using
either the command-line (preferred) or uploading them one by one using the GUI.
1
Here are two: https://try.github.io/ and https://guides.github.com/activities/hello-world/
Project Proposal UC Irvine 1/ 3
CS 175: Project in AI (in Minecraft) Spring 2017
4.
If successful, your repo online,
github.com/USER/PROJECT
should have a
docs/
folder in it, which should
have the same structure as:
https://github.com/sameersingh/gh-skeleton/tree/master/docs
. If you
have any questions, post it on Piazza along with your repo URL, so that we can help you with it.
Once the
docs/
folder is created and contains the same structure as
https://github.com/sameersingh/
gh-skeleton/, it is time to make the website public! The owner, USER in this case, should now log in and:
1.
Go to Settings again, scroll down to the Github Pages section, and select the second option (master branch
/docs folder). If it is unavailable, you do not have a
docs/
folder in the root of your repo; ensure the file
structure is there, and return to this step.
2. Press Save, and it should say GitHub Pages source saved. at the top of the page.
3.
Now open a new tab, and go to
USER.github.io/PROJECT
. There should be a website there, and should
look exactly like http://sameersingh.github.io/gh-skeleton/.
Again, if you have any questions, post on Piazza how far you got, where you got stuck, and a link to the repository.
Now that your website is up, it’s time to make it yours. Any one of the group members can do the following:
1.
Edit
_
config.yml
and change the title from “PROJECT” to the name of the repository (do not make other
changes to this file unless you know what you’re doing). You can do these edits from Github website itself,
just navigate to the file and click the edit button (looks like a pencil icon). Commit and push your changes,
and in a few minutes, your website should change to reflect the new name on the front page and navigation
bar.
2.
(optional) Edit
index.md
to put whatever you want. If you use the Github website to make these edits, you
can use Preview button to see what the front page will look like. Just do not remove or edit the first four
lines (the stuff in between, and including, the
---
) unless you know what you are doing. Once you commit
and push your changes, you should see the website reflect it. The default text on this page has some basic
information about Markdown, and a link to a complete guide on how to format using Markdown.
3.
Edit
team.md
and replace the placeholders with your teammates and their UCINetIDs (
NOT
the student
ID number!). Unless you are familiar with Markdown, you don’t need to add anything else. If you want
to make more edits, or make it look prettier, just look up guides on Markdown, and edit it as you see fit.
For example, you can add more information if you like, such as photos, links to homepages, links to Github
profile, etc. Commit and push your changes, and in a few minutes, the team page of your website should
have the new information.
Advanced Users:
If you’re familiar with Github Pages, you can completely ignore
my skeleton (it’s pretty ugly and basic after all), and do whatever you like. The only
constraints are (1) you have to use the
docs/
method of Github Pages, (2) that
there should be a dedicated page for the team and one for the proposal (and later,
for other project submissions), and (3) the links to these pages should be obvious
from the main page.
2 Contents of the Proposal
2.1 Creating a Proposal Page (15 points)
You will notice that there is a greyed out link to the proposal in the navigation bar, that gives an error if you click
on it. This will change once you create a
docs/proposal.md
file with the following header as the first four lines:
1 ---
2 layout: default
3 title: Proposal
4 ---
The rest of the file should contain the rest of the proposal, using the Markdown format (headings start with
##
,
one for each section below, and regular text doesn’t need any formatting). Commit and push your new file, and the
link should be active in a few minutes. As long as you have a website and a proposal page, you’ll get these points.
Project Proposal UC Irvine 2/ 3
CS 175: Project in AI (in Minecraft) Spring 2017
2.2 Summary of the Project (30 points)
In a paragraph or so, mention the main idea behind your project. At the very least, you should have a sentence
that clearly explains the input/output semantics of your project, i.e. what information will it take as input, and
what will it produce. Mention any applications, if any, for your project.
2.3 AI/ML Algorithms (10 points)
In a single sentence, mention the AI and ML algorithm(s) you anticipate using for your project. It does not
have to be a detailed description of the algorithm, even the sub-area of the field is sufficient. Examples of this
include “planning with dynamic programming”, “reinforcement learning with neural function approximator”,
“deep learning for images”, “min-max tree search with pruning”, and so on.
2.4 Evaluation Plan (30 points)
As described in class, mention how you will evaluate the success of your project. In a paragraph, focus on the
quantitative evaluation: what are the metrics, what are the baselines, how much you expect your approach to
improve the metric by, what data will you evaluate on, etc. In another paragraph, describe what qualitative analysis
you will show to verify the project works, such as what are the sanity cases for the approach, how will you visualize
the internals of the algorithm to verify it works, what’s your moonshot case, i.e. it’ll be awesome and impressive if
you get there. Note that these are not promises, we’re not going to hold you to what you say here, but we want to
see if you are able to think about evaluation of your project in a critical manner.
2.5 Appointment with the Instructor (15 points)
One member of the group should take an appointment with the instructor in the week starting 4/23 (or 4/30, if
no slots are available). Select a time such that all members of the group can attend, unless one or more members
of your group can absolutely not make any of the available times. In the proposal page, mention the date and time
you have reserved the appointment for.
Use the following link to make your appointment: https://calendly.com/sameersingh/office-hours
Project Proposal UC Irvine 3/ 3