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]
Computer programming 2026-11-05
Computer programming constructs, tests and revises programs that express computations in an executable or interpretable form. It connects a problem specification to data representations, algorithms, interfaces and error handling. Writing syntax is one part; deciding what results and failures should mean is also part of the task.
For example, computing an arithmetic mean requires representing the observations, accumulating their sum and dividing by the count. The computer program must also define what happens for an empty input, unavailable data or a number representation that cannot hold an intermediate result. Choosing an algorithm and testing ordinary examples does not automatically settle those boundary cases. A useful implementation makes its assumptions visible and supplies evidence through tests, analysis or proofs appropriate to the claim.
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]
Figure 1.
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.
Jean Gallier Created 2026-10-14 Updated 2026-11-05
Jean Gallier is a computer scientist whose research connects mathematical foundations with computer programming and geometric applications. His earlier work includes formal verification, automated deduction and unification; his later interests include computer graphics, computer vision, robotics and the geometry of curves and surfaces.[ref]
His Curves and Surfaces in Geometric Modeling: Theory and Algorithms by Jean Gallier develops geometric constructions with explicit mathematical foundations. For example, its account of affine maps separates the geometry of points from the linear maps acting on displacement vectors, a distinction useful when describing transformations in computer graphics.[ref]
Michael R. Clarkson Created 2026-10-14 Updated 2026-11-05
Michael R. Clarkson is a computer scientist whose teaching connects practical computer programming with reasoning about correctness. His work includes OCaml Programming: Correct + Efficient + Beautiful by Michael R. Clarkson and others, which develops functional programming, data structures and methods for specifying and checking program behaviour.[ref]
One characteristic example separates an abstraction function from a representation invariant. A list can represent a mathematical set, but an implementation that assumes no duplicate entries must maintain that condition after every operation. The explanation shows how an abstract interface is justified by concrete representation rules.[ref]
Figure 1. . Portrait identified on the Cornell University profile.
Peter Norvig Created 2026-10-24 Updated 2026-11-05
His programming explanations also connect compact working examples with general ideas: his spelling-correction tutorial illustrates how candidate generation and a probability model can cooperate in selecting a correction.[ref]
Figure 1.
Portrait of Peter Norvig in 2019
. Christopher Michel, photograph; Filetime, existing Commons crop. CC BY-SA 4.0. Source.