Project Proposals

The centerpiece of this course is a team software project—but what projects will the teams work on? This is where you come in: You may propose a project, and potentially serve as customer for a team who will build it for you.

By submitting a proposal, you are agreeing to both work as a developer on one team, and also serve as customer to a different team, which is implementing your proposed software. As a customer, you will communicate with the team assigned to your project throughout the remainder of the semester, explaining your vision for the project, and giving feedback on the software they build.

Project Constraints

Things to Keep in Mind

What to Submit

To submit a proposal, fill out and submit the Markdown template below. Specifically, create a Markdown file (i.e., a text file with the file extension .md), and paste in the template below. The name of the file must be the same as the project nickname that you specify in the template (e.g., if your project’s nickname is “Facebook”, then the file should be named Facebook.md). In filling out the template, you must replace each of the xxx bits with appropriate text, but leave all the other headings as they are. Here are the instructions for each field in the template:

Important! Make sure that your proposal is totally anonymous. Do not include any identifying information in the text or even in the file name.

# Project Proposal

## Title

xxx

## Nickname

xxx

## Description

xxx

Once you have completed filling in your proposal text, you must use the Markdown PDF VS Code extension to create a “pretty” PDF, and it is this PDF that you will submit. Here is a video demo on how to use the extension.

The following is an example of a proposal that has followed the above instructions. The Markdown file is called Tic-Tac-Toe.md, and here is a link to the PDF version, Tic-Tac-Toe.pdf.

# Project Proposal

## Title

Tic-Tac-Toe: An Online Game of Xs and Os

## Nickname

Tic-Tac-Toe

## Description

The goal of this project will be to create an online tic-tac-toe game. Tic-tac-toe is a classic children's paper-and-pencil game. The following picture illustrates what a tic-tac-toe game board looks like:

![alt text](https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tic_tac_toe.svg/400px-Tic_tac_toe.svg.png "Example tic-tac-toe board.")

The game is played by two players. The game board is a 3x3 grid. The players take turns making marks on the board. One player makes Xs and one player makes Os. A player may make one mark per turn. The first player to make a row of 3 marks in the horizontal, vertical, or diagonal direction wins the game. For more details on the game of tic-tac-toe, see the [Wikipedia page](https://en.wikipedia.org/wiki/Tic-tac-toe).

People love the game of tic-tac-toe, and this app will enable them to play it online with opponents from all around the world. In addition to enabling playing the game, the app will record individual stats for each player, keeping track of, for example, a player's win/loss record and opponents played. It will award badges and ranks to players based on their historical data. The app will provide features for finding new opponents to play against. For example, it will help players search for other players at a similar level, and it will enable a player to invite other players to play right now or to schedule game times for later. During a game, players will be able to message each other in real time.

Because cases of misconduct can happen, players will have a way of reporting other players who violate the app's terms of use. Additionally, administrators will have the ability to disable the account of players who violate the rules.

Project Selection

The course instructors will review all proposals and select the ones that are deemed to be the strongest across four key criteria:

A&B Points