Date: Tue, 14 Jan 1997 23:18:52 GMT Server: NCSA/1.5 Content-type: text/html Arthur C. Fleck home page

photo of ACF :-) Art Fleck
voice greeting(aiff, 58k)


Arthur C. Fleck
Professor
Department of Computer Science

201D MacLean Hall
University of Iowa
Iowa City, Iowa 52242

phone : 319/335-0718
e-mail: fleck@cs.uiowa.edu
fax: 319/335-3624


Technical Interests

I first encountered computers in 1957 as a student, programming on the IBM 650 (the computer to which Don Knuth dedicates his series The Art of Computer Programming). At that time my academic major was in mathematics, and it was fortunate to find one or two courses on computing at most universities. I went on to do graduate work in mathematics, but continued to seriously pursue computing through a research assistantship in a lab where a copy of ILLIAC-I had just been constructed. This fostered a shared interest in both theory and practice of computing that has continued throughout my career.

My initial research efforts were in algebraic automata theory and formal languages. These areas investigate highly abstract models of computing devices and languages, and apply them to examine the ultimate limits of language processing by mechanical devices. I still find this body of theoretical material helps to provide much better insight into many practical aspects of computing, and I am currently working on a textbook in this area.

My current area of research interest is foundations of programming and programming languages. This includes the formal syntax and semantics of programming languages, methodology for construction of correct programs, and methods for formal verification of program correctness. The methodology for construction of correct programs embraces means of specifying the behavior of programs at a level abstract enough to avoid particulars such as algorithm and data structure selection (e.g., abstract data types), plus transformation techniques for evolving more efficient programs from prototypes known to be correct. Recently attention has been focused on declarative programming languages (i.e., logic and functional paradigms) that facilitate developing prototypes directly from formal specifications, and which then admit general transformation techniques.

Further information