Brian Harvey 2026-11-05
Brian Harvey developed the Berkeley Logo implementation with student collaborators and used programming as a medium for exploring ideas. His project page identifies the interpreter and its collaborators; his teaching homepage describes work in introductory computing and pre-college education.[ref][ref]
The command repeat 4 [forward 100 right 90] draws a square by repeating one movement-and-turn rule. Its compact structure connects computer programming, geometry and a visible result, while changing the number of repetitions and angle provides an immediate experiment with the procedure. The language also supports symbolic data and recursion, so its use goes beyond drawing pictures.[ref]
Logo 2026-11-05
Logo is a programming language with procedures, lists and interactive evaluation, often used to make algorithmic ideas visible through turtle graphics. The turtle has a position and heading; motion commands can draw a line while changing that state. For example, repeat 4 [forward 100 right 90] draws a square and returns to the initial heading. Each turn is an exterior angle, so a regular -gon uses turns of degrees.[ref]
A named procedure can package this instruction pattern and accept a side length as a parameter. Repeated calls and recursive procedures then produce more elaborate drawings without storing every line explicitly. The language also manipulates words and lists; turtle drawing is a useful experimental interface for studying programs, rather than the entire language.
Turtle graphics 2026-11-05
Turtle graphics draws through commands interpreted relative to a moving cursor's position and heading. A forward command moves along the current heading, a turn changes it, and pen state determines whether motion leaves a mark. The picture is the trace of a sequence of state changes, making geometric reasoning executable.[ref]
In Logo, repeat 4 [forward 100 right 90] draws a square and returns to the original heading and position. For a regular -sided polygon, each exterior turn is degrees, so the total turning is one full revolution. The same procedure works from a different initial position or heading, illustrating how local commands avoid specifying every absolute coordinate.