Overview

The second book of the semester, Hackers and Painters, examines the power of programming languages in enabling the rapid development of web applications and services such as Viaweb.

The goal of the second project is for you to explore non-mainstream programming languages by creating a web application or service. In addition to creating a software artifact, students must also present a TechCrunch-style startup pitch that demonstrates and highlights the features of their web application.

Requirements

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

  1. The artifact is written primarily in a relatively non-mainstream language such as:

    Moreover, the artifact must utilize a unique feature of the language such as:

    • Functional Programming
    • Meta-programming (ie. macros)
    • Concurrency/Parallel Constructs
    • Advanced Type Facilities

    The important thing is that you stretch your mind a bit :].

  2. The artifact is a web application (interactive) or web service (provides a RESTful API).

  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 describe how it uses unique features of the non-mainstream language.

Timeline

On Tuesday, March 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, March 9, students will present their projects in the informal format of a TechCrunch startup sales pitch:

The pitch (6-8 minutes) must do the following:

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: