Gordon S. Novak Jr.

Areas of Interest: Automatic programming by reuse of generic algorithms, automatic solution of physics problems, artificial intelligence, compilers, Lisp.

Office Phone: (512) 471-9569

Internet Address:



Professional Experience

Honors and Awards

Professional Activities

Departmental Service



Book Chapters

  1. ``Diagrams for Solving Physical Problems,'' in Janice Glasgow, N. Hari Narayanan, and B. Chandrasekaran, eds., Diagrammatic Reasoning: Cognitive and Computational Perspectives, AAAI Press / MIT Press, 1995, pp. 753--774.

  2. ``Artificial Intelligence'' (short essay), in Academic Press Dictionary of Science and Technology, 1992, p. 160.

  3. Edited approximately 4,660 definitions and wrote 729 new definitions of terms in the areas of Artificial Intelligence and Computers for the Academic Press Dictionary of Science and Technology, 1992.

  4. ``GLISP: A Lisp-based Language with Data Abstraction,'' in Readings from A.I. Magazine, AAAI Press, 1988, pp. 545-555.

Journal Articles

  1. ``Computer aided software design via inference and constraint propagation,'' Integrated Computer-Aided Engineering, vol. 16, no. 3 (2009), pp. 181-191.

  2. ``Software Reuse by Specialization of Generic Procedures through Views,'' IEEE Transactions on Software Engineering, vol. 23, no. 7 (July 1997), pp. 401-417.

  3. ``Creation of Views for Reuse of Software with Different Data Representations,'' IEEE Transactions on Software Engineering, vol. 21, no. 12 (Dec. 1995), pp. 993-1005.

  4. ``Conversion of Units of Measurement,'' IEEE Transactions on Software Engineering, vol. 21, no. 8 (Aug. 1995), pp. 651--661.

  5. Novak and W. Bulko, ``Diagrams and Text as Computer Input,'' Journal of Visual Languages and Computing 4 (1993), pp. 161-175.

  6. Novak, F. Hill, M. Wan, and B. Sayrs, ``Negotiated Interfaces for Software Reuse,'' IEEE Transactions on Software Engineering, vol. 18, no. 7 (July 1992), pp. 646-653.

  7. H.-J. Kook and Novak, ``Representation of Models for Expert Problem Solving in Physics,'' IEEE Transactions on Knowledge and Data Engineering, vol. 3, no. 1 (March 1991), pp. 48-54.

  8. ``GLISP: A Lisp-based Language with Data Abstraction,'' A. I. Magazine, vol. 4, no. 3 (Fall 1983), pp. 37-47.

  9. ``Computer Understanding of Physics Problems Stated in Natural Language,'' American Journal of Computational Linguistics, Microfiche 53, 1976. Reviewed in Computing Reviews, vol. 19, no. 1 (Jan. 1978), pp. 9-10.

  10. R.F. Simmons and Novak, ``Semantically Analyzing an English Subset for the Clowns Microworld,'' American Journal of Computational Linguistics, Microfiche 18, 1975.

Conference Proceedings

  1. Yulin Li and Gordon Novak, "Generation of Geometric Programs Specified by Diagrams", Proc. Generative Programming and Component Engineering 2011 (GPCE-11), Portland OR, Oct. 2011, pp. 63-72.

  2. ``Coupling Data Understanding with Software Reuse", 2008 IEEE International Conference on Information Reuse and Integration (IRI-2008), Las Vegas NV, July 2008, pp. 110-115.

  3. ``Interactions of Abstractions in Programming,'' Abstraction, Reformulation, and Approximation: 4th Int'l Symposium; Proc. SARA-2000, Horseshoe Bay, TX, July 2000. Lecture Notes in Artificial Intelligence 1864, pp. 185-201, ISBN 3-540-67839-5, Springer-Verlag, 2000.

  4. ``Reuse by Specialization through Views,'' Proc. 9th Annual Workshop on Software Reuse, (WISR99) Austin, TX, Jan. 1999.

  5. ``Composing Reusable Software Components through Views,'' Proc. 9th Knowledge-Based Software Engineering Conference (KBSE-94), Monterey, CA, Sept. 1994, pp. 39-47, IEEE Computer Society Press.

  6. ``Generating Programs from Connections of Physical Models,'' Proc. Tenth Conference on Artificial Intelligence for Applications (CAIA-94), San Antonio TX, March 1994, pp. 224-230, IEEE Computer Society Press.

  7. ``Software Reuse through View Type Clusters,'' Proc. 7th Knowledge-Based Software Engineering Conf., McLean, VA, Sept. 1992, pp. 70-79, IEEE Computer Society Press.

  8. Novak and W. Bulko ``Uses of Diagrams in Solving Physics Problems,'' 1992 AAAI Spring Symposium on Reasoning with Diagrammatic Representations, Stanford, March 1992, pp. 142-147, AAAI Press.

  9. R.-J. Chang and Novak, ``Computational Reflection in Executions of Knowledge Level Models,'' OOPSLA 1991 Workshop on Reflection and Metalevel Architectures in Object-Oriented Programming, Phoenix AZ, Oct. 1991.

  10. R.-J. Chang and Novak, ``Components of Expertise for Knowledge Level Modeling,'' 3rd International Conference on Tools for Artificial Intelligence, IEEE Computer Society, San Jose, CA, Nov. 1991.

  11. Novak, Hill, Wan, Sayrs, ``Interactive Specification of Views for Reuse of Abstract Programs,'' Workshop on Automating Software Design, American Association for Artificial Intelligence Conference (AAAI-91), Anaheim, CA, July 1991, pp. 138-145.

  12. Novak and W. Bulko, ``Understanding Natural Language with Diagrams,'' Proc. National Conference on Artificial Intelligence (AAAI-90), Aug. 1990, pp. 465-470.

  13. H.-J. Kook and Novak, ``Representation of Models for Solving Real-world Physics Problems,'' Proc. 6th IEEE Conf. on A.I. Applications, March 1990, pp. 274-280.

  14. ``Data Abstraction in GLISP,'' Proc. SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, SIGPLAN Notices, vol. 18, no. 6, June 1983, pp. 170-177.

  15. ``Knowledge Based Programming Using Abstract Data Types,'' Proc. National Conf. on Artificial Intelligence (AAAI-83), Washington, D.C., Aug. 1983, pp. 288-291.

  16. ``GLISP: A High-Level Language for A.I. Programming,'' Proc. National Conference on Artificial Intelligence (AAAI-82), Pittsburgh, PA, Aug. 1982, pp. 238-241.

  17. ``GLISP: An Efficient, English-like Programming Language,'' Proc. Third Annual Conference of the Cognitive Science Society, Berkeley, CA, August 1981, pp. 249-251. Abstract published in American Journal of Computational Linguistics, vol. 7, no. 4 (Oct.-Dec. 1981), p. 279.

  18. Novak and A. Araya, ``Research on Expert Problem Solving in Physics,'' Proc. First Annual National Conference on Artificial Intelligence (AAAI-80), Stanford, CA, pp. 178-180, August 1980.

  19. ``Representations of Knowledge in a Program for Solving Physics Problems,'' Proc. 5th International Joint Conference on Artificial Intelligence (IJCAI-77), Cambridge, MA, August 1977, pp. 286-291.

  20. ``Optimized Machine-Independent Extended FORTRAN for Mini-Computer Programming,'' Proc. ACM SIGMINI/SIGPLAN Interface Meeting on Programming Systems in the Small Processor Environment, March 1976. ACM SIGPLAN Notices, Vol. 11, No. 4 (April 1976).

Other Publications

  1. Hike descriptions and photos, in The Best Rocky Mountain National Park Hikes, Ward Luthi (Ed), Colorado Mountain Club Press, 2013.

  2. ``Robert F. Simmons: In Memoriam,'' A.I. Magazine, vol. 16, no. 3 (Fall 1995), pp. 65-66.

  3. ``Computational and Brain Representations of Imagery'' (commentary on a paper by Janice Glasgow), Computational Intelligence, vol. 9, no. 4 (Nov. 1993), pp. 398-401.

  4. Letter in response to M. V. Wilkes, Communications of the ACM vol. 35, no. 12 (Dec. 1992), pp. 13-14.

  5. Novak, R. Causey, V. Kumar, J. Werth, B. Porter, V. Hwang, Editor and co-author, ``Introduction to Artificial Intelligence and Expert Systems'' (40-hour videotaped course with exercises), Morgan Kaufmann Publishers, 1988.

  6. ``Artificial Intelligence,'' Discovery, vol. 9, no. 3 (1985), pp. 10-12, Univ. of Texas.

  7. Novak, G., ``GLISP User's Manual,'' abstract published in American Journal of Computational Linguistics, vol. 8, no. 2 (April-June 1982), p. 90. Published in microfiche and on-line, Artificial Intelligence Series, Scientific Datalink, New York, 1982.

Software Demonstrations

Several interactive demonstrations of software have been made available on the web:

  1. Unit Conversion Server: Any combination of physical units can be converted to any equivalent combination. Unit Conversion Demo

  2. Physics Problem Solver: This program solves simple math and physics problems stated in English. Math / Physics Solver

Several other interactive demonstrations were made available, but had to be removed due to security concerns:

  1. Automatic Programming Server: This system can accept descriptions of the user's data, make views of user types as abstract data types, and generate versions of generic procedures that are specialized for the user's data. The specialized procedures can be delivered in Lisp, C, C++, Java, or Pascal.

  2. VIP: This system generates scientific programs from diagrams of physical and mathematical principles and connections between equal quantities.

  3. ISAAC: This program solves physics problems stated in English.

Videotape demonstration at 9th Knowledge-Based Software Engineering Conference (KBSE-94), Monterey, CA, Sept. 20--22, 1994.

Software Publications

  1. Unit conversion software released as a Debian package, cl-units, 2004. The software is described in ``Conversion of Units of Measurement,'' IEEE Transactions on Software Engineering, vol. 21, no. 8 (Aug. 1995), pp. 651-661. Conversion of Units of Measurement

  2. Novak, Nguyen, Schelter, X windows interface for Gnu Common Lisp (GCL), made available by FTP, 1995. The software is described in an on-line reference manual, ``Interface from GCL to X Windows.'' Incorporated into Gnu Common Lisp, 2006.

  3. Novak, Sowmya Ramachandran: Scheme Tutor, 2001. This program presents practice problems using the Scheme language, then provides specific instruction for common wrong answers. Scheme Tutor

  4. Web Calendar software, made available by FTP, 1996.

  5. TMYCIN expert system shell, made available by FTP; over 100 copies furnished on disk or by electronic mail, 1985 - present. TMYCIN is described in the report ``TMYCIN Expert System Tool,'' AI-TR-87-52, 1987. TMYCIN

  6. Software for use in teaching Artificial Intelligence, furnished to over 40 college faculty, 1990.

  7. GLISP compiler, made available by FTP, 1983. GLISP is described in the ``GLISP User's Manual,'' Technical Report AI-TR-83-25, 1983.

Ph.D. Students Supervised

  1. Agustin A. Araya, ``Learning by Practice Using Experimentation and Generalization Techniques,'' July 1984.

  2. William Charles Bulko, ``Understanding Coreference in a System for Solving Physics Word Problems,'' May 1989.

  3. Hyung Joon Kook, ``A Model-Based Representational Framework for Expert Physics Problem Solving,'' May 1989.

  4. Xiang-Seng Lee, ``Temporal and Spatial Analysis in Knowledge-Based Physics Problem Solving,'' Dec. 1992.

  5. Ms. Ruey-Juin Chang, ``Cliche-Based Modeling for Expert Problem-Solving Systems,'' May 1993.

  6. Donovan Kolbly, ``Extensible Language Implementation,'' Dec. 2002 (took over supervision from Paul Wilson).

  7. Yulin Li, "The Diagrammatic Specification and Automatic Generation of Geometry Subroutines", May 2010.

M.A. Students Supervised

Gildardo Zarza-Arronte, Margaret Reed-Lade, Laurence E. Clay, Yusuf Mauladad, William Joseph Cassell, Jerry D. Alderson Jr., Man-Lee Wan, Christopher Allan Rath, Fredrick Hill.

Courses Taught

CS 102 Lisp (at Stanford)
CS 307 Foundations of Computer Science
CS 314 Data Structures
CS 315 Algorithms and Data Structures
CS 343 Artificial Intelligence
CS 372 Operating Systems
CS 375 Compilers
CS 378 Symbolic Programming
CS 381K Artificial Intelligence
CS 395T Expert Systems
CS 394P Automatic Programming