Skip to content

Latest commit

 

History

History
83 lines (58 loc) · 3.16 KB

project.md

File metadata and controls

83 lines (58 loc) · 3.16 KB
title headerImg
Final Project
pier.jpg

You will do the project in a in a group of 4 over the second half of the quarter and will evaluate it with a demo during the final exam time block.

The project will comprise 30% of your overall grade.

You are expected to spend at least 30 hours (each) in the project.

Goals and Timeline

The goal of the project is to give you some hands on experience with building a realistic application using the principles learned in CSE 230.

  • Friday 11/12 Proposal Submit here
  • Friday 11/25 Updates
  • 12/10 Demonstration

The overall goal is for you to write an application from scratch, so we will provide very basic starter code, just containing the bare library dependencies. You are free to use any existing open source libraries to build your application.

Ideas

For the project you will implement any line application using the brick library.

You can think of any application you wish. If you think your idea is unrealistic, discuss it with the course staff. Of course, it should not be any of the projects already listed or implemented by others, doing so or any of plagiarism will result in a score of zero.

Here are some ideas for you to get started

  • A clone of the fish shell with history-based autocomplete
  • An arcade game like breakout or space invaders
  • A networked two player game e.g., chess, checkers, scrabble etc.
  • A networked chat/irc/slack client
  • A vim/editor clone, extended with support for shared editing
  • A puzzle solver, e.g., sudoku.

Feel free to think of other applications!

Evaluation

The project will be evaluated based on the following criteria:

  • collaboration: the project will be a public repo on github and all members should contribute equally.
  • library usage: the project should use existing libraries of the hackage ecosystem.
  • reproduction: the project should be easily installed via cabal or stack.
  • unit testing: the project should pass unit tests that are implemented either manually or using quickcheck.
  • presentation: make sure to clearly present your goals and your implementation.

Milestone 1: Registration and Proposal

  1. Create a github repository for your project with a README.md that describes your proposed application and its goals in 300 words.

  2. Fill up a google form (to be shared) linking your project and team members.

Milestone 2: Updates

Update your README with

  • What is the architecture of your application (the key components)?
  • What challenges (if any) did you have so far and how did you solve them?
  • Do you expect to meet your goals until the deadline?
  • If not, how will you modify your goals?

Milestone 3: Demonstration

You will give a 10 min demonstration of your project during an open "poster session" to be conducted during the finals slot Friday 12/10 from 11:30am -- 2:30pm.