The University of Arizona / Computer Science / UAScience
The University of Arizona

Gregg M. Townsend

Staff Scientist

I design and build software packages. I now work almost exclusively on Unix systems, but I've also worked extensively with the IBM 1401, CDC 6600, PDP-10, Poly-88, and Arduino.

My interests include software tools, languages, code generation, virtual machines, optimization, image processing, watermarking, compression, cryptography, calligraphy, cartography, recreational mathematics, heuristics, visualization, and music.

I joined the Department of Computer Science in 1984 after receiving an M.S. degree from the University of Arizona. Before that I worked as a CDC systems programmer at the Computer Center. I retired in 2009 with a total of 36 years of university service but have more recently been lured back on a part-time basis.

I belong to ACM and IEEE and support the EFF.


The Icon programming language
Jcon, a Java implementation of Icon

The SR programming language
The MPD programming language

dlgvu, a USGS topo map viewer
tgrmap, a TIGER map viewer

TopoVista, an interactive terrain viewer
sdts2dem, a translator for SDTS DEM files

Algorithm animation: bin packing
Algorithm animation: traveling salesman


Graphics Programming in Icon


The Arizona Webcam, which I developed
The Illinois Zephyr, a CDC-compatible CPU

Genealogy: Townsend, Killam, Celley...

Test Patterns