CSCI 364: Group Project Assignment

You can download the assignment instructions by clicking on this link

Instructions for using GitHub for our assignments can be found on the Resources page of the class website, as well as using this link.

Possible project ideas: (please pick your own!)

  • A multiagent system simulation of some real-world problem (possibly implemented using Repast Simphony
  • Reinforcement learning problems from the OpenAI Gym
  • Bots that play JSetllers (an open source clone of Settlers of Catan written in Java)
  • Bots that play Texas Hold'em Poker (from the Annual Computer Poker Competition)
  • Create a colony in the real-time strategy game Screeps
  • Something else creative that sounds fun to you!

Group Project Checkin

Due to the ongoing challenges this semester, I'm moving the group project checkin to be due Wednesday January 5 at 11:59 PM (instead of Monday), and it is going to be a formative assessment, meaning that it is for your own reflection and anyone who turns it in will get full credit.

The checkin should have five main parts:

  1. A summary of what you've accomplished so far since your proposal.
  2. A description of what has gone well so far in your project.
  3. A description of what challenges you've faced and any ideas for adjusting your project to overcome those challenges.
  4. A revised timeline of what work is remaining before the project due date (Sunday January 23 at 4 PM).
  5. Any questions you have for me so that I can help in anyway that I can.

Please write up your checkin and email it to me, and I'll give you feedback as soon as I can.


Group Project Presentation

Here is the rubric for your presentations: Presentation Rubric

Your project presentations should be 12 minutes long. You are free to divide up the sections to group members as you wish, but each group member should have at least one part that they present. The presentation should be recorded and a video file (preferrably a MP4 file) submitted. A recommendation for the sections to include and a suggestion for how much time you should spend on each is:

  1. Motivation: what makes your project interesting so that the audience wants to listento your presentation? (1 minute)
  2. Outline: a single slide explaining what you will be presenting (1 minute)
  3. Problem: what problem are you trying to solve? What details does the audience need to know? (3 minutes)
  4. Solution: what approach did you take to solve your problem? What did you create? (3 minutes)
  5. Outcomes: what are the outcomes of your project when you applied your solution? (2 minutes)
  6. Take Away & Future Work: what is the big messages from your presentation that the audience remember? What are 2-3 ideas for how your project could be continued? (2 minutes)

Your presentation should include graphics where appropriate to help the audience understand what you are trying to express. Useful sources of royalty-free images include Pixabay, Open Clipart, Wikipedia, Google Image Search, and Bing Image Search (the latter two allow you to choose non-commercial licenses if you click on the "Tools" > "Usage Rights" and "License" menus, respectively). If you include any images that are copyrighted by others (e.g., not in the public domain), then you should include a reference to the original source (exercising your educational use for copyrighted material).


Group Project Report

Here is the rubric for your reports: Report Rubric

Your group project report should describe all the work you've done on your project. The report should contain sufficient detail so that your project could be replicated by anyone interested in continuing your work. You should imagine your audience being the general computer science community, so you can assume your reader has the same knowledge as anyone who has completed CSCI 241 but does not necessarily know anything about artificial intelligence.

The report should take the form of a long blog post, which you are welcome to publish in a blogging platform (e.g., Digication) or you can write it in your favorite word processing software (e.g., Overleaf (LaTeX), Google Docs, or Microsoft Word) and submit it as a PDF file.

The sections I am looking for in your report that will help structure your discussion include:

  1. Abstract: a concise summary (around 100-200 words) of your entire project so that the reader can quickly determine what your project is about.
  2. Introduction: the motivation for your project and a more in-depth summary of what will be found in the rest of your report. It should include four main details (each at least one paragraph long): (i) the big picture motivation of your project (why is your project needed?), (ii) the specific problem you address with your project, (iii) the solution you used to solve that problem, and (iv) a summary of the outcome of your project.
  3. Background & Related Work: what information does the reader need to know to understand the rest of your report? Also, what similar work has already been done by others?
  4. Problem: a thorough description of the specific problem you are solving with your project.
  5. Solution: a thorough description of the solution you used to solve the aforementioned problem. What did you build, and how does it work?
  6. Outcomes & Evaluation: what outcomes did you observe when you used your solution? How did you evaluate whether your solution was a success? What worked in your project and what could be refined?
  7. Conclusions & Future Work: 1-2 paragraphs summarizing your project (reiterating what you want the reader to remember from the rest of the report) and 2-3 ideas for how someone could build off of your work to continue your project.

Your report should include at least 2 tables or figures that help the reader understand the written content. Please remember to cite sources if you include any copyrighted images.

Group Member Feedback

Please use the link below to provide feedback about each member of your group, including yourself. Your feedback is due at the same time as the rest of the final project (Sunday Jan. 23 at 4 PM).