Skip to content
This repository has been archived by the owner on Aug 21, 2023. It is now read-only.

CompArchFA17/FinalProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

CompArch Final Project

The goal of the final project is for you to explore a topic of interest within Computer Architecture, driven by your personal learning goals. This could build on and extend something we discussed in class, or dive into some other area of Computer Architecture (broadly defined).

You may work in teams of any size, as long as they are appropriately scaled for your proposed project. Groups with > 4 members will face heavy skepticism about meeting this requirement.

In terms of scale, this is not a months-long capstone but rather more like an extended Lab. You will have about 2 weeks to complete it, and it will comprise 15% of your final grade. Be ambitious but realistic.

Timeline

  • Nov 17 (in class) – project ideation and team formation fair
  • Nov 28 (in class) – draft project proposal due , consultations with teams
  • Nov 29 – revised project proposal and work plan due
  • Dec 5 – mid-point check in (self-defined in work plan, highly recommended)
  • Dec 12 – final project due

Proposal (10%)

Your project proposal should be about 1-2 pages, and must include:

  • Project title
  • Team members
  • Brief description of project (1-3 paragraphs)
  • 2-3 references you plan to use
  • Minimum, planned, and stretch deliverables
  • Work plan (by Tuesday)

We will discuss your proposal in class on November 28 (first class after break). These meetings will be quick and to-the-point, so you must come prepared with a printed out copy of your proposal. You should have done some background research by this point and have a good idea of your planned project trajectory.

Based on the feedback from this meeting, you will revise your proposal and submit the final version including a work plan the following day.

Documentation (55%)

The documentation counts for 55% of your grade whether you succeed at your goal or not. Did you shoot for the moon and land among the harsh vacuum of space? You still learned something from the process, and as long as you document it well, you will get full credit.

Documentation should be posted in the form of a project website (PDF or MarkDown in a repo can also be acceptable depending on the project) and must answer the following questions:

What did you do?

Your project abstract: one catchy sentence followed by a paragraph or two. The intended audience should include people that aren't necessarily versed in Computer Architecture, but are technically competent.

Why did you do it?

A paragraph or so about why the project you chose is worthwhile and interesting.

How did you do it?

This portion can assume an audience that has taken Computer Architecture, but don't let the story you’re telling get bogged down by buzzwords. A sure sign of a bad engineer is ORA (over reliance on acronyms).

How can someone else build on it?

Include everything necessary to pick up where you left off. This should include (as appropriate):

  • code
  • schematics
  • scripts and build instructions
  • proper attribution for resources used and anything you did not write yourself
  • list of difficulties and ‘gotchas’ while doing this project
  • reflection on the project as a whole as well as your work plan
  • possible TODOs to extend the depth of the project

This should all be posted somewhere accessible, e.g. your project webpage or repository. Please do not literally include these question prompts and then answer them (you're better than that) - instead, use them to check that you've covered all the bases as you tell the story in the way that best makes sense for your project.

Choosing and Achieving your Goal (30%)

There is a lot of flexibility available in what your actual final project can be. As a first pass, it needs to satisfy the following criteria:

  1. Build upon what we have learned in class this semester or other "Computer Architecture" topics
  2. Have well-defined criteria for when it is finished and successful
  3. Be achievable within the time allotted

Possible broad directions:

  • Extending something you started in Computer Architecture
  • Teaching somebody something cool about Computer Architecture
  • Something useful to someone that uses Computer Architecture
  • Something that needs the skills learned in Computer Architecture
  • Something that you can present at Expo that will make people want to take Computer Architecture

Append one of the following phrases to a cool project idea to make it more CompArch-y:

  • ... with an FPGA
  • ... in assembly
  • ... on a GPU
  • ... inside a nested series of black boxes
  • ... hardware accelerated

As you put your project plans together, remember that a major portion of the project is communicating it to others.

Demo (5%)

We’ll present your project work during the time blocked out for "final exam" period – December 12 from 12 – 3PM. This is mainly an opportunity to show off and celebrate your great work (small percentage of overall grade), and the details are up to you.

The "default" option is a poster version of your project documentation (along with a running live demo if appropriate), so that folks can walk around in a studio session and see what you did. Maybe you feel that a presentation is more appropriate for your project work. Perhaps a tutorial session with everyone participating makes the most sense. It could be that only a puppet show truly captures the essence of your project. Think about final demo format as you put together your proposal, but you don't need to make a final decision just yet.

Good luck, and have fun!

Releases

No releases published

Packages

No packages published