SI 413 Fall 2023 / Project


This is the archived website of SI 413 from the Fall 2023 semester. Feel free to browse around; you may also find more recent offerings at my teaching page.

brainfuck

Created by Urban Müller in 1993. The language is Turing-complete, but has an extremely minimal instruction set, no variables or functions, and extremely limited utility all around. Designed to have the smallest possible compiler.

Useful Links

Tools

The interpreter we'll use for Brainfuck is called Beef.

Everything you need is already installed on CS department lab machines in the /courses/roche/413/bin folder, which should be in your PATH.

To install on your virtual machine, follow these steps:

  1. Run sudo apt install -y beef

How I will run your code

The programs you submit should be in a single file called proj.bf, for either part of the project. I will test your code by running the following commands using the software available in the lab environment or using the instructions above:

beef proj.bf

Phase 1 Requirements

For this language, you need to implement modifications A and D. See the Phase 1 page for details on what this means.

Phase 2

See the Phase 2 Page for the list of suggested problems. Of the ones listed, I recommend the following as being most well-suited for Brainfuck:

  1. Compiler
  2. Matrix Calculator
  3. Rock, Paper, Scissors
  4. ??? (you choose!)