School of Computing Sciences
University of Technology, Sydney
P. O. Box 123 Broadway
Sydney, N.S.W. 2000
Australia
phone: (612) 9514-1849
fax: (612) 9514-1807
Personal information
Born: April 16, 1954, Sydney, Australia
Citizenship: Australian
Current position: Senior Lecturer (Associate Professor) with
tenure.
Qualifications
Bachelor of Science (Computer Science), University of New South Wales, 1974.
Graduate Diploma (Computing Studies), University of Canberra, 1975.
Bachelor of Science (Honours, Psychology), University of New South Wales, 1980.
Master of Science (Cognitive Science), Yale University, 1987.
Master of Philosophy, Yale University, 1987.
Doctor of Philosophy, Yale University, 1989.
Programming experience
Applications programmer for the Federal Department of Customs, 1976.
Systems programmer/analyst for the Federal Department of Customs, 1977.
Communications programmer/analyst for the N.S.W. Public Service, 1979.
Consulting systems analyst for various firms in Darwin, 1980-1982.
Artificial intelligence programming: Projects written
in Lisp and T for natural language understanding in the Yale AI
Project. Systems written in CLOS for program generation, understanding
and maintenance systems at the University of Technology, Sydney.
General programming: Applications and systems programming
for the Federal Department of Customs. Communications programming
for the N.S.W. Public Service.
Statistical programming: Writing statistical procedures
(cluster analysis, ANOVA) in APL, Fortran and Lisp. Use of the
SPSS, SAS, BMDP, and SYSTAT packages.
Languages: Smalltalk, C++, Eiffel, CLOS, LISP, T, Prolog,
C, Pascal, APL, FORTRAN, Basic, COBOL, IBM and ICL assembler,
Simula, Dynamo, GASP, GPSS.
Teaching experience
Northern Territory University (1980-1982): I taught various programming
languages, systems analysis and design, commercial systems, and
management information systems.
Yale University (1985-1988): I taught introductory programming
in Pascal at the Yale Summer School. I also tutored in several
psychology subjects for the School of Psychology at Yale, such
as Memory and Cognition.
University of Technology, Sydney (1989-1998): I have taught in
the School of Computing Science's undergraduate and graduate programs.
In the undergraduate programs, I taught introductory programming
(Pascal, Eiffel, Smalltalk), data structures and algorithms, AI
programming (Lisp, CLOS), and AI theory, as well as co-ordinating
a subject on the social implications of computing and tutoring
in other subjects. At the graduate level, I taught subjects on
specialist topics in artificial intelligence (AI) and cognition,
such as case-based reasoning, recent advances in AI, and paradigms
of human and machine intelligence. My current teaching areas are
object-oriented programming and paradigms of intelligence.
Research
My research topic is human program design. This is a cross-disciplinary
area that combines techniques from psychology, cognitive science,
artificial intelligence, and software engineering. I have published
in the journals Cognitive Science, Human-Computer Interaction,
and The International Journal of Human-Computer Studies.
My latest paper in Cognitive Science presents a single
cognitive model that captures a wide range of human design strategies.
My book on object-oriented design in Eiffel presents a new, accessable
and powerful tool for designing OO systems that takes advantage
of the common human design strategies. My current research interests
are case-based reasoning, human program design, knowledge representation,
the strucure of memory, and the interaction of semantic and episodic
memory.
Books
Rist, R. S., & Terwilliger, R. (1995). Object-oriented
programming in Eiffel. Sydney: Prentice Hall.
Book chapters
Rist, R. S. (1986). Plans in programming: Definition, demonstration
and development. In E. Soloway and R. Iyengar (Eds.), Empirical
studies of programmers, pp. 28-47. New York: Ablex.
Rist, R. S. (1994). Search through multiple representations. In
D. J. Gilmore, R. L. Winder, and F. Detienne (Eds.), User-centred
requirements for software engineering environments. New York:
Springer-Verlag.
Rist, R. S. (1996). System structure and design. Empirical
Studies of Programmers: Sixth Workshop. W. D. Gray and D.
A. Boehm-Davis (Eds.), pp. 163-194. Norwood, NJ: Ablex Publishing.
Journal articles
Rist, R. S. (1989). Schema creation in programming. Cognitive
Science, 13, 67-96.
Rist, R. S. (1990). Variability in program design: the interaction
of knowledge and process. The International Journal of Man-Machine
Studies, 33, 305-322.
Cummins, D. E., Lubart, T., Alksnis, O. & Rist, R. (1991).
Conditional reasoning and causation. Memory and Cognition,
19, 274-282.
Rist, R. S. (1991). Knowledge creation and retrieval in program
design: a comparison of novice and intermediate student programmers.
Human-Computer Interaction, 5, 1-72.
Detienne, F. and Rist, R. (1995). Introduction to the Special
Issue on Empirical Studies of Object-Oriented Design. Human-Computer
Interaction, 10, 121-128.
Rist, R. S. (1995). Program structure and design. Cognitive
Science, 19, 507-562.
Rist, R. S. (1996). Teaching Eiffel as a first language. Journal
of Object-Oriented Programming, 9, 3, 30-41.
Refereed proceedings
Rist, R. S. (1986). Focus and learning in program design. In Proceedings
of the Eighth Annual Conference of the Cognitive Science Society,
pp. 371-380. University of Massachusetts, Amherst, MA.
Rist, R. S. (1991). Models of routine and non-routine design in
programming. Workshop on Design, International Joint Conference
on AI, pp. 245-264, Sydney.
Rist, R. S. (1992a). Plan identification and reuse in programs.
AAAI Spring Symposium on Computational Considerations in Supporting
Incremental Modification and Reuse, pp. 67-72. Stanford, CA.
Rist, R. S. (1992b). Plans in program design and understanding.
AAAI-92 Workshop on AI and Automated Program Understanding,
pp. 98-102. San Jose, CA.
Rist, R. S. (1994). A cognitive model of system development. First
Australian Seminar on Modelling and Improving System Development,
pp. 67-83. Melbourne, Victoria.
Rist, R. S. (1995). Teaching system design in Eiffel. Proceedings
of TOOLS 17 (Technology of Object-Oriented Languages and Systems),
R. Ege and M. Singh (Eds.), pp 423-432. New York: Prentice Hall.
Service to the community
In my first academic position I was employed to develop a degree
course, the Bachelor of Business (Data Processing) for the Northern
Territory University. This course was nationally accredited at
the first attempt.
I have designed and taught several extension courses at UTS on
the design and coding of object-oriented (OO) systems in Eiffel.
These courses were well-attended and well-received, and taught
skills that I developed at UTS to the wider business community.
With Francoise Detienne from the Paris branch of INRIA, I put
together a special issue of Human-Computer Interaction
on empirical studies of object-oriented design and reuse.
Conference Committees
1994 CHI 94: Computer-Human Interaction: Regional co-ordinator,
Asian area.
1995 CHI 95: Organization Overviews Co-chair, with Jean
Scholtz from INTEL.
1996 CHI 96: Paper selection committe.
ESP 6: Empirical Studies of Programmers: Program Committee.
1997 CHI 97: Regional co-ordinator, Australian region.
ESP 7: Program Committee.
1998 CHI 98: Regional co-ordinator, Australian region.
ASE 98: Automated Software Engineering. Program Committee.