Project

Things to submit (team)

One person from each team must submit the system description paper, the slides used for in-class presentation and the code used. SCROLL DOWN TO SEE THE FULL INSTRUCTIONS REGARDING THE FORMAT AND SUBMISSION METHOD.

Things to submit (individual)

Each individual gets to evaluate their peers for their contribution towards the project (peer evaluation is valued at 20%). They also get to pick at most 2 teams (apart from their own) to get extra credit. SCROLL DOWN TO THE BOTTOM TO SEE THE FORMAT AND SUBMISSION METHOD.


Overview


Grading Distribution


Topic

The topic for the project is open. Students are strongly encouraged to apply techniques covered in class (or AI in general) to any domain of their preference. The key requirement is the presence of an AI component that was implemented by the group during the course of the project.

You are free to build off existing projects, use existing code/libraries/frameworks etc. Anything that you used that you didn't build during the course project MUST be appropriately referenced/cited. Even if you used your own project from a previous semester or another class this semester, you must reference it! Your project will be judged based on the amount of work that you put in for this course i.e. you are free to combine projects for two different classes as long as you clearly specify what constitutes work for this course.

Expectations: You have 5 weeks to complete the project and 1 week to write the system description paper. Rule of thumb is 4 hrs per person per week. So if you're project team has 4 members, then the project should at least have 80 hrs of work in it. The focus of the project should be on application of AI techniques to some domain. Building an awesome software with no AI whatsoever will not fetch you any points.


Popular toolboxes

This is a list of popular toolboxes/libraries that implements popular machine learning algorithms that you can use (will be updated)


Project phases and Timeline

  1. Submit Project Proposal: 11/6/2016

    You must form teams, decide on a project topic and submit a proposal document. Your proposal document must be an electronic document (PDF only) that you will submit via email. Your proposal document must be not more than 3 pages. You are free to write it any way you want as long as the following questions are addressed appropriately. You are also free to use the following questions as a skeleton and use a Q&A format.

    1. Team Name and members

      Your uber cool team name! Also list all the team members with their full name and umbc email id.

    2. Problem statement

      This will briefly describe the problem you are trying to solve and should be well defined (no ambiguity).

    3. Motivation

      Briefly describe why you find the problem important/interesting. This could be personal interest, importance of the problem itself or simply curiosity.

    4. Background work

      What are the existing solutions to the problem? What can you learn from them and maybe do things differently? Since this is a course project, your goal is not to invent something or do something no one has ever done. But understanding what people have done will give you a broader perspective and help you define your project more precisely.

    5. Data description

      What is the data you plan to use for this project? Briefly go over the format of the data and where you intend to obtain it from.

    6. Approach

      What are the possible approaches you plan to take to solve the problem you are proposing? You don't have to be specific but a general idea of how you plan to use AI to solve this. Over the course of your project, you will try different techniques and find out for yourself what works best.

    7. Evaluation

      If you build something, lets say a model, how do you know if it is good or bad? For supervised machine learning, its simply segmenting out a chunk of training and reporting the results on it. For other kinds of project, you will be required to specify how you plan to evaluate it.

    8. References

      List everything you referred to that you found relevant/useful for your project.

  2. Project Presentation/Demo: 6th & 8th Dec 2016

    Every team is required to give a short presentation/demo of their project. Each team will be given 8 mins to present/demo their project with 3 mins for Q&A. It's up to the team to decide if one, two or all the members will speak/demo.

  3. Final submission: 22nd Dec 2016

    Every team will submit a short paper describing the project and results along with the code and slides that was used.

    ONLY ONE PERSON FROM EACH TEAM MUST SUBMIT ALL OF THE THREE THINGS!

    Report

    Each team will submit a 4-6 page (excluding references) report describing the project and results. You will use this standard ACM template. THIS MUST BE A PDF FILE! You can use the following suggested structure for your paper.

    1. Title: This should be in the following format
      <teamname>: <project title>
    2. Authors/Team members
    3. Abstract: 250-300 words
    4. Introduction
    5. Background/related work
    6. Approach: This will describe the framework/approach for your project. It should be a very detailed system description.
    7. Experiment/Results: This should detail the experiments you ran, the dataset you used, your evaluation methodologies and results.
    8. Conclusion: This will go over what you learned and what could be potential areas to improve
    9. References: List all the work you used/referred to! Not citing other's work will count as plagiarism!

    Code/Software

    You will package all your code along with a README file. This README file will contain all the relevant information to get the project running on a new machine. This will include installation instructions, libraries/dependencies usage along with their versions and instructions to run your code. You will package this into a zip file called code.zip

    Slides

    You will also submit the slides you used for your in-class presentation.

    How to submit?

    You will use the submit system to send the entire project contents. The submit name will be project. You will submit two files a) Your project pdf report and b) your code.zip containing all your code with the README file.

    If your code and data is super big and can't go through the submit system, please email me and I will set up an alternate way for you to submit your code.

Peer Evaluation (Due 22nd Dec 2016)

To encourage strong and equal participation from all team members, each individual gets to evaluate their peers. This will account for 20% of the project grade (that's a big chunk!).
Score scale: You will grade your peers out of 20 points. There is no breakdown needed, just a simple score will do. The default value will be 20 if a particular peer did not submit an evaluation.
What to submit? You will create a file named after the umbc id of your team member. E.g: if their umbc id is abhay1@umbc.edu, you will create a file called abhay1.txt. In that file, you will simply put a numeric score as its content. E.g: if the score was "15", abhay1.txt would look like this.

15

You will submit a single file per member so if your team size is 5, you would submit 4 files. The computation of peer grades will be calculated using a script so if the format is incorrect, the default score (20) will be used.

How to submit: Each individual MUST use the submit system to turn in their evaluations. The submit name is peerevaluation
How is it computed?: Your score will be a simple average of the scores your team members gave you.


Extra credit contest (Due 22nd Dec 2016)

To encourage healthy competition between teams, each student gets to choose at most 2 favorite projects. These votes will be counted and the top 3 teams get extra credit (20%, 10% and 5%).
What to submit? You will create a file called vote.txt. In this file you will list at most 2 teams you thought were best, one per line. The teams along with their id and description is shown below (in the order of their presentation).

team id team name project title
aigreat Make AI great again AI to play Rock, Paper and Scissors
survivalcraft SurvivalCraft AI to play minecraft
harambai HarambAI AI to play battleship
tuttifrutti Tutti Frutti Forecast income based on zip code
tensor Tensor Handwritten character recognition (A-H)
ateam A Team Handwritten character recognition using neural networks
teampacman Team Pacman AI for Pacman
teamastar Team A* AI for Pacman
constrictor Team Constrictor Classification of news articles
hal9000 HAL 9000 Tag prediction for Steam games
teamgreg Team Greg Sentiment analysis of tweets
accidental Accidental Intelligence Stock price prediction from tweets

A sample vote.txt will look like this

team1
team2

where team1 and team2 will be replaced by the team's id.
How to submit: Each individual MUST use the submit system to turn in their votes. The submit name is vote.
Again, a script will be used to automatically compute votes. If your format is incorrect, your votes will unfortunately be ignored.
p.s - The script will check to see if you voted for your own team. If you did, that will count as a negative vote :)