Tim Teitelbaum

Associate Professor
Department of Computer Science
Cornell University
4143 Upson Hall
Ithaca, New York 14853
Phone: (607) 255-7573
Fax: (607) 255-4428

Chairman and CEO
GrammaTech, Inc.
315 N. Aurora St.
Ithaca, New York 14850
Phone: (607) 273-7340
Fax: (607) 273-8752

CONTENTS

EDUCATION

POSITIONS

AWARDS

RESEARCH GRANTS and CONTRACTS (at Cornell)

  1. Software Engineering with a Transformational System, NSF, 1995-98 (with D. Gries).
  2. Incremental Computation, ONR, 1995-98.
  3. Incremental Computation, ONR, 1992-95.
  4. The Synthesizer Generator, NSF, 1990-91.
  5. Incremental Computation, ONR, 1988-90.
  6. Generating Efficient Language-based Programming Environments, NSF, 1988-89.
  7. Research Experience for Undergraduates, NSF, 1987-88.
  8. Generating Efficient Language-based Programming Environments, NSF/ONR, 1986-89, (Supplement for Undergraduate Research, 1987-88).
  9. Coordinated experimental research on systems for constructing and manipulating complex objects, NSF, 1986-91, (with Gries, Constable and Hopcroft).
  10. Language Editors and Their Generators, IBM, 1984-85.
  11. Affiliation Program for Education in Language Editors and their Implementations, IBM, 1984-85.
  12. Syntax-directed Programming Environments, NSF, 1982-85.
  13. Syntax-directed Programming Environemnts, NSF, 1980-82.

RESEARCH CONTRACTS (at GrammaTech, Inc., with staff)

  1. Cognitive Techniques for Analysis of Complex Software Systems, Air Force, 2006.
  2. Ballistic Missile Defense Innovative Ant-Tamper Techniques, MDA, 2006.
  3. Sanitizing Software of Malicious and Unauthorized Code, OSD/AF, 2006-2008.
  4. Run-Time Process Monitoring, OSD/AF, 2006-2008.
  5. A Refactoring Environment for Ada, MDA, 2004-06.
  6. Techniques and Technologies for Malicious Code Detection and Mitigation, CTC Subcontract, 2005.
  7. Model Checking Software Binaries, HSARPA, 2005-06.
  8. Source-Code Vulnerability Detection, Air Force, 2003-05.
  9. An Aspect Oriented Solution for Unit Test Generation, NSF, 2003-05.
  10. A Refactoring Environment for Ada, MDA, 2002-03.
  11. Inline Reference Monitors for Object Code, NIST, 2002-04.
  12. Programmable Interfaces for Advanced Static Analysis, ONR, 2002-03.
  13. Detecting Malicious Code in Firmware, Air Force, 2002-04.
  14. Verification of Hierarchical Graph Structures, DARPA, 2002-04.
  15. Source-Code Vulnerability Detection, Air Force, 2002-03.
  16. Support for transition of URI research into the eXtensible Tactical C4I Framework (XTCF), Navy (SPAWAR), 2002.
  17. Advanced Static Analysis for Software Assurance, MDA, 2002.
  18. An Aspect Oriented Solution for Unit Test Generation, NSF, 2002.
  19. Detecting Malicious Code in Firmware, Air Force, 2001-02.
  20. Inlined Reference Monitors for Object code, NIST, 2001-02.
  21. Model Checking UML Designs, U.S. Navy, 2001-02.
  22. A Refactoring Environment for Incremental Migration of Legacy Code, NASA, 2001-02.
  23. Static Analysis for Automatic Differentiation, NASA, 2001-02.
  24. Dependence Graphs for Internet Technologies, NSF, 2001.
  25. A New Technique For Efficient Compression of Information, BMDO, 2001.
  26. Verification of Hierarical Graph Structures, DARPA, 2001.
  27. Dependence Graphs for Information Assurance of Systems, DARPA, 2000-02.
  28. A Framework for Aspect-Oriented Programming of Embedded Systems, DARPA, 2000-01.
  29. Multi-Lingual Dependence-Graph Components for Software and Hardware Analysis and Specialization, DARPA, Phase II, 1999-2002.
  30. Model Checking of Software Designs, ONR, 1998-2001.
  31. User Interfaces for Rule-Based Formal Methods Environments, ONR, 1997-99.
  32. Multi-Lingual Dependence-Graph Components for Software and Hardware Analysis and Specialization, DARPA, 1997.
  33. A Prototype Formal Methods Environment, ONR, 1996-97.
  34. User-Interfaces for Rule-Based Formal Methods Environments, ONR, 1995-96.
  35. Language-Based Software Environments, ONR, 1990-92.
  36. Language-Based Software Environments, NY State Science and Technology Foundation, 1989-90.
  37. Language-Based Software Environments, ONR, 1989-90.

PH.D. STUDENTS

  1. Aswin van den Berg (1998) [with D. Gries]
  2. Y. Annie Liu (1995)
  3. John Reppy (1992)
  4. John Field (1991)
  5. Allan Zaring (1990)
  6. Stephen Peckham (1990)
  7. William Pugh (1988) [PYI, Packard Fellow]
  8. Roger Hoover (1987)
  9. Susan Horwitz (1985) [PYI]
  10. Thomas Reps (1982) [ACM Doctoral Dissertation Award, PYI, Packard Fellow]

PUBLICATIONS

Software

  1. GrammaTech, CodeSonar, performs a deep static analysis on C/C++ code and identifies many types of bugs. These include null-pointer dereferences, divide-by-zeros, buffer overruns, buffer underruns, double-frees, use-after-frees, and frees of non-heap memory. Release 1.0, 2006,  http://www.grammatech.com/products/codesonar/.
  2. GrammaTech, CodeSurfer, a software development, inspection, and maintenance tool that provides dependence-graph browsing and precise interprocedural program slicing for C programmers. Various releases, May 1999 to Present, http://www.grammatech.com/products/codesurfer/.

  3. GrammaTech, Ada-ASSURED, a multi-purpose tool that ensures consistent coding style, prevents syntax errors, and provides numerous productivity features for writing and reviewing code. It features WYSIWYG language-sensitive editing, automatic standards enforcement, high-quality pretty printing, and hypertext browsing in a package that can be integrated with any Ada compiler. Various releases, June 1996 to June 2004,  http://www.grammatech.com/products/aa/.

  4. Reps, T. and Teitelbaum, T., The Synthesizer Generator, Various releases, December 1985 to April 1991 (Cornell); Various releases, September 1991 to Present (GrammaTech), http://www.grammatech.com/products/sg/.

    The Synthesizer Generator is a tool for creating language-based environments from formal specifications. To date, it has been licensed, in source code form, for research purposes, to approximately 350 sites worldwide. Roughly half of the sites are in the U.S. and half are overseas; roughly half the sites are academic and half are government or industrial research laboratories. The Synthesizer Generator has been commercialized by GrammaTech, Inc. of Ithaca, NY. Commercial products based on it include Penelope, a formal verification system for Ada, by ORA of Ithaca, NY; Raise, a rigorous approach to industrial software engineering, by CRI of Copenhagen, DK; CRIE, a LOTOS editing tool, U. Twente, Netherlands; and Ada-ASSURED, an Ada language-sensitive editor and program analysis tool, by GrammaTech.

  5. Reps, T., Teitelbaum, T., et al., The Cornell Program Synthesizer, Version 1, June 1979; Version 1.02, September 1980; Version 1.03, September 1981 (with T. Reps).

    The Cornell Program Synthesizer was a programming environment for a small dialect of PL/I that demonstrated the feasibility of Integrated Development Environment (IDES). During its lifetime, it was licensed to 110 sites worldwide and was used by over 20,000 introductory programming students.

Books

  1. Reps, T. and Teitelbaum, T., The Synthesizer Generator: A System for Constructing Language-Based Editors, Springer-Verlag, New York, 1988.

  2. Reps, T. and Teitelbaum, T., The Synthesizer Generator Reference Manual: Fourth Edition. Springer-Verlag, New York, NY, 1992

Chapters in books

  1. Teitelbaum, T., Visual Languages and Applications. In Alex --- An Alexical Programming Language., T. Ichikawa, E. Jungert and R. Korfhage (eds.), Plenum Press, NY, 1990, .

  2. Reps, T. and Teitelbaum, T., Interactive Programming Environments. In The Cornell Program Synthesizer: A Syntax-directed Programming Environment., D. R. Barsow, E. Sanderwall, and H. Shrobe ( eds.), McGraw-Hill, NY, 1984, pages 97-116. (Also appeared in CACM 24(9), September 1981, pages 563-573.)

  3. Reps, T., Horowitz, S. and Teitelbaum, T., Tutorial: Software Development Environments. The Why and Wherefore of the Cornell Program Synthesizer. A.I. Wasserman (ed.), IEEE Computer Society Press, November 1981, pages 64-72. (Also appeared in Proceedings of ACM/SIGPLAN-SIGOA Symposium on Text Manipulation, Portland, OR, June 8-10, 1981, SIGPLAN NOTICES 16, 6 June 1981, pages 8-16.)

Journals

  1. Anderson, P., Reps, T., and Teitelbaum, T., Design and implementation of a fine-grained software inspection tool. In IEEE Trans. on Software Engineering 29, 8 (Aug. 2003), 721-733.
  2. Anderson, P., Binkley, D., Rosay, G., and Teitelbaum, T., Flow Insensitive Points-to Sets. In Information and Software Technology (I&ST) 44, 13 (October 2002), 743-754.
  3. Clarke, E. M., Fujita, M., Rajan, P. S., Reps, T., Shankar, S. and Teitelbaum, T., Program Slicing for VHDL. In Software Tools for Technology Transfer 4, 1 (October 2002), 125-137.

  4. Liu, Y. A., Stoller, S. D. and Teitelbaum, T., Strengthening Invariants for Efficient Computation. In Science of Computer Programming (SCP) 41, 2 (October 2001), 139-172.

  5. Millett, L. and Teitelbaum, T., Issues in Slicing Promela and its Applications to Model Checking, Protocol Understanding, and Simulation. In International Journal on Software Tools for Technology Transfer 2, 4 (2000), 343-349.

  6. Liu, Y. A., Stoller, S. D. and Teitelbaum, T., Static Caching for Incremental Computation. In ACM Transactions on Programming Languages and Systems (TOPLAS) 20, 3 (May 1998), 546-585.

  7. Liu, Y. A. and Teitelbaum, T., Systematic Derivation of Incremental Programs. In Science of Computer Programming 24, 1 (1995), 1-39.

  8. Reps, T. and Teitelbaum, T., Language Processing in Program Editors. In IEEE Computer 20, 11 (November 1987), 29-40.

  9. Demers, A. J., Horwitz, S. and Teitelbaum, T., An Efficient General Iterative Algorithm for Dataflow Analysis. In Acta Informatica 24, 6 (1987), 679-694.

  10. Horwitz, S. and Teitelbaum, T., Generating Editing Environments Based on Relations and Attributes. In TOPLAS 9, 3 (October 1986), 577-608.

  11. Reps, T., Teitelbaum, T. and Demers, A. J., Incremental Context-dependent Analysis for Language-based Editors. In TOPLAS 5, 3 (July 1983), 449-477.

  12. Teitelbaum, T. and Reps, T., The Cornell Program Synthesizer: A Syntax-directed Programming Environment. In CACM 24, 9 (September 1981), 563-573. (Reprinted in Interactive Programming Environments, Barsow, D.R., Sanderwall, E., and Shrobe, H., McGraw Hill, 1984.)

Refereed Conference Proceedings

  1. Balakrishnan, G., Reps, T., Melski, D., and Teitelbaum, T., WYSINWYX: What You See Is Not What You eXecute. In Proc. IFIP Working Conference on Verified Software: Theories, Tools, Experiments, Zurich, Switzerland, Oct. 10-13, 2005.

  2. Balakrishnan, G., Reps, T., Kidd, N., Lal, A., Lim, J., Melski, D., Gruian, R., Yong, S., Chen, C.-H., and Teitelbaum, T., Model checking x86 executables with CodeSurfer/x86 and WPDS++, (tool-demonstration paper). In Proc. Computer-Aided Verification, 2005.

  3. Balakrishnan, G., Gruian, R., Reps, T., and Teitelbaum, T., CodeSurfer/x86 -- A platform for analyzing x86 executables, (tool demonstration paper). In Proc. Int. Conf. on Compiler Construction, April 2005.

  4. Anderson, P. and Teitelbaum, T., Software Inspection Using CodeSurfer. In WISE'01: Proceedings of the 1st Workshop on Inspection in Software Engineering, Paris, France, July 23, 2001.

  5. Clarke, E. M., Fujita, M., Rajan, S. P., Reps, T., Shankar, S. and Teitelbaum, T.,  Program Slicing of Hardware Description Languages. In 10th IFIP WG10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARM '99), Bad Herrenalb, Germany, September 1999.

  6. Millett, L. and Teitelbaum, T., Channel Dependence Analysis for Slicing Promela. In Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems (PDSE'99), Los Angeles, CA, pp. 52-61, May 1999.

  7. Millett, L. and Teitelbaum, T., Slicing Promela and its Applications to Protocol Understanding and Analysis. In Proceedings of the 4th Workshop on Automata Theoretic Verification with the SPIN Model Checker, Paris, France, pp. 75-83, November 1998.

  8. Anderson, P., Goldsmith, M. and Scattergood, B. and Teitelbaum, T., An Environment for Integrating Formal Methods Tools. In Proceeding of User-Interfaces for Theorem Provers 97 (UITP97), INRIA, Sophia-Antipolis, September 1997.

  9. Liu, Y. A., Stoller, S. D. and Teitelbaum, T.,  Discovering Auxiliary Information for Incremental Computation. In Proceedings of 23rd ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, FL, pp. 157-170, January 21-24, 1996.

  10. Lui, Y. A. and Teitelbaum, T., Caching Intermediate Results for Program Improvement. In Proceedings of ACM SIGPLAN Symposium on PEPM, La Jolla, CA, pp. 190-201, June 1995.

  11. Field, J. and Teitelbaum, T., Incremental Reduction in the Lambda Calculus. Presented at 1990 Lisp and Functional Programming Conference, Nice, France, pp. 307-322, June 1990.

  12. Teitelbaum, T. and Chapman, R., Higher-order Attribute Grammars and Editing Environments. In Proceedings of ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY, pp. 197-208, June 1990.

  13. Pugh, W. and Teitelbaum, T., Incremental Computation by Function Caching. In Proceedings of 16th ACM Symposium on Principles of Programming Languages, Austin, TX, January 11-13, 1989, pp. 269-276.

  14. Kozen, D., Teitelbaum, T., Chen, W., Field, J., Pugh, W., and Zanden, B. V., Alex - An Alexical Programming Language. Workshop on Visual Language, Linkoping, Sweden, August 19-21, 1987.

  15. Hoover, R. and Teitelbaum, T., Efficient Incremental Evaluation of Aggregate Values in Attribute Grammars. In Proceedings of ACM SIGPLAN '86 Symposium on Compiler Construction, Palo Alto, CA, June 1986, pp. 39-50.

  16. Reps, T., Marceau, C. and Teitelbaum, T., Remote Attribute Updating for Language-based Editors. In Proceedings of 13th ACM Symposium on Principles of Programming Languages, St. Petersburg, FL, January 1986, pp. 1-13.

  17. Horwitz, S. and Teitelbaum, T., Relations and Attributes: A Symbiotic Basis for Editing Environments. In Proceedings of ACM SIGPLAN '85 Symposium on Language Issues in Programming Environments, Seattle, WA, June 1985, pp. 93-106.

  18. Reps, T. and Teitelbaum, T., The Synthesizer Generator. In Proceedings of ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Pittsburgh, PA, April 1984, pp. 42-48.

  19. Teitelbaum, T., Reps, T. and Horowitz, S., The Why and Wherefore of the Cornell Program Synthesizer. In Proceedings of ACM/SIGPLAN-SIGOA Symposium on Text Manipulation, Portland, OR, June 8-10, 1981, pp. 8-16. (Reprinted in Tutorial: Software Development Environments, Wasserman, A.I., IEEE Computer Society Press, November 1981, pp. 64-72.)

  20. Demers, A. J., Reps, T. and Teitelbaum, T.,  Incremental Evaluation for Attribute Grammars with Application to Syntax-directed Editors. In Proceedings of 8th ACM Symposium Principles of Programming Languages, Williamsburg, VA, January 26-28, 1981, pp. 105-116.

  21. Demers, A. J., Donahue, J., Teitelbaum, T., and Williams, J., Encapsulated Data Types and Generic Procedures. In Proceedings of DOD Workshop on a Common Programming Language for Embedded Systems, Ithaca, NY, 1976, Springer-Verlag, pp. 171-214.

  22. Teitelbaum, T., Context-free Error Correction by Evaluation of Algebraic Power Series. In Proceedings of 5th ACM Symposium Theory of Computing, Austin, TX, April 30-May 2, 1973, pp. 196-199.

  23. Teitelbaum, T., Newman, et al., A Study of Sigma Leptonic Decay Using an HPD in Pattern Recognition Mode. In Proceedings International Conference Advanced Data Processing for Bubble Chambers and Spark Chambers, New York, NY, October 1968, pp. 256-265.

  24. Teitelbaum, T. and Burd, D., Current Status of Automatic Scanning at Columbia University. In 1967 International Conference on Programming for Flying Spot Devices, Munich, Germany, January 1967.

Tutorials

  1. Semantic Analysis. SIGPLAN '93 Conference on Programming Language Design and Implementation, Albuquerque, NM, June, 1993.

  2. Generating Language-Sensitive Environment. SIGPLAN '92 Conference on Programming Language Design and Implementation, San Francisco, CA, June 15-19, 1992.

  3. Semantic Analysis. SIGPLAN '88 Conference on Programming Language Design and Implementation, Atlanta, GA, June 22-24, 1988.

  4. Semantic Analysis. SIGPLAN '86 Symposium on Complier Construction, Palo Alto, CA, June 25-27, 1986.

Other Publications

  1. Reps, T., Balakrishnan, G., Lim, J., and Teitelbaum, T., A next-generation platform for analyzing executables. In Proc. 3rd Asian Symposium on Programming Languages and Systems, (Tsukuba, Japan, Nov. 3-5, 2005).

  2. Balakrishnan, G., Reps, T., Kidd, N., Lal, A., Lim, J., Melski, D., Gruian, R., Yong, S., Chen, C.-H., and Teitelbaum, T., Model checking x86 executables with CodeSurfer/x86 and WPDS++. In Proc. Workshop on the Evaluation of Software Defect Detection Tools, June 2005.

  3. Anderson, P., Reps, T., Teitelbaum, T., and Zarins, M., Tool support for fine-grained software inspection. IEEE Software 20(4): 42-50 (2003)

  4. Teitelbaum, T., Structure of C Programs and Their Interpretation, Third Edition August 20, 1996, 58 pp. Approximately 1000 copies printed.

  5. Teitelbaum, T., The Cornell Program Synthesizer: A Tutorial Introduction. Department of Computer Science, Cornell University, First Edition, July 1979, Fifth Edition, May 1983, 49 pp. Approximately 20,000 copies printed.

  6. Teitelbaum, T. And Reps, T., On the Value of Syntax-directed Editors. CACM 25(5), May 1982, pp. 351-352.

  7. Teitelbaum, T., The Cornell Program Synthesizer: Announcement. SIGPLAN NOTICES, October 1979, page 75.

Technical Reports

  1. Incremental Computation for Transformational Software Development. Tech. Rep. 95-1499, Department of Computer Science, Cornell Unversity, Ithaca, NY, March 1995 (with Yanhong A. Liu).

  2. Caching Intermediate Results for Program Improvement. Tech. Rep. 95-1498, Department of Computer Science, Cornell University, Ithaca, NY, March 1995 (with Yanhong A. Liu).

  3. Systematic Derivation of Incremental Programs. Tech. Rep. 94-1444, Department of Computer Science, Cornell University, Ithaca, NY, August 1994 (with Yanhong A. Liu).

  4. Deriving Incremental Programs. Tech. Rep. 93-1384, Department of Computer Science, Cornell University, Ithaca, NY, September (revised October) 1993 (with Yanhong A. Liu).

  5. Alex -- An Alexical Programming Language. Tech. Rep. 87-835, Department of Computer Science, Cornell University, Ithaca, NY, May 1987 (with D. Kozen, et al.).

  6. The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS. Tech. Rep. 79-370, Department of Computer Science, Cornell University, Ithaca, NY, March 1979.

  7. A Formal Syntax for PL/CS. Tech. Rep. 76-281, Department of Computer Science, Cornell University, Ithaca, NY, January 1976.

  8. A Compiler Project. Department of Computer Science, Cornell University, Ithaca, NY, January 1976.

  9. Minimal Distance Analysis of Syntax Errors in Computer Programs. Ph D. Thesis, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, September 1975.

LECTURES

PROFESSIONAL ACTIVITIES

Chairman

  1. Doctoral Dissertation Award Committee, ACM, 1992-93.

Member

  1. Doctoral Dissertation Award Committee, ACM, July 1988-94.
  2. Academic Advisory Committee, ADAPSO, October 16-19, 1988, Dallas, TX.
  3. Program Committee, ACM SIGPLAN `88 Compiler Construction Conference, June 20-24, 1988, Atlanta, GA.
  4. Panel, Software Engineering Program, NSF, April 4, 1988, Washington, DC.
  5. NSF Software Engineering Workshop, February 24-26, 1988, Atlanta, GA.
  6. Program Committee, Fifteenth Annual ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, January 1987.
  7. Program Committee, ACM SIGPLAN '84 Symposium on Compiler Construction, Montreal, Canada, June, 1984.
  8. Program Committee, International Course on Syntax-Directed Editors, Aussois, France, April 18-22, 1983 (Co-director).
  9. Program Committee, Tenth Annual ACM SIGACT/ SIGPLAN Symposium on Principles of Programming Languages, January 24-26, 1983 (Co-chairman).
  10. Program Committee, ACM SIGPLAN '82 Symposium on Compiler Construction, Boston, MA, June 23-25, 1982.
  11. Delegate, Sino-American Symposium on Computer Software Engineering, Changsha, Peoples Republic of China, April 8-10, 1982.
  12. Program Committee, ACM SIGSOFT/SIGPLAN Software Engineering Symposium on High-Level Debugging, 1981-82.
  13. Panel, Productivity in Education, IEEE COMPCON, Washington, DC, September 15, 1981.
  14. Association for Computing Machinery

Consultant

  1. IBM (1985), AMS/ACM Summer Computer Science Institute Planning Committee (1982), Terak Corp. (1979), U.S. Army Electronics Command (1975), Digital Equipment Corp. (1970).

Reviewer

  1. ACM Computing Surveys, ACM TOPLAS, IEEE Computer, IEEE Software, IEEE Transactions on Software Engineering, MIT Press.
  2. Review of DoD Programming Language Policy, Computer Science and Telecommunications Board, National Research Council (1996).

Referee

  1. NSF, NSERC

CORNELL ACTIVITIES

  1. Member, Computing Policy Committee (1994-1996)
  2. Chairman, Departmental Computer Facilities Committee (1990-91)
  3. Member, 2001 Committee (1990-91)
  4. Member, Committee on Instructional Computer Technologies (1990-91)
  5. Member, Search Committee for Associate Dean for Undergraduate Affairs (1986)
  6. Member, CER Management Committee (1986-89); Chairman (1987-88)
  7. Chairman, Department Chairman Search Committee (1986-87)
  8. Member, Senior Faculty Recruiting Committee (1985-1992); Chairman (1985-87)
  9. Member, Engineering College Resource Allocation Advisory Committee (1985-86)
  10. Member, Engineering College Computing Board (1984-88); Chairman (1987-88)
  11. Member, Computer Science Undergraduate Academic Affairs Committee (1984-85)
  12. Member, University Appeals Panel (1984-89)
  13. Director, Undergraduate Programs in Computer Science (1983-85)
  14. Member, Engineering College Computer Advisory Committee (1983-84)
  15. Member, Committee to Study Computers in Engineering Mathematics (1983-84)
  16. Co-director, Computer Science Summer School Program (1981-82)
  17. Member, University Computing Board subcommittee (1981-82)
  18. Member, Faculty Appeals Board (1981-82)
  19. Director, Computer Science Summer School Program (1979-80)
  20. Member, Engineering College Core Curriculum Committee (1977-82)
  21. Undergraduate program advisor (1977-1995)

CORNELL COURSES TAUGHT

CORNELL LECTURES

  1. Computer programming as engineering design. Cornell College of Engineering Alumni Council, May 1984.
  2. _____. Engineering Career Orientation Forum, February 1984.
  3. The Cornell Program Synthesizer. Conversations at Cornell, May 1982.
  4. _____. Computing in Agriculture, ATC/CALS Faculty Series, January 6, 1981.
  5. The computer: idiot savant or wunderkind? Freshman Orientation Program, August 28, 1980.
  6. From slide rule to microcomputer: how freshmen learn to compute. Cornell Trustee's Weekend, October 12, 1979.
  7. Design and implementation of the Cornell Program Synthesizer, a syntax-directed programming environment, with demonstration. OCS Seminar, March 28, 1979.
  8. _____. Department of Computer Science, December 7, 1978.
  9. Computer programming as engineering communication. Parents' Weekend, October 22, 1977.
Go to top