OXFORD UNIVERSITY COMPUTING LABORATORY

Nonstandard Programming


MSc in Computer Science, Schedule B
Dr J Sanders
TT

In recent years advances in program design have been achieved by extensions to the concept of computation. Quantum computations, probabilistic programs and (demonically) nondeterministic algorithms have achieved greater efficiency or simplicity (perhaps both) than can be matched by any standard computation. Shor's quantum algorithm for integer factorisation is exponentially more efficient (in size of input) than any known standard algorithm; Rabin's probabilistic algorithm for choice coordination amongst distributed agents has roughly constant expected execution time, compared with the optimal standard efficiency which is asymptotically proportional to the square root of the number of agents; and (demonic) nondeterminism provides a controlled way of abstracting, and hence simplifying, the description of any algorithm.

In this course we study all three programming paradigms and relate them to the standard model of computation. We begin by identifying the notion of programming structure and surveying the concept of Galois connection (aka adjunction) for relating such structures. Galois connections are used to relate the recursion-theoretic, relational and predicate-transformer models of standard programs. Probabilistic programs are introduced and related to standard programs. Quantum programs are introduced as a contemporary way of describing quantum computations, and modelled as probabilistic programs of a particular kind. In this form the usual quantum algorithms are studied and shown to meet their probabilistic or nondeterministic specifications.

By the end of the course participants are expected to appreciate the quantum model of computation, how to formalise it and how to relate it to the standard model and, more generally, to appreciate what constitutes a (perhaps nonstandard) paradigm of computation and the tools for studying it.

Prerequisite for the course is a sound knowledge of (standard!) procedural programming. After covering core material the choice from a wide range of topics (further theory of Galois connections, further probabilistic algorithms, quantum cryptography, quantum complexity, concurrent algorithms, quantum automata) will be determined by audience interest.

References (the first and last two will be handed out):

  • Programs and Abstraction, course lecture notes by A.K.McIver, C.C.Morgan and J.W.Sanders.
  • Quantum Computation and Quantum Information, M.A.Nielsen and I.L.Chuang, Cambridge University Press, 2000.
  • Quantum Computing, J.Gruska, McGraw-Hill International (UK), (Advanced Topics in Computer Science), 1999.
  • Quantum programming, J.W.Sanders and P.Zuliani, Mathematics of Program Construction, Springer-Verlag LNCS 1837, 80-99, 2000.
  • Reasoning about probabilistic systems, A.K.McIver, C.C.Morgan and J.W.Sanders, to appear.


[Oxford Spires]



Oxford University Computing Laboratory Courses Research People About us News