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 Thursdays, starting about 7pm, at the Curler's Rest Pub, in the upstairs room. The pub is on Byres Road, G12 8SH. Take the Subway to the Hillhead Station, and the pub is just a couple of doors to the right.

John O'Donnell,,