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


Arthur C. Fleck
Professor Emeritus
Department of Computer Science

University of Iowa
Iowa City, Iowa 52242

e-mail: fleck AT cs.uiowa.edu


Technical Interests

I first encountered computers in 1957 as a student, programming on the IBM 650 (photo, history) -- 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 unusual to find a course 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 computer (a copy of ILLIAC-I) named MISTIC (photo, history) had recently 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 information 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 have recently published a textbook, Formal Models of Computation, in this area.

The recognition of the compelling role of data structures in the programming process, together with a proliferation of programming languages and embedded facilities next fueled an interest in formalizing common data structures in a setting independent of any specific programming language. This is accomplished by developing a formal model of a data structure that reflects its essential organizing properties. The creation of an abstract definitional framework then provides a basis for precise analysis of the descriptive capacity of a data structure. One aspect of this work appeared as a chapter in the book Current Trends in Programming Methodology: Data Structuring. It was hardly coincidence that formal language concepts were found to be highly useful for this topic as well.

My most recent 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. It also includes methodology for program specification at a level abstract enough to avoid particulars such as algorithm and data structure selection, plus transformation techniques for evolving more efficient programs from prototypes known to be correct. Declarative programming languages (i.e., logic and functional paradigms) facilitate developing prototypes directly from formal specifications, and then admit general transformation techniques, and provide a natural setting for this approach. The vastly higher level of abstraction available in logic programming has led me to prefer this paradigm for prototype construction.

Further information

Valid HTML 3.2!