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]
https://people.eecs.berkeley.edu/~bh/logo.html. Berkeley Logo project authorship
[ref]https://people.eecs.berkeley.edu/~bh/. Teaching and education account
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]Berkeley Logo 6.2 User Manual by Brian Harvey. Graphics, FORWARD/RIGHT; Control Structures, REPEAT
Portrait of Brian Harvey
. Source. Hal Abelson Created 2026-10-24 Updated 2026-11-05
Hal Abelson is a computer scientist whose work uses computer programming as a way to express and investigate ideas. With Gerald Jay Sussman, he developed the course behind Structure and Interpretation of Computer Programs by Harold Abelson and others. Its use of Scheme connects concrete programs with programming abstraction, recursion and the organization of computations.[ref]
His work on Logo and computational geometry also brought mathematical exploration into programming education. Rather than treating a program only as a sequence of commands, this approach lets a learner examine how a compact procedure generates an entire family of behaviours.[ref]
Portrait of Hal Abelson
. Joi, Flickr photograph, 23 June 2011; Commons records a successful CC BY 2.0 Flickr review. Creative Commons Attribution 2.0 Generic., via Wikimedia Commons. Source. 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]Berkeley Logo 6.2 User Manual by Brian Harvey. Graphics and Control Structures, FORWARD, RIGHT and REPEAT
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]
Berkeley Logo 6.2 User Manual by Brian Harvey. Graphics, FORWARD, RIGHT, PENUP and PENDOWN
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.
