University of Cambridge
Computer Algebra (12 lectures), COBOL (4 lectures), classes for Computer Science Tripos; Supervision of Mathematics for Natural Science.
University of Utah
Introductory COBOL (30 lectures), Programming Languages (30 lectures), Introductory FORTRAN (30 lectures); plus classes.
University of Leeds
First year COBOL (40 lectures), Computer Algebra (20 lectures), Introduction to Microprocessors (8 lectures), Operating Systems for Data Processing (20 lectures); plus classes.
University of Bath
Have taught a wide range of undergraduate blocks, including FORTRAN, C and Unix, LISP and Functional Programming, Software Techniques, Operating Systems, Artificial Intelligence, Object Programming, Logic Programming, Parallelism, Lambda Calculus, Computability and Complexity, Architecture, Compilers, Computer Algebra, benchmarking; service courses on BASIC for scientists and Computing for Modern Languages. For M.Sc. in Symbolic Computation taught algebra systems, history, and applications. For M.Sc. in Computer Science taught programming and data-structures, and System Programming.
I have been actively involved in a number of total curriculum reviews over the years.
In the last few years I have taught: Compilers and Architecture (Final Year), Programming Languages (Second Year), practical laboratory work (Second Year), Music and DSP (Final Year), Programming and Data Structures (MSc), and System Programming (MSc). My teaching load has been consistently above the departmental average in recent years until retirement.