\documentclass[12pt]{article}

\setlength{\parindent}{0pt} \setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in} \setlength{\textwidth}{6.5in}
\setlength{\headheight}{0in} \setlength{\headsep}{0in}
\setlength{\topmargin}{0in} \setlength{\textheight}{8.5in}
\setlength{\parsep}{0pt} \setlength{\parskip}{0pt}
\setlength{\partopsep}{0pt} \setlength{\topsep}{2pt}

\renewcommand{\section}[1]{ \vspace{20pt}\begin{flushleft}{\large\bf
    #1}\end{flushleft}\nopagebreak }

\renewcommand{\thebibliography}[1]{ \list
  {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
    \advance\leftmargin\labelsep \usecounter{enumi}}
  \def\newblock{\hskip .11em plus .33em minus -.07em} \sloppy
  \sfcode`\.=1000\relax}

\begin{document}

\begin{center}
  {\Large\bf Michael J. O'Donnell}\\ (17 November 1999)
\end{center}

\hbox{
\parbox[t]{4.75in}{
\begin{flushleft}
  The University of Chicago\\ Department of Computer Science\\ Ryerson
  Hall, 1100 E. 58th St.\\ Chicago, IL 60637\\ (773) 702-1269\\ 
  \emph{michael\_odonnell@acm.org odonnell@cs.uchicago.edu}\\ \emph{http://www.cs.uchicago.edu/\raisebox{-0.25\baselineskip}{\char'176}odonnell}
\end{flushleft}
}

\hfill

\parbox[t]{1.5in}{
\begin{flushleft}
  215 Harbor St.\\ Glencoe, IL 60022-1941\\ (847) 835-1837
\end{flushleft}
} }

\section{Vita}
\begin{tabular}{ll}
  Birth & Spartanburg SC, 4 April, 1952 \\ Family & Married, 2
  children \\ Citizenship & United States of America \\ SSN &
  227-64-8033
\end{tabular}

\section{Education}
\begin{tabular}{lllll}
  B.S. & Computer Sciences & Highest Distinction & Purdue University &
  1972 \\ Ph.D. & Computer Science & R.~Constable, advisor & Cornell
  University & 1976
\end{tabular}

\section{Employment}
\begin{tabular}{lll}
  Research Associate & University of Toronto & 1976--1977 \\ & & (on
  leave from Purdue) \\ Assistant Professor & Purdue University &
  1976--1981 \\ Associate Professor & Purdue University & 1981--1985
  \\ Visiting Associate Professor & The Johns Hopkins University &
  1983--1984 \\ & & (on leave from Purdue) \\ Associate Professor &
  The Johns Hopkins University & 1984--1985 \\ & & (on leave from
  Purdue) \\ Professor & University of Chicago & 1985--present \\ 
  Associate Chairman C.S. & University of Chicago & 1986--1987 \\ 
  Chairman of C.S. Dept. & University of Chicago & 1987--1990 \\
  Visiting Professor & University of Iowa & 1996-1997 \\ & & (on
    sabbatical from U.~Chicago)
\end{tabular}

\section{Professional Societies}
ACM, IEEE Computer Society, Association for Symbolic Logic,
Computer Professionals for Social Responsibility, Acoustical Society
of America, American Physical Society
\pagebreak

\section{Research Interests}
\begin{itemize}
\item Sound synthesis.
\item Semantics for constructive reasoning.
\item Logical foundations for error-tolerant reasoning.
\end{itemize}


\section{Papers in Refereed Journals}
\begin{thebibliography}{22.}

\bibitem{geometry} Geometrical problems with applications to hashing
  (with D.~Comer).  \newblock \emph{SIAM Journal on Computing,}
  11(2):217--226, May 1982.  \newblock Also appeared as Purdue
  University Technical Report TR-303, 1979.

\bibitem{pattern} Pattern matching in trees (with C.~Hoffmann).
  \newblock \emph{Journal of the ACM,} 29(1):68--95, January 1982.
  \newblock Also appeared in the collection \newblock \emph{Computer
    Algorithms: string pattern matching strategies,} \newblock J.-I.
  Aoe, editor, \newblock IEEE Computer Society Press, Los Alamitos CA,
  \newblock 1994, 154--181.

\bibitem{programming} Programming with equations (with C.~Hoffmann).
  \newblock \emph{ACM Transactions on Programming Languages and
    Systems,} 4(1):83--112, January 1982.  \newblock A preliminary
  version of \cite{pattern,programming} with some additional material,
  appeared as \newblock An interpreter generator using tree pattern
  matching.  \newblock \emph{6th Annual ACM Symposium on Principles of
    Programming Languages,} 169--179, January 1979.

\bibitem{critique} \newblock A critique of the foundations of
  Hoare-style programming logics.  \newblock \emph{Communications of
    the ACM,} 25(12):927--934, December 1982.  \newblock Also appeared
  as Purdue University Technical Report TR-338, 1980, and in the
  \newblock \emph{Logics of Programs Workshop,} D.~Kozen editor,
  Yorktown Heights, New York, May 1981, \emph{Lecture Notes in Computer
    Science,} 131:349--374, Springer-Verlag, 1982.

\bibitem{type} The expressiveness of simple and second order type
  structures (with S.~Fortune and D.~Leivant).  \newblock \emph{Journal
    of the ACM,} 30(1):151--185, January 1983.  \newblock Also
  appeared as IBM Research Report RC 8542 (\#37221) 10/31/80.
  \newblock Some of the material in this paper also appeared in
  conference~\cite{independent} and lecture~\cite{proof}.

\bibitem{interconnect} A combinatorial problem concerning
  interconnection networks (with C.~Smith).  \newblock \emph{IEEE
    Transactions on Computing,} C-31(2):163--164, February 1982.
  \newblock Also appeared as Purdue University Technical Report CSD TR
  352, 1981.

\bibitem{hash} A combinatorial analysis of static-key hashing (with
  F.~Berman, M.~Bock, E.~Dittert and D.~Planck).  \newblock \emph{SIAM
    Journal on Computing,} 15(2):604--618, May 1986.

\bibitem{sort} Lower bounds for sorting with realistic instruction
  sets (with E.~Dittert).  \newblock \emph{IEEE Transactions on
    Computers,} C-34(4):311--317.  April 1985.  \newblock Also
  appeared as Johns Hopkins University Technical Report JHU/EECS
  84/06.  \newblock An error is corrected in C-35(10):932, October
  1986.

\bibitem{implementation} Implementation of an interpreter for abstract
  equations (with C.~Hoffmann and R.~Strandh).  \newblock
  \emph{Software---Practice and Experience,} 15(2):1185--1204, December
  1985.  \newblock An earlier version, by Hoffmann and O'Donnell,
  appeared in \emph{10th Annual ACM Symposium on Principles of
    Programming Languages,} 111--120, January 1984.  \newblock Also
  appeared as Johns Hopkins University Technical Report
  JHU/EECS/84/03, 1984.

\bibitem{representation} How to prove representation-independent
  independence results (with S.~Kurtz and J.~Royer).  \newblock
  \emph{Information Processing Letters,} 24:5--10, January 1987.
  \newblock Also appeared as University of Chicago Department of
  Computer Science Technical Report 85-006, 1985.

\bibitem{lauchli-countermodels} Some intuitions behind realizability
  semantics for constructive logic: Tableaux and L\"auchli countermodels (with
  J.~Lipton). \newblock \emph{Annals of Pure and Applied Logic},
  81:187--239, 1996.
\end{thebibliography}

\section{Competitive Conference Papers}
\begin{thebibliography}{22.}

\bibitem{independent} A programming language theorem which is
  independent of Peano arithmetic.  \newblock \emph{11th Annual ACM
    Symposium on Theory of Computing,} 176--186, May 1979.  \newblock
  Similar papers appeared as A practical programming theorem which is
  independent of Peano arithmetic.  \newblock \emph{100th Anniversary
    Conference in honor of Gottlob Frege,} Friedrich Schiller
  Universit\"at, Jena, D.D.R., 1979, \newblock and as Purdue
  University Technical Report TR-299, 1979.

\bibitem{simulation} Parallel stepwise simulation of combinatory
  reduction systems.  \newblock \emph{1984 Conference on Information
    Sciences and Systems,} Princeton, N.J., May 1984.  \newblock A
  longer version containing additional material appeared as Universal
  reduction systems for sequential and parallel computation, \newblock
  Johns Hopkins University Technical Report JHU/EECS/84/04, 1984, and
  was included in book \cite{equations}.

\bibitem{error} Realizability semantics for error-tolerant logics
  (with J.~Mitchell).  \newblock In J.~Halpern, editor, {\em
    Theoretical Aspects of Reasoning About Knowledge, Proceedings of
    the 1986 Conference,} Morgan Kaufman, New York, 1986.  \newblock
  An earlier version by O'Donnell appeared as A type-theoretic
  foundation for epistemic and relevance logics, Johns Hopkins
  University Technical Report JHU/EECS/85/02.

\bibitem{real} Exact real arithmetic: a case study in higher order
  programming (with H-J.~Boehm, R.~Cartwright, and M.~Riggle).
  \newblock \emph{1987 Symposium on LISP and Functional Programming}.

\bibitem{nonterminating-confluence} Testing confluence of
  nonterminating overlapping systems of rewrite rules (with Y.~Chen).
  \newblock \emph{Conditional and Typed Rewriting Systems,} \newblock
  2nd International CTRS Workshop, Montreal, June 1990.  \emph{Lecture
    Notes in Computer Science} 516, Springer-Verlag, 1991, pp.
  127--136.  \newblock Preliminary versions appeared as University of
  Chicago Department of Computer Science Technical Report 89-03, 1989
  and 90-07, 1990.

\bibitem{infinite-terms} Infinite Terms and Infinite Rewritings (with
  Y.~Chen).  \newblock \emph{Conditional and Typed Rewriting Systems,}
  \newblock 2nd International CTRS Workshop, Montreal, June 1990.
  \emph{Lecture Notes in Computer Science} 516, Springer-Verlag, 1991,
  pp. 115--126.  \newblock Preliminary version appeared as University
  of Chicago Department of Computer Science Technical Report 90-08,
  1990.

\end{thebibliography}

\section{Book Chapters}

\begin{thebibliography}{22.}

\bibitem{handbook-intro} Introduction: Logic and Logic Programming Languages.
  \newblock Chapter 1 of \emph{Handbook of Logic in Artificial
    Intelligence and Logic Programming,} volume 5 on \emph{Logic
    Programming,} \newblock D.~Gabbay, editor. \newblock 1998, pp.~1--67.

\bibitem{handbook-elp} Equational Logic Programming.  \newblock
  Chapter 2 of \emph{Handbook of Logic in Artificial Intelligence and
    Logic Programming,} volume 5 on \emph{Logic Programming,} \newblock
  D.~Gabbay, editor. \newblock 1998, pp.~69--161.

\end{thebibliography}

\section{Open Conference Papers and Technical Reports}

\begin{thebibliography}{22.}

\bibitem{fully} Toward a fully parallel implementation of the lambda
  calculus (with R.~Strandh).  \newblock Johns Hopkins University
  Technical Report JHU/EECS/84/13, 1984.

\bibitem{interpolation} Multidimensional interpolation at inaccurate
  points (with E.~Dittert).  \newblock Johns Hopkins University
  Technical Report JHU/EECS/84/17, 1984.

\bibitem{unorientable-equations} Proving unorientable equational
  formulas (with Y.~Chen).  \newblock University of Chicago Department
  of Computer Science Technical Report 90-26, August 1990.

\bibitem{head-bounded} Nonterminating rewritings with head boundedness
  (with Y.~Chen).  \newblock University of Chicago Department of
  Computer Science Technical Report 90-27, August 1990.  Submitted for
  journal publication.

\bibitem{constructive-lecture} Connecting formal semantics to
  constructive intuitions (with S.~Kurtz, J.~Mitchell).  \newblock
  Proceedings of a Symposium on Constructivity in Computer Science,
  Trinity University, San Antonio TX, June 1991.  \newblock
    \emph{Lecture Notes in Computer Science,} Volume 613, Springer-Verlag,
  1992, pp. 1--21.  \newblock Also appeared as University of Chicago
  Department of Computer Science Technical Report 92-01, January 1992.
  \newblock Also presented at the annual meeting of the {\em
    Association for Symbolic Logic,} Notre Dame, February 1993.

\bibitem{excite-formant} Decomposition of steady state instrument data into an
  excitation system and a formant filter components (with
  I.~Bisnovatyi).  \newblock COST Digital Audio Effects Workshop,
  DAFx99, Trondheim, Norway, 9-11 December 1999.
\end{thebibliography}

\section{In Preparation and Submitted}
\begin{thebibliography}{22.}

\bibitem{antinonmonotonic} Against Nonmonotonic Logic.

\bibitem{relational-realizability} Relational realizability (with
  J.~Lipton).

\bibitem{leveled-gc} Leveled Garbage Collection (with G.~Tong).

\end{thebibliography}

\section{Books}
\begin{thebibliography}{22.}

\bibitem{systems} \emph{Computing in Systems Described by Equations,
    Lecture Notes in Computer Science,} Volume 58, Springer-Verlag,
  1977.  \newblock A preliminary version appeared as Subtree
  replacement systems: a unifying theory for recursive equations,
  LISP, Lucid and combinatory logic.  \newblock \emph{9th Annual ACM
    Symposium on Theory of Computing,} 295--305, May 1977.  \newblock
  Also appeared as Reduction Strategies in Subtree Replacement
  Systems, Ph.D.  Dissertation, Cornell University, August 1976.

\bibitem{logic} \newblock \emph{A Programming Logic} (with
  R.~Constable), Winthrop, 1978.

\bibitem{equations} \emph{Equational Logic as a Programming Language,}
  MIT Press, 1985.  \newblock Includes some material from papers
  \cite{pattern,programming,implementation} and conference
  \cite{simulation}, as well as original material.

\end{thebibliography}

\section{Software Research Projects}

\emph{Equation Interpreter/Compiler,} (with
C.~Hoffmann, G.~Sacco, P.~Golick, R.~Strandh, S.~Rebelsky, D.~Sherman,
S.~Bailey).  Announced in \emph{SIGPLAN Notices,} September 1983.
Demonstrated at the \emph{Workshop on Logics of Programs,} 1985.
Abstract appeared as ``Equational logic as a programming language'',
\emph{Logics of Programs: Proceedings 1985, Lecture Notes in Computer
  Science} 193:255, Springer-Verlag, 1985.  First distribution May,
1983.  Second distribution as compiler December, 1985.  Distributed to
Purdue University; Indiana University; The Johns Hopkins University;
Los Alamos National Laboratory; Stichting Mathematisch Centrum,
Amsterdam; Oregon Graduate Center; Universit\"at des Saarlandes;
Mergenthaler Linotype, Frankfurt; Philips Research Laboratories,
Sunnyvale, California; University of North Carolina; Moorhead State
University; Tektronix, Portland, Oregon; The Foxboro Co.,
Massachusetts; Colby College; Scientific Calculations, Inc., Santa
Cruz, California; University of Iowa; Telefonaktiebolaget L. M.
Ericsson, Stockholm, Sweden; Universit\"at Ulm, Germany; U.C.
Berkeley; SUN Microsystems; SCS, Hamburg; University of Michigan;
Lulea University, Sweden; University of Tasmania; University of York;
University of Wisconsin; Advanced Computer Communications, Santa
Barbara, CA; MCC; Franz, Inc.; Universit\'e de Gen\`eve; Rice
University; University of Louvain; University of North Carolina;
University of Washington; University of Arizona; Software Research
Associates, Tokyo; Weizmann Institute; SUNY College of Technology;
Imperial Software Technology, Cambridge England; Coll\`ege Militaire
Royal de Saint-Jean, Quebec; Gesselschaft f\"ur Mathematik und
Datenverarbeitung mbH, Sankt Augustin, Germany; MacQuarie University,
North Ryde, Australia; University of Nebraska; Memorial University of
Newfoundland; Universit\"at Kaiserslautern; Carnegie-Mellon
University; University of Queensland, Australia; University of New
Hampshire.

\emph{\LaTeX\ macros for the Chicago Journal of Theoretical Computer
  Science}. \emph{cjstruct.cls} allows unambiguous
structural markup of published journal articles in \LaTeX\ source
format. First version distributed 4 April 1995. Used by MIT Press for
\emph{CJTCS} and for the \emph{Journal of Functional and Logic
Programming}.

\section{Invited Lectures}
\begin{thebibliography}{22.}

\bibitem{proof} Computational complexity and proof-theoretic power in
  typed lambda calculi.  \newblock \emph{American Mathematical Society
    Summer Meeting,} 1982.  \newblock Abstract appeared in {\em
    Abstracts of the American Mathematical Society,} 3(5):376, August
  1982.  \newblock Results from paper~\cite{type}.

\bibitem{lectures} Two lectures on logic and computer science: 1. Does
  arrow denote implication or functionality?  A profound mathematical
  pun.  2. Why the Church-Turing thesis doesn't help parallel
  functional programming.  \newblock \emph{University of Maryland
    Special Year in Mathematical Logic and Theoretical Computer
    Science,} October 1984.  \newblock Results from paper~\cite{type},
  book~\cite{equations}, and original material.

\bibitem{universal} What it means to have a universal parallel
  reduction language.  \newblock \emph{Graph Reduction Workshop,} Santa
  Fe, October 1986.  \newblock Results from book~\cite{equations}.

\bibitem{survey} Survey of the equational logic programming project.
  \newblock \emph{Colloquium on Resolution of Equations in Algebraic
    Structures,} Lakeway, Texas, March 1987.  \newblock Survey of
  material from papers~\cite{programming,implementation},
  book~\cite{equations}, plus original material.

\bibitem{rewriting} Term-rewriting implementation of equational logic
  programming.  \newblock In P.~Lescanne, editor, \emph{Rewriting
    Techniques and Applications --- Bordeaux, France, May 1987 ---
    Proceedings, Lecture Notes in Computer Science,} 256,
  Springer-Verlag, 1987.  \newblock Similar material to invited
  lecture~\cite{survey}.

\bibitem{open} Open Problems in Equational Logic Programming.
  \newblock Distinguished Lecture Series, SUNY Stony Brook, February
  1988.  \newblock Similar material to invited
  lectures~\cite{survey,rewriting}.

\bibitem{equation} Equational Logic as a Programming Language.
  \newblock Colloquium Series in Term Rewriting, Portland State
  University, March 1991.  \newblock Similar material to invited
  lectures~\cite{survey,rewriting,open}.

\bibitem{electronic-journal} Electronic Journals---scholarly
  invariants in a changing medium. \newblock Conference on Academic
  and Professional Journals in the Twentieth Century, University of
  Chicago, April 1992 (presented by author as discussant for session
  on ``The Future of Journals''). \newblock Also appeared
  (invited, unrefereed) in \emph{Journal of Scholarly Publishing,} volume 26,
  number 3, April 1995, University of Toronto Press, pp.\ 183-199, and as
  University of Chicago Department of Computer Science Technical
  Report 92-07, April 1992.

\bibitem{e-journal-issues} Issues Involved in Publishing an Electronic
  Journal.  \newblock Seminars on Academic Computing 1993 University
  Executive Program, Snowmass CO, August 1993.  \newblock Very similar
  to \cite{electronic-journal}, but a more detailed
  presentation---revised version of paper appeared as University of
  Chicago Department of Computer Science Technical Report 93-11, July
  1993.

\bibitem{mfcs} Intuitive Counterexamples for Constructive Fallacies
  (with J.\ Lipton).  \newblock {\it Mathematical Foundations of
    Computer Science 1994 --- 19th International Symposium, MFCS '94,
    Ko\u{s}ice, Slovakia, August 1994 --- Proceedings, Lecture Notes
    in Computer Science,} volume 841, Igor Pr\'{\i}vara, Branislav
  Rovan and Peter Ru\u{z}i\u{c}ka editors, Springer-Verlag, 1994, pp.\ 
  87--111.

\bibitem{electronic-academy} The Structure of Scholarship in
  Cyberspace. \newblock \emph{Professors and Publishing in the
  Electronic Academy}. The University of Tennessee, Knoxville Library,
  September 1996.

\bibitem{formal-certainty} The Sources of Certainty in Computation and
Formal Systems. \newblock \emph{Computer Science as a Human Science:
The Cultural Impact of Computerization}, the 1999--2000 Sawyer Seminar 
at the University of Chicago. The University of Chicago, October 1999.

\end{thebibliography}

\section{Editorial Duties}
\begin{enumerate}
\item Category editor for Theory of Computation, \emph{Computing
    Reviews,} 1985--1987.
\item Managing Editor and founder of the \emph{Chicago Journal of Theoretical
    Computer Science,} a refereed scholarly journal published by MIT Press
    on the World Wide Web, 1994--present.
\item Member of Editorial Board for the \emph{Journal of Functional and
Logic Programming,} 1995--present.
\end{enumerate}

\section{Refereeing}
\emph{Journal of Computer and Systems Sciences; SIAM Journal on
  Computing; Communications of the ACM; Journal of the ACM; ACM
  Transactions on Programming Languages and Systems; Information
  Processing Letters; Software Practice and Experience; Journal of
  Computer Languages; Theoretical Computer Science; Information and
  Control; Acta Informatica; Journal of Philosophical Logic.} ACM
annual conference; MIT Press; Elsevier North-Holland; Springer-Verlag;
National Science Foundation; Research Council of Canada; Australian
Research Grants Scheme; \emph{Journal of Symbolic Computation.}

\section{Program Committees}
\begin{enumerate}
\item \emph{25th Annual IEEE Symposium on the Foundations of Computer
    Science,} 1984.
\item \emph{12th Annual ACM Symposium on Principles of Programming
    Languages,} 1985.
\item \emph{26th Annual IEEE Symposium on the Foundations of Computer
    Science,} 1985.
\item \emph{1985 Conference on Information Sciences and Systems,}
  cochairman.
\item \emph{13th Annual ACM Symposium on Principles of Programming
    Languages,} 1986
\item \emph{14th Annual ACM Symposium on Principles of Programming
    Languages,} 1987, chairman.
\item \emph{Rewriting Techniques and Applications,} 1991.
\item \emph{Rewriting Techniques and Applications,} 1993.
\item \emph{Dartmouth Institute for Advanced Graduate Studies, 4th
    annual summer symposium, Electronic Publishing and the Information
    Superhighway,} 1995.
\end{enumerate}

\section{Professional Service}
\begin{enumerate}
\item Organized Midwest Theory of Computation Meeting, December 1986.
\item Founder and president of Midwest Society for Programming
  Languages and Systems (Midwest Local SIGPLAN), 1987--1994.
\item National Science Foundation Research Initiation Panel, February
  1988.
\item Conference cochair for \emph{16th Annual ACM Symposium on
    Principles of Programming Languages,} 1989.
\item Advisory Board for Foundations of Computation Laboratory, Key
  Centre for Software Technology, Department of Computer Science, The
  University of Queensland, 1989--present.
\item National Science Foundation Small-Scale Institutional
  Infrastructure Panel, June 1990.
\item Founded the Association of Electronic Scholarly Journals, 1990.
\item New York Statewide Review of Doctoral Programs, site visitor,
  October 1990.
\item Universities Space Research Association Science Councils: CESDIS
  1991--1996, ICASE 1991--1992.
\item Conference cochair for research contributions
    \emph{Constructivity in Computer Science,} 1991.
\item NSF/CRA Workshop on the Computing Research Infrastructure, July
  1991.
\item Advisory Board for the Information Science Research Institute at
  the University of Nevada, Las Vegas, 1991--1994.
\item Organizing Committee, \emph{Third International Conference on
    Algebraic Methodology and Software Technology,} 1992--1993.
\item Organized \emph{Annual NSF Infrastructure Workshop,} June 1993.
\end{enumerate}

\section{University Administration and Service}
\begin{center}
  {\large\bf Purdue University}
\end{center}
\begin{itemize}
\item Dept. of Computer Sciences Undergraduate Committee, 1977--1978.
\item Organized Theoretical Computer Science Seminar, 1978--1983.
\item School of Science Student Cases Committee, 1978--1980.
\item Science Board (renamed Science Council), a faculty/student
  service organization in the School of Science, 1978--1983.
\item Dept. of Computer Sciences Faculty Secretary, 1979--1981.
\item Faculty advisor to Purdue Velo Club, 1980--1981.
\item Faculty advisor to Purdue Ethnic Dancers, 1980--1983.
\item Graduate Council, 1980--1983.
\item School of Science Grade Appeals Committee, 1980--1983.
\item Department of Computer Sciences Personnel Committee, 1981--1983.
\item Evaluated Purdue Fellowship Candidates, 1980.
\item Evaluated Purdue Summer XL Proposals, 1982.
\item PALS program computer demonstration for high school students,
  1979--1982.
\item Lecture to high school students on careers in Computer Science,
  1981.
\item Special Graduate School committee to study retention of female
  graduate students, 1982--1983.  Produced a detailed multifactor
  statistical study of graduate student retention at Purdue.
\item Department of Computer Sciences Head Search Committee, 1983.
\end{itemize}
\pagebreak
\begin{center}
  {\large\bf The Johns Hopkins University}
\end{center}\nopagebreak
\begin{itemize}
\item CSNet Liaison, 1983--1985.
\item Engineering Computing Facility Advisory Committee, 1983--1985.
\item Chairman, Faculty Search Committee, 1984.
\item \emph{Ad Hoc} Committee to Study Fiber Optic Network, 1984.
\item Facilities Manager for EECS UNIX 1984--1985.  Installed two VAX
  11/750 systems running UNIX 4.2 BSD.
\end{itemize}
\begin{center}
  {\large\bf The University of Chicago}
\end{center}
\begin{itemize}
\item Graduate Committee, 1985--1987.
\item McCormick Fellowship Selection Committee, 1986.
\item Associate Chairman, Department of Computer Science, 1986--1987.
\item Chairman, Department of Computer Science, 1987--1990.
\item Board of Computing Activities and Services, 1986--1990; Steering
  Committee 1989--1994.
\item Ethernet Management Committee, 1986.
\item Review Committee for the Mathematics and Computer Science
  Division at Argonne National Laboratory, 1987--1992.  Chairman,
  1990--1992.
\item Chairman of Working Group on Data Communications, 1987--1988.
\item Working Group on Public Computing, 1987--1988.
\item Supervised design and renovation of Ryerson 4th floor to add
  4,000 square feet of graduate student offices, lounge, etc.,
  1987--1991.
\item Working Group on High-Performance Computing, 1988--1989.
\item Designed university statute and policy on intellectual property
  rights to software developed on campus, 1989.
\item Chairman of Public Computing Policy Committee, 1990--1991.
\item Committee on Patents, Software, and Intellectual Property,
  1989--1993, chairman 1992--1993.
\item Communications Architecture Committee, 1991--1995.
\item Library Board, 1991--1994.
\item Chairman of C.S.\ Dept.\ Computing Facilities Committee,
  1991--present.
\item Council on Research, 1992--1993.
\item Provost's Faculty Task Force on Library Migration (studying
  changes to library computer systems) 1993--1994.
\item Council of the University Senate, 1994--1996.
\item Faculty advisor to University of Chicago Student Computing
  Operation, 1994--present; Student Linux Users Group 1997--present.
\item Board of Computing Activities and Services, standing committee
  on networking, 1995--1997.
\item Physical Sciences Division committee on computing services,
  1995--1997.
\item Faculty Advisory Committee for \emph{The Challenge of Modern
    Democracy}, an interdisciplinary conference to be held 9--10
    April 1998 at the University of Chicago.
\item Advisory Board to create a new program in Interactive Media in
    the Graham School of General Studies, 1997--present.
\end{itemize}

\section{Community Service}
\begin{itemize}
\item Interviewed for the radio program ``Science Alive!'' April,
  1986.
\item Glencoe IL School District 35 Strategic Planning Retreat
  December, 1991.
\end{itemize}

\section{Research Grants and Contracts}
\begin{enumerate}
\item \emph{A Uniform Theory for Implementations of Descriptive
    Languages} (with C.~Hoffmann \$5,400) Purdue Summer XL grant,
  1978.
\item \emph{A Uniform Theory for Implementations of Descriptive
    Languages} (with C.~Hoffmann \$71,117) National Science
  Foundation, 1978--1980.
\item \emph{A Uniform Theory for Implementations of Descriptive
    Languages} (with C.~Hoffmann \$160,659) National Science
  Foundation, 1981--1983.
\item \emph{Research on Programming with Equations} (with C.~Hoffmann
  \$116,149) National Science Foundation, 1983--1985.
\item \emph{Highly Parallel Architectures for General-Purpose
    Concurrent Programming Languages} (with G.~Masson \$57,940)
  National Security Agency, 1984--1985.
\item \emph{Equational Logic as a Programming Language} (\$27,500)
  Louis Block Fund, 1985--1986.
\item \emph{Equational Logic as a Programming Language} (\$185,193)
  National Science Foundation, 1986--1988.
\item \emph{Theory and Implementation of Equational Logic Programming}
  (\$176,333) National Science Foundation, 1988--1990.
\item \emph{The University of Chicago Computer Science Laboratory}
  (\$2,030,221) National Science Foundation, 1989--1994.
\item \emph{Rigorous Mathematical Sciences Curriculum for the
    Humanities and Social Sciences} (\$50,000) National Science
    Foundation 1990--1992.
\item \emph{Theory and Implementation of Equational Logic Programming}
  (\$161,136) National Science Foundation, 1991--1993.
\end{enumerate}

\section{Meetings Attended}
\begin{enumerate}
\item \emph{17th Annual Symposium on Foundations of Computer Science,}
  Houston, 1976.
\item \emph{9th Annual Symposium on Theory of Computing,} Boulder,
  1977.
\item \emph{19th Annual Symposium on Foundations of Computer Science,}
  Ann Arbor, 1978.
\item \emph{6th Annual Symposium on Principles of Programming
    Languages,} San Antonio, 1979.
\item \emph{11th Annual Symposium on Theory of Computing,} Atlanta,
  1979.
\item \emph{Frege Conference,} Friedrich Schiller Universit\"at, Jena,
  DDR, 1979.
\item \emph{12th Annual Symposium on Theory of Computing,} Los Angeles,
  1980.
\item \emph{21st Annual Symposium on Foundations of Computer Science,}
  Syracuse, 1980.
\item \emph{Verification Workshop,} Yorktown Heights, NY, 1981.
\item \emph{13th Annual Symposium on Theory of Computing,} Milwaukee,
  1981.
\item \emph{Workshop on Recursion Theoretic Aspects of Computer
    Science,} W. Lafayette IN, 1981.
\item \emph{14th Annual Symposium on Theory of Computing,} San
  Francisco, 1982.
\item \emph{23rd Annual Symposium on Foundations of Computer Science,}
  Chicago, 1982.
\item \emph{15th Annual Symposium on Theory of Computing,} Boston,
  1983.
\item \emph{24th Annual Symposium on Foundations of Computer Science,}
  Tucson, 1983.
\item \emph{Brooklyn College Symposium on Theoretical Computer Science
    I: Logic in Computer Science,} 1983.
\item \emph{11th Annual Symposium on Principles of Programming
    Languages,} Salt Lake City, 1984.
\item \emph{International Symposium on Logic Programming,} Atlantic
  City, 1984.
\item \emph{1984 Conference on Information Sciences and Systems,}
  Princeton NJ.
\item \emph{16th Annual Symposium on Theory of Computing,} Washington
  DC, 1984.
\item \emph{25th Annual Symposium on Foundations of Computer Science,}
  West Palm Beach, 1984.
\item \emph{University of Maryland Special Year in Mathematical Logic
    and Theoretical Computer Science,} 1984--1985.
\item \emph{12th Annual Symposium on Principles of Programming
    Languages,} New Orleans, 1985.
\item \emph{Logics of Programs Workshop,} Brooklyn New York, 1985.
\item \emph{26th Annual Symposium on Foundations of Computer Science,}
  Portland OR, 1985.
\item \emph{13th Annual Symposium on Principles of Programming
    Languages,} St. Petersburg FL, 1986.
\item \emph{Workshop on Theoretical Aspects of Reasoning About
    Knowledge,} Asilomar CA, 1986.
\item \emph{SIGPLAN 1986 Symposium on Practical Program Development
    Environments,} Palo Alto CA.
\item \emph{14th Annual Symposium on Principles of Programming
    Languages,} Munich, 1987.
\item \emph{Colloquium on Resolution of Equations in Algebraic
    Structures,} Lakeway, Texas, 1987.
\item \emph{2nd International Conference on Rewriting Techniques and
    Applications,} Bordeaux, 1987.
\item \emph{SIGPLAN 1987 Symposium on Interpreters and Interpretive
    Techniques,} St. Paul MN.
\item \emph{15th Annual Symposium on Principles of Programming
    Languages,} San Diego CA, 1988.
\item \emph{1988 Snowbird Meeting of CS and EECS Department Chairs,}
  Snowbird UT.
\item \emph{National Computer Conference,} Louisville KY, 1988.
\item \emph{16th Annual Symposium on Principles of Programming
    Languages,} Austin TX, 1989.
\item \emph{3rd International Conference on Rewriting Techniques and
    Applications,} Chapel Hill NC, 1989.
\item \emph{17th Annual Symposium on Principles of Programming
    Languaes,} San Francisco CA, 1990.
\item \emph{1990 CER/II Meeting,} Atlanta GA, 1990.
\item \emph{Association of Research Libraries Meeting about Refereed
    Academic Electronic Publishing Projects,} Raleigh NC, 1990.
\item Symposium on \emph{Constructivity in Computer Science,} San
  Antonio TX, 1991.
\item NSF/CRA Workshop on the Computing Research Infrastructure,
  Washington DC, 1991.
\item \emph{19th Annual Symposium on Principles of Programming
    Languages,} Albuquerque NM, 1992.
\item \emph{Symposium on Character Recognition and Document Analysis,}
  Las Vegas NV, 1992.
\item \emph{Conference on Academic and Professional Journals in the
    Twentieth Century,} Chicago IL, 1992.
\item \emph{Association for Symbolic Logic, Annual Meeting,} South Bend
  IN, 1993.
\item \emph{Annual NSF Infrastructure Workshop,} 1993.
\item \emph{8th Annual IEEE Symposium on Logic in Computer Science,}
  Montreal Qu\'ebec, 1993.
\item \emph{Seminars on Academic Computing, University Executive
    Program,} 1993.
\item \emph{International Conference on Refereed Electronic Journals,}
  Winnipeg Manitoba, 1993.
\item \emph{Mathematical Foundations of Computer Science 1994 --- 19th
    International Symposium,} Ko\u{s}ice, Slovakia, 1994
\item \emph{Acoustical Society of America}, Indianapolis, 1996.
\item \emph{Professors and Publishing in the Electronic Academy}. The
  University of Tennessee, Knoxville Library, 1996.
\item \emph{Acoustical Society of America}, Seattle, 1998.
\end{enumerate}

\section{Unrefereed Lectures}
\begin{enumerate}
\item Rigorous Development of a Lucid Interpreter.  University of
  Waterloo, Fall 1976.
\item Automatic Interpreter Generation. Indiana University, Fall 1978;
  SUNY Buffalo, 16 February, 1979; IBM Research, Yorktown Hts., 8
  March, 1979; IBM Research San Jose, 12 March, 1979; M.I.T., 9 April,
  1979; Technische Universit\"at, W. Berlin, 14 May, 1979;
  Universit\"at Aachen, 30 May, 1979; Munich Universit\"at, 31 May,
  1979.
\item A Programming Language Theorem Which is Independent of Peano
  Arithmetic. Cornell University, August, 1978; SUNY Buffalo, 15
  February, 1979; Universit\"at Bielefeld, 16 May, 1979; Universit\"at
  Kiel, 18 May, 1979; Universit\"at Heidelberg, 22 May, 1979;
  Universit\"at M\"unster, 25 May, 1979; Mathematical Institute,
  Warsaw, 4 June, 1979; Mathematical Institute, Amsterdam, 6 June,
  1979.
\item Logic For Reasoning About Programs. Purdue University, April
  1977; Humboldt Universit\"at, E.  Berlin, 15 May, 1979.
\item A Critique of the Foundations of Hoare-Style Programming Logics.
  New Mexico State University, 23 September, 1980 (videotape sent to
  University of New Mexico, New Mexico Tech.); Los Alamos
  Laboratories, 24 September, 1980; \emph{Verification Workshop,} IBM
  Research Yorktown Heights, 5 May, 1981.
\item The Intuitive Foundations of Programming Logic. New Mexico
  Tech., 22 September, 1980; Los Alamos Laboratories, 24 September,
  1980.
\item Implementation of an Interpreter for Abstract Equations.  Iowa
  State University, 18 November, 1982; University of Maryland, 5
  April, 1983; The Johns Hopkins University, 30 March, 1983; Cornell
  University, 3 August, 1983; New Mexico State University, 10
  November, 1983; University of North Carolina, 19 March, 1984; AT\&T
  Bell Laboratories, Murray Hill, 28 August, 1984; University of
  Connecticut, 16 November, 1984.
\item Equational Logic as a Programming Language.  Tektronix, 4
  February, 1985; University of Washington, 5 February, 1985; IBM
  Research, Yorktown Heights, 22 February, 1985; University of
  Delaware, 4 March, 1985; University of Wisconsin, 14 March, 1985;
  AT\&T Bell Laboratories, Murray Hill, 21 March, 1985;
  Carnegie-Mellon University, 23 September, 1985; University of
  Pennsylvania, 26 September, 1985; Xerox PARC, 18 March, 1986; DePaul
  University, 1986; Mathematisch Centrum, Amsterdam, 15 January, 1987,
  Technische Universit\"at, Berlin, 19 January, 1987; GMD Karlsruhe,
  Germany, 20 May, 1987; INRIA Sophia-Antipolis, France, 22 May, 1987.
\item Lower Bounds for Sorting With Realistic Instruction Sets.
  University of Chicago, 7 February, 1985.
\item Fault-Tolerant Logic for Automated Reasoning.  SUNY Stony Brook,
  20 February, 1985; University of Amsterdam, 16 January, 1987.
\item Semantics for Infinite and Indeterminate Computations in Logic
  Programming Languages.  \emph{Midwest Theory of Computation Meeting,}
  Purdue, 19 April, 1986.
\item Intuitive Constructive Semantics for Constructive Logic.  {\em
    Midwest Theory of Computation Meeting,} University of Illinois, 15
  April, 1987.
\item A Compiler for Equational Logic Programs.  \emph{Midwest Society
    for Programming Languages and Systems,} University of Illinois,
  Spring, 1988.
\item Open Problems in Equational Logic Programming.  The Johns
  Hopkins University, 3 December, 1987; DePaul University, 29 January,
  1988; SUNY Stony Brook, 26 February, 1988; University of Illinois at
  Chicago, 3 October, 1988; Indiana University at South Bend, December
  6, 1989; University of Nevada at Las Vegas, 16 January, 1990;
  Universit\"at Dortmund, 12 November, 1990; Universit\"at
  Kaiserslautern, 14 November, 1990; Universit\"at Ulm, 15 november,
  1990; OCATE, Portland OR, 26 March, 1991.
\item Meaningful Semantics for Constructive Logic.  University of
  Maryland, 2 May, 1990; Universit\"at W\"urzburg, 10 November, 1990.
\item Connecting Formal Semantics to Constructive Intuitions. {\em
    Midwest Theory of Computation Meeting,} Northwestern University, 6
  December, 1992; \emph{ASL Annual Meeting,} Notre Dame University, 12
  March, 1993; Universit\'e Pau 26 March, 1993; Universit\'e Bordeaux,
  22 March and 1 April, 1993; Cornell University 7 June, 1993;
  Wesleyan University, 20 September 1993.
\item Applications of Logic to Programming Language Design and
  Implementation. The Johns Hopkins University, 17 December, 1992.
\item Term Tours---I/O for Lazy Functional Programs (work of Samuel
  Rebelsky as my Ph.D.\ Student). Universit\"at Kaiserslautern, 18
  February, 1993; Max Planck Institut, Saarbrucken, 18 February, 1993;
  Williams College, 24 September 1993, Grinnell College, 18 November
  1993.
\item Electronic Publication, Refereeing, and the Economy of
  Attention. University of Chicago, Physics Department, 7 October,
  1993.
\item Intuitive Counterexamples for Constructive Fallacies. SUNY
  Buffalo, 7 October 1994.
\item Electronic Journals --- scholarly invariants in a changing
  medium. SUNY Buffalo, 7 October 1994; Dartmouth, 26 October 1994.
\item Digital Sound Synthesis. Wesleyan University, 25 October 1994;
  Dartmouth, 26 October 1994; Carleton College, 30 January 1996.
\item Program Execution as Logical Deduction. Macalester College, 31
  January 1996.
\item Leveled Garbage Collection. The University of Iowa, 13 April 1998.
\end{enumerate}

\section{Consulting and Visiting}
\begin{itemize}
\item Prof.\ R.~Constable, Cornell University, type theory, 13--31
  July 1981.
\item Prof.\ D.~Stanat, University of North Carolina, equational logic
  programming, 19--20 March 1984.
\item Drs.\ N.~Gehani and P.~Wolper, AT\&T Bell Laboratories,
  concurrent programming, programming logic, December 1984 to April
  1985.
\item Drs.\ J.~Williams, E.~Wimmers and J.~Backus, IBM Almaden
  Research Center, term rewriting, 23--25 October 1990.
\item Professeur Associ\'e at Universit\'e de Bordeaux 1, Unit\'e
  Formation et Recherche de Math\'ematique et d'Informatique, 16 March
  to 17 April 1993.
\item Chicago Department of Aviation, December 1998 through January 2000,
  year 2000 software problems.
\item Internal Revenue Service, February through December 1999, expert
  testimony on research tax credit.
\end{itemize}

\section{Ph.D.\ Students}
\nopagebreak
\begin{enumerate}
\item{Purdue University}
\begin{enumerate}
\item Paul Chew, 1979--1981, \emph{Normal Forms in Term Rewriting
    Systems}.
\item Eric Dittert, 1980--1982, \emph{On the Complexity of Retrieving
    Information}.
\end{enumerate}
\item{The Johns Hopkins University}\begin{enumerate}
\item Robert Strandh, 1983--1987, \emph{Compiling Equational Programs
    into Efficient Machine Code}.
\end{enumerate}
\item{The University of Chicago}\begin{enumerate}
\item Samuel Rebelsky, 1987--1993, \emph{Tours, a System for Lazy
    Term-Based Communication}.
\item David Sherman, 1987--1994, \emph{Run-Time and Compile-Time
    Improvements to Equational Programs}.
\item Donald Ziff, 1989--1995, \emph{Lazy Functional Programming for
    Full-Text Information Retrieval}.
\item Stephen Bailey, 1988--1995, \emph{Hielp, a Fast Interactive Lazy
    Functional Language System}.
\item Guanshan Tong, 1993--1997, \emph{Design and Evaluation of a
    High-Performance Automatic Memory Management System}.
\item Ilya Bisnovatyi, 1993--present, sound synthesis.
\end{enumerate}
\end{enumerate}

\section{Postdoctoral Associates}
\begin{enumerate}
\item William Winsborough, 1988--90.  \nopagebreak
\item Yiyun Chen, 1989--91.
\end{enumerate}
\pagebreak

\section{Courses Taught}
\nopagebreak
\subsection*{Summary}
\subsubsection*{Undergraduate}
\begin{itemize}
\item Numerical Analysis
\item Introductory Programming in \emph{Pascal}, \emph{Fortran}, \emph{Scheme}
\item Data Structures
\item Theory of Computation
\item Algorithm Design and Analysis
\item Programming Languages
\item Digital Sound Modeling
\item Operating Systems
\item Advanced Operating Systems
\item Computation, Information and Description (concerning
applications of computational ideas to philosophy, mathematics,
physics, biology, etc.)
\item Computer Architecture
\end{itemize}
\subsubsection*{Graduate}
\begin{itemize}
\item Program Verification
\item Constructive Logic
\item Digital Sound
\item Theory of Computation
\item Algorithm Design and Analysis
\item File Structures
\item Computational Complexity
\item Logic Programming
\item Lambda Calculus
\item Operating Systems
\item Advanced Operating Systems
\item Computer System Administration
\item Computer Architecture
\end{itemize}
\subsection*{Chronology {\normalsize\rm (G-graduate, U-undergraduate)}}
\begin{tabular}{lll}
   \multicolumn{3}{c}{{\large\bf Cornell University}} \\
   Spring & 1976 & CS 790 Seminar in Program Verification (G) \\ 
   \multicolumn{3}{c}{{\large\bf University of Toronto}} \\ 
   Spring & 1977 & CSC 336S Numerical Analysis (U) \\ 
   \multicolumn{3}{c}{{\large\bf Purdue University}} \\
   Autumn & 1977 & CS 220N Programming I (U) \\
    & & CS 484 Theory of Computation (U) \\
    & & CS 590V Seminar in Programming Logic (G) \\
   Spring & 1978 & CS 484 Theory of Computation (U) \\
    & & CS 482 Algorithm Design and Analysis (U) \\
   Autumn & 1978 & CS 230 Programming I (U) \\
    & & CS 484 Theory of Computation (U) \\
   Spring & 1979 & CS 330 Programming II (U) \\
    & & CS 582 Survey of Algorithms, Automata, and Formal Languages (G) \\ 
   Autumn & 1979 & CS 430 Data Structures (U) \\
    & & CS 582 Survey of Algorithms, Automata, and Formal Languages (G) \\
   Spring & 1980 & CS 580 Algorithm Design and Implementation (G) \\
    & & CS 590B Seminar in Programming Logic and Verification (G) \\ 
   Autumn & 1980 & CS 320 Programming II for Engineers and Scientists (U) \\
    & & CS 582 Survey of Algorithms, Automata, and Formal Languages (G) \\
   Spring & 1981 & CS 540 File Structures (G) \\
    & & CS 584 Theory of Algorithms and Computational Complexity (G) \\
   Autumn & 1981 & CS 540 File Structures (G) \\
   Spring & 1982 & CS 580 Algorithm Design and Implementation (G) \\
   Autumn & 1982 & CS 414 Numerical Methods (U) \\
    & & CS 484 Introduction to the Theory of Computation (U) \\
   Spring & 1983 & CS 584 Theory of Algorithms and Computational
                          Complexity (G) \\ 
   \multicolumn{3}{c}{{\large\bf The Johns Hopkins University}} \\
   Autumn & 1983 & 52.329 Logic Programming (G) \\
   Spring & 1984 & 52.324 The Lambda  Calculus and Its Relationship \\
    & & With Computable Functions (G) \\
   Autumn & 1984 & 52.8 Introduction to Computer Programming (U) \\
   Spring & 1985 & 52.8 Introduction to Computer Programming (U)
\end{tabular}

\begin{tabular}{lll}
  \multicolumn{3}{c}{{\large\bf The University of Chicago}} \\
  Winter & 1986 & Constructive Logic Seminar (G) \\
  Winter--Spring & 1986 & ComSci 388 Logic Programming Languages I--II (G) \\
  Winter--Spring & 1987 & ComSci 488 The Lambda Calculus (G) \\
  Winter--Spring & 1988 & ComSci 388 Logic Programming Languages I--II (G) \\
  Autumn & 1988 & ComSci 280 Theory of Computation I (U) \\
  Winter & 1989 & ComSci 221 Programming Languages (U) \\
  Winter & 1990 & ComSci 221 Programming Languages (U) \\
  Spring & 1990 & ComSci 388 Equational Logic Programming (G) \\
  Autumn & 1990 & ComSci 280 Theory of Computation I (U) \\
  Winter & 1991 & ComSci 221 Programming Languages (U) \\
  Autumn & 1991 & ComSci 319 The Lambda Calculus (G) \\
  Winter & 1992 & ComSci 221 Programming Languages (U) \\
  Spring & 1992 & ComSci 281 Theory of Computation II (U) \\
  Autumn & 1992 & ComSci 388 Logic Programming Languages (G) \\
  Winter & 1993 & ComSci 221 Programming Languages (U) \\
  Autumn & 1993 & ComSci 398 Seminar on Sound Modeling (G) \\
  Winter & 1994 & ComSci 221 Programming Languages (U) \\ 
  Winter & 1994 & ComSci 398 Seminar on Sound Modeling (G) \\
  Spring & 1994 & ComSci 295 Digital Sound Modeling (U) \\
  Winter & 1995 & ComSci 221 Programming Languages (U) \\ 
  Spring & 1995 & ComSci 295 Digital Sound Modeling (U) \\
  Autumn & 1995 & ComSci 230/330 Operating Systems (U/G) \\
  Winter & 1996 & ComSci 231/331 Advanced Operating Systems (U/G) \\
  Spring & 1996 & ComSci 295 Digital Sound Modeling (U) \\
\end{tabular}

\begin{tabular}{lll}
  \multicolumn{3}{c}{{\large\bf The University of Iowa}} \\
  Spring & 1997 & 22C:096 Computation Information \& Description (U) \\
  Spring & 1997 & 22C:196 Digital Sound Modeling (U)
\end{tabular}

\begin{tabular}{lll}
  \multicolumn{3}{c}{{\large\bf The University of Chicago}} \\
  Autumn & 1997 & ComSci 501 System Administration in Linux (G) \\
  Winter & 1998 & ComSci 222/322 Machine Organization (U/G) \\
  Spring & 1998 & ComSci 230/330 Operating Systems (U/G) \\
  Autumn & 1998 & ComSci 105 Fundamentals of Computer Programming (U) \\
  Winter & 1999 & ComSci 222/322 Computer Architecture (U/G) \\
  Spring & 1999 & ComSci 295 Digital Sound Modeling (U) \\
  Autumn & 1999 & ComSci 221/321 Programming Languages (U/G) \\
  Winter & 2000 & ComSci 319 The Lambda Calculus (G)
\end{tabular}

\end{document}

