John O'Donnell's Home Page

Welcome to my home page! I'm a lecturer in the Computing Science Department at the University of Glasgow, specialising in computer systems (software and hardware), functional programming, and formal methods.


John O'Donnell email:
Computing Science Department office: +44 (141) 330-5458
University of Glasgow fax: +44 (141) 330-4913
Glasgow, G12 8QQ department: +44 (141) 330-4256
United Kingdom web:


My research is concerned with computer systems, algorithms, and how to develop reliable applications and reason about their behavior.

See a list of selected publications, and my research home page for a more detailed description of my research projects.

Much of my work applies the pure functional programming language Haskell to parallel programming and computer architecture, combining formal methods with practical programming. I'm actively involved in functional programming research, and am a member of the IFIP Working Group 2.8 on Functional Programming, and the ENDS (computer systems) group at Glasgow.


My teaching page gives information about my current and recent courses, and also for descriptions of undergraduate and MSc projects that I'm interested in supervising. If you're interested in a PhD or a research Masters degree, go to my research home page.

Textbook on Discrete Mathematics

Discrete Mathematics Using a Computer, Second Edition, by John O'Donnell, Cordelia Hall and Rex Page, introduces the main topics of discrete mathematics with a strong emphasis on applications to computer science. It uses Haskell to implement and illustrate the mathematical ideas. Springer, 2006.


The game of Go

The Glasgow Go Club meets every Thursday evening during the academic term at 8pm at the Aragon Bar, 131 Byres Road, Glasgow. It's near the Hillhead Subway Station. Everyone is welcome!

John O'Donnell,,