Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

CS405 Introduction to Empirical Modelling

The CS405 module was last offered in 2013-14 and is not currently being taught. This is the description of the module as published in 2013-14.

CS405 15 CATS (7.5 ECTS) Term 1


Option - MEng Computer Science, MEng Computing Systems, MSc Computer Science and Applications


There are no specific requisites for the module, which is intended to be suitable for students from a wide range of backgrounds. Each individual student can choose their own theme for the assessed work submission, and decide whether to put their emphasis on model-building or on scholarship. Some conventional programming experience can be an advantage, but the practical model-building is based on non-standard concepts and techniques that will be learnt during the module.

Academic Aims

The module introduces students to the principles, tools and potential applications of Empirical Modelling (EM), a new approach to computing that has been developed by staff and students here in Computer Science at Warwick over many years (see the EM website). The module offers a complementary perspective on computer science broader in scope than 'computational thinking', and is oriented towards aspects of computing practice for which formal methods offer limited support. These include activities such as conceptual design, requirements cultivation and exploratory modelling that involve close human-computer co-operation and often engage many human participants concurrently. The most appropriate areas of application for EM are those in which sense-making and model-building develop in parallel, as in a constructivist style. They include computer support for learning, decision support and creative design in business, engineering and the humanities.

Learning Outcomes

The module promotes awareness of the fundamental and distinctive role that empirical knowledge plays in conceiving and implementing computer-based systems. It also teaches practical skills that are relevant to the individual and team work that typically precedes the explicit specification and design of such systems. Over and above this, it introduces ways of thinking about computing and ways of using computers that are topical in relation to current and emerging technologies and applications.


The module involves 40 contact hours, comprising 20 one-hour lecture sessions and 10 two-hour sessions of practical laboratory work. Assessment will be 50% by the submission of a short paper and an associated documented modelling exercise to the annual edition of the Warwick Electronic Bulletin early in Term 2, and 50% by a three hour examination in Term 3.

The precise structure of the module varies from year to year. The key themes which will be represented are:

  • Motivating ideas and orientation: The study of Empirical Modelling is motivated by dissatisfaction with the account of computing-in-the-wild that can be given by classical computer science. Important issues in computing cannot be addressed by invoking logic and algorithmic thinking alone. Relevant critiques include: Brian Cantwell-Smith on the foundations of computing; Kent on the limitations of abstract data representations; Winograd and Flores on groupware design; Brookes on the challenges of software development; Jackson on the limitations of formal specification; Naur on the essential role of intuition in system development; McCarty on the nature of 'humanities computing'. Relevant practical developments include: the application and extension of spreadsheet principles, both in educational software (e.g. dynamic geometry packages) and in software development tools (e.g. Flex and the Windows Presentation Foundation framework), and the continuing interest in how to resolve the problems of ensuring that software matches its requirements (e.g. as represented in the motivating ideas behind object-oriented programming, the work of Harel on participatory design, and agile development methods).
  • Conceptual framework: Classical computer science gives an excellent account of scientific applications of computing technology in which the role of the computer is to compute results on the basis of an established mathematical theory. In many practical applications of computers, the emphasis is different: the computer is used to construct artefacts that aid understanding (resembling what the philosopher of science David Gooding terms construals). Sense-making proceeds in parallel with the making of such construals in a constructivist idiom. Activities of this kind cannot be satisfactorily described within a 'rationalistic' logicist framework. Empirical Modelling focuses on the way in which understanding is developed through observation and experiment, prior to the emergence of established concepts that can be expressed in a formal language. Its philosophical stance is pragmatic in the spirit of William James's radical empiricism.
  • Concepts and principles: The key concepts of Empirical Modelling are observables, dependencies and agents. Where classical computer science seeks a foundation in formal semantics, Empirical Modelling appeals to the Jamesian idea that all knowing is rooted in the connections that are themselves given in experience, in the way for instance that images and ideas come to mind in the very act of reading symbols on a page. Empirical Modelling artefacts can evolve seamlessly from construals to models to programs in ways that reflect the transition from the personal and subjective to the public and objective. Such artefacts can be concurrently manipulated from the perspectives of many human agents so as to achieve conceptual integrity; objects, processes and systems - potentially with formal semantics - emerge. The LSD notation has been developed as a way of giving an account of this activity of rationalisation and objectification.
  • Tools and techniques: To date, Empirical Modelling has been principally supported by the EDEN interpreter and its variants (command line, distributed, web-enabled). EDEN was introduced as an evaluator for "definitive (definition-based) notations". Definitive notations provide a means to express dependencies between observables of different kinds, generalising the types of relationships that can be established between values in the cells of a spreadsheet. Environments constructed using EDEN are unlike conventional programs: they typically have the same provisionality, openness and messiness that is characteristic of our partial personal understanding of experience. Tools for Empirical Modelling have recently been significantly enhanced by the development by Nick Pope of an interpreter that attacks the same goal of supporting flexible modelling of personal understanding by exploiting dependency and object-orientation. Cadence is a research prototype in which Pope's interpreter complements (and may eventually subsume) model-building with EDEN, giving support for the emergence of objects and processes that is characteristic of mature models. Other supporting tools include the Dependency Modelling Tool and the Abstract Definitive Machine.
  • Applications: Empirical Modelling has potential applications in many areas, including educational technology, computer-aided design, software development, humanities computing, visualisation, games development and concurrent systems simulation. These are illustrated in the many models that can be found in the Empirical Modelling projects archive. They have also been the subject of graduate student research, as documented in the theses that can be accessed from the Publications link on the Empirical Modelling webpage.

There is scope to study the module in several ways, with many different kinds and levels of background experience. For the advanced student, there are good prospects for contributing to Empirical Modelling research through dissertation work. It is also possible to follow the module with little prior knowledge of computing. By way of context for the latter claim, consult the online Sudoku Experience workshops.


  • The Empirical Modelling webpage (see )
  • Fred Brooks, The Mythical Man Month Re-Visited, Addison-Wesley, 1995
  • Brian Cantwell-Smith, "The Foundations of Computing", In Scheutz, M.(ed) Computationalism: New Directions, MIT Press, p23.58, 2002
  • Chris Date and Hugh Darwen, Relational Database Writings (several books from 1985-1999), Addison-Wesley.
  • Paul Dourish, Where the Action is, MIT Press 2001
  • David Gooding, Experiment and the Making of Meaning: Human Agency in Scientific Observation and Experiment, Kluwer Academic, 1990
  • William James, Essays in Radical Empiricism, Bison Books 1996
  • Michael Jackson, "What can we expect of program verification?", IEEE Computer, 39(10):53{59, October 2006
  • David Harel and Rami Marelly, Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine, Springer-Verlag, 2003
  • William Kent, Data and Reality, 1st Books Library, 2000
  • Bruno Latour, "The Promises of Constructivism", In Ihde, D. (ed.) Chasing Technoscience: Matrix of Materiality, 2006
  • Willard McCarty, Humanities Computing, Palgrave-MacMillan, 2005
  • Drew McDermott, "A Critique of Pure Reason", Computer Intelligence 3 pp. 151-160 (1987) + subsequent responses in same journal.
  • Peter Naur, "Intuition in Software Development", TAPSOFT, Vol. 2, pages 60-79, 1985
  • Bonnie Nardi, A Small Matter of Programming, MIT Press, 1993.
  • Terry Winograd and Fernando Flores, Understanding Computers and Cognition: A New Foundation for Design, Addison-Wesley, 1986.

There is no specific book for the module. Most of the essential material can be accessed via the Publications and the Projects links on the left-hand side of the EM webpage. The following references are sources to which the module alludes; they help to put Empirical Modelling in context, but are not essential reading.


Short conference-style paper and associated modelling exercise (50%). Three hour examination (50%) - MEng students

(Group) exposition of standard EM construal and (individual) documented modelling study (60%). Three hour examination (40%) - MSc students


20 one-hour lectures plus 10 two-hour laboratory sessions