Software by Carl Burch

Current projects

Logisim

A logic circuit simulator, featuring a simple drawing-program interface, graphical simulation of circuit behavior, and hierarchical design capabilities. This is a larger project, with about 60,000 lines, nearly all of which are written in Java.

Lambda Calculator

A engine for executing the lambda calculus, which executes as a JavaScript-based application within a Web browser.

This project incorporates about 1,800 lines of JavaScript/jQuery code.

 

Old projects

Electra's Candy Factory

A JavaScript Web app inspired by the Apple ][ classic Rocky's Boots, an educational game for teaching about logic circuits. It stretches the limits of JavaScript in modern browsers - which is to say that it is not entirely usable. Includes about 5,000 lines of JavaScript/jQuery code.

txtselect

A command-line tool for applying a simple SQL query (without joins) to a tab-separated-value text file. As an example, suppose we have a file counties.txt where each line has a county name, the state name, and county population, separated by tabs; and suppose that we want to compute the total population for each U.S. state. Our command would be:

txtselect 'c2, sum(c3) from counties.txt group by c2'

This is a tiny project developed in Python. It fits into a single 400-line file.

Karnaugh Calculator

A JavaScript Web app that takes a truth table of up to 1,024 rows and reduces it to a minimized sum-of-products Boolean expression. Designed for the iPod touch and iPhone, but it should work with any reasonable Web browser (i.e., not IE).

Jigsaw

An IDE for developing Java programs designed for beginning students of computer programming. (Developed in conjunction with Hendrix faculty and students.)

The com.cburch.editor package

A library of Java 5.0 classes intended to facilitate text editor development. This was developed for Jigsaw but could easily be used in other programs also.

 

Models of computation series (SOCS)

PNM Viewer (Java application)

SimHYMN (Java application)

A simulator and assembler for a simple 8-instruction CPU.

Robot API (Java API)

A library of classes useful for illustrating simple, imperative programs written in Java.

Automaton Simulator (Java application)

Grammar Editor (Java application)

Lambda Calculator (Java application)

 

Lesser programs

The Un-Mouse (Java application)
Visigrade, a grade visualizer (Java application)
Karatsuba multiplication (C code)