Overview

The first book of the semester, Hackers: Heroes of the Computer Revolution, examines the origin of Hackers and their associated culture and philosophy. In doing so, the book recounts elements of computing history that many students may be unfamiliar with.

The goal of the first project is for you to explore a piece of computing history by modifying or re-creating a software artifact from the past.  In addition to creating a software artifact, students must also provide an oral presentation on background or context of their chosen historical artifact and its significance in computing history.

Requirements

Working in groups of 2 - 4, students must create a software artifact that meets the following requirements:

  1. The artifact is grounded in some element of computing history.

  2. The artifact is interactive and is capable of being manipulated by a user via some sort of input device.

  3. The source code is stored on an online repository such as GitHub, GitLab, or Bitbucket.

  4. The project includes sufficient documentation to build, deploy, and use the artifact.

  5. The project README.md must explain the project and its context in terms of computing history and the importance of the historical artifact (between 250 - 500 words).

Coding Unchained

As shown above, the requirements do not require any specific tools or programming languages to be used. The project is meant as an opportunity to explore computing history and for you to learn about something of interest to you. Because of this, you should feel free to try out something new and exciting.

Ideas

Here is a list of possible project ideas:

  1. Write a text-based MUD such as Zork, Adventure, NetHack, or Rogue.

  2. Write a small operating system such as DOS.

  3. Write a game in QBasic such as Nibbles or Gorillas.

  4. Write an interpreter for LISP, FORTH, or BASIC.

  5. Write a classic game such SpaceWar!, Pac-Man, Breakout, Frogger.

  6. Write a machine emulator for the Z80, 8086, M68K.

  7. Write a telnet BBS system such as Community Memory, PLATO, or CBBS.

  8. Write a chat bot like ELIZA.

  9. Write a Doom mod.

  10. Write a program that generates/plays music (ala Samson or Dompier).

Timeline

On Tuesday, February 7, the class period will be used as a hackathon where groups can work on finishing up their project.

Hacking Fuel

To help fuel the creative enterprise, chinese food and coke will be served, provided the necessary funding can be allocated.

If you are interesed in helping pool resources, please let the instructor know.

On Thursday, February 9, students will present their projects in the informal format of a Makerspace: students will have their projects out and available for people to play around with and to ask questions.

Submission

Once you have organized your group and have code repository, please fill out the following form to let us know where to find it: