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

The BASIC programming language is one of the oldest available for this project (it was invented by Kemeny and Kurtz in 1964). It was originally designed to help beginners accomplish simple programming tasks on interactive computers. Due to its easy-to-learn design and wide availability (particularly on early Commodore and IBM computers), many computer scientists today learned BASIC as their first programming language.

But since it was designed primarily to be easy to use and interpret on very low-resource computers, BASIC has its limitations. The most famous one is the extensive use of GOTO statements for control flow. That's right - you won't be seeing any for loops, while loops, or even functions in BASIC, just the good ol' GOTO.

The version of BASIC we will be using is specifically engineered to match the was early implementations of BASIC worked, with all their quirks and limitations. For example, variable names can be any length, but only the first two letters and the first number count to distinguish them. So be careful! And have fun! That's what BASIC is supposed to be for.

Useful Links

How I will run your code

The programs you submit should be in a single file called proj.bas. I will run your code on the CS Linux environment, using the command

vintbas proj.bas

Phase 1 Requirements

For this language, you need to implement modifications A, B, C, D, and G. 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 BASIC:

  1. Compiler
  2. Matrix Calculator
  3. Hangman
  4. TODO list
  5. Vending Machine
  6. Frequency count
  7. Find the missing digits
  8. ??? (you choose!)