Skip to content

Instantly share code, notes, and snippets.

@lizTheDeveloper
Last active August 5, 2016 16:54
Show Gist options
  • Save lizTheDeveloper/da7faf8e55fa779b6803d45566ec3b52 to your computer and use it in GitHub Desktop.
Save lizTheDeveloper/da7faf8e55fa779b6803d45566ec3b52 to your computer and use it in GitHub Desktop.

Computer Science Project

Your week long project for the computer science module is a chance to explore the analytical nature of computers. It's also a chance to use your web development and design skills to make complex topics more accessible, both for yourself and for others. Because Computer Science is a very broad topic, the requirements for this project are also somewhat broad, giving you flexibility to focus on areas where you have interest.

Why?

This project is meant to augment your future capstone. You'll want to creating something general enough that it can be integrated into a web application. The point of this is to make your capstone stand out by adding a complex algorithm or data structure that you'll then actually use in a webapp. This will give you a lot to talk about in interviews, and it'll look great in a presentation or video.

Requirements

  1. Your project must have a focus on a data-structure or an algorithm.
  2. Your project must be "sufficiently challenging" for a week of work.
  • Meaning an instructor must approve your proposal
  1. Create a README.md for your project that explains how your algorithm works, and how it could be used

Thats it. Lots of freedom.

Guidelines

  • No users

  • No authentication

  • No responsive design

    • In fact user focused design at all is a bad idea
  • Focus on the algorithms, not the display

  • It's very unlikely you need a webserver for this.

  • It's very unlikely you need a complete application at all.

  • A week is not a lot of time, and user interfaces are often time-consuming

    • Focus on building something that produces data as output
    • Said data could be used by an interface later
  • tl;dr: 80% 20% rule - 80% of your focus should be analytical

Ideas

  • Trees and Graphs are especially useful data structures for solving real problems
  • Benchmarking and comparing different algorithms, especially with a nice chart, counts
  • Displaying interactive information counts:
    • Step through a nicely animated sort,

    • Navigate a graph by clicking on nodes

    • Some will be research oriented (learning new algorithms)

    • Some will be implementation oriented (Graph Visualizer, benchmarking)

    • This means an instructor must approve your proposal

Resources to explore

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment