BCTCS Logo

British Colloquium for Theoretical Computer Science



Past Speakers

Invited speakers at BCTCS in chronological order:

BCTCS40 – University of Bath, 2024

Anupas Das Proof Theoretic Approaches for Regular Languages (and Beyond)
Alex Kavvos Two-dimensional Kripke Semantics
Stuart Matthews Software Engineering with Formal Methods: Quality, Time and Cost
Monika Seisenberger Logic in Railway Verification

BCTCS39 – University of Glasgow, 2023

Ruth Hoffmann Composable Constraint Models for Permutation Patterns and their enumeration
Steve Linton Three trips around the "virtuous circle": theory, algorithms, software and experiments
David Manlove Models and Algorithms for the Kidney Exchange Problem
Faron Moller Technocamps: Transforming Digital Education Throughout Wales
Syed Waqar Nabi Navigating Pedagogies: Teaching Theory-Heavy Courses to Software Engineering Student

BCTCS38 – Swansea University, 2022

Cliff Jones Formal Methods in the UK – A (Personal) History
Alexander Knapp Specifying Event/Data-based Systems
Mike Paterson Algorithms and Complexity Theory in the UK – A (Personal) History
Rick Thomas Some Interactions Between Automata Theory and Algebraic Structures in the UK – A (Personal) History
Francesca Toni Argumentative Explainable AI
John Tucker A (Personal) History of Logic in Computer Science

BCTCS37 – University of Liverpool, 2021

Eleni Akrida Temporal Graphs: Algorithms and Complexity
Herbert Edelsbrunner Random triangles and random inscribed polytopes
Kousha Etessami The Complexity of Computing a Fixed Point of a Monotone Function, and Some Applications
Jan Krajíček* Proof Complexity
Alessandra Russo Logic-based learning for Interpretable AI

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS36 – Swansea University, 2020

Simon Chadwick** Formal Verification – The Journey from Theory towards Practice
Robert Constable* Implementing Elements of Intuitionistic Mathematics in Nuprl
Edith Elkind*** Hedonic diversity games
Anne Haxthausen** The RobustRailS Verification Method for Railway Interlocking Systems
Bas Luttik** Supporting Railway Infrastructure Managers with Formal Models and Analyses
David Manlove Assigning junior doctors to hospitals – what makes it so hard?
Jan Peleska** Advances in Railway Control Systems Architectures and Related Challenges for Verification and Validation
MS Ramanujan*** Lossy kernelization
Patrick Totzke*** Playing with counters: how to solve games on infinite arenas
Kristina Vuskovic*** The induced disjoint paths problem on (theta, wheel)-free graphs

*LMS-sponsored Keynote Lecturer in Discrete Mathematics
**AlgoUK Invited Talk on Railway Verification
***AlgoUK Invited Talk on Algorithmics


BCTCS35 – Durham University, 2019

Andrew Adamatzky** Liquid Computers
Ulrich Berger IFP – A Logic for Program Extraction
Maria Chudnovsky* Detecting Odd Holes
Richard Jozsa** Clifford operations and the verification of quantum computations
Vivian Kendon** Continuous-time quantum computing
Kitty Meeks*** From decision to (approximate) counting
Bahar Rastegari*** Stable marriage with groups of similar agents
Bernhard von Stengel*** Fast algorithms for rank-1 bimatrix games
Susan Stepney** Unconventional design of unconventional computers
James Worrell*** Synthesising polynomial program invariants

*LMS-sponsored Keynote Lecturer in Discrete Mathematics
**AlgoUK Invited Talk on Non-Standard Computing
***AlgoUK Invited Talk on Algorithmics


BCTCS34 – Royal Holloway University of London, 2018

Agata Ciabattoni Intermediate Logics: from Hypersequents to Parallel Computations
John E. Hopcroft* Research in Deep Learning
Marta Kwiatkowska Safety Verification for Deep Neural Networks
Thomas Sauerwald Randomised Distributed Algorithms
Alexandra Silva Probabilistic Program Equivalence for NetKAT

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS33 – University of St Andrews, 2017

László Babai* Graph Isomorphism
Edwin Brady State Machines All The Way Down
Felix Fischer Truthful Outcomes from Non-Truthful Position Auctions
Conor McBride Syntax: What’s it like?
Mehrnoosh Sadrzadeh Monoids, Vectors, and Tensors for Natural Language
Perdita Stevens Bisimulations, Bidirectionality, and the Future of Software Engineering

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS32 – Queen’s University Belfast, 2016

Michael J Butler Verification Patterns for Refinement
Rob Gilles Consent in Network Formation: Game Theoretic Solutions
Magnús Halldórsson “What problem should I solve?” and Efficiency in Wireless Networks
Matthew Hennessy Behavioural Theories for Co-operating Transactions
Bruce Kapron Gambling, Computational Information, and Encryption Security
Valerie King * Tossing a Collective Coin and Coming to Agreement

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS31 – Middlesex University, 2015

Samson Abramsky Contextuality: At the Border of Paradox
Timothy Gowers Extreme Human-Oriented Theorem Proving
Thomas Hales* The Formal Proof of the Kepler Conjecture
Tony Hoare Laws of Programming with Concurrency
Andrei Krokhin The Complexity of General-Valued CSPs
Per Martin-Löf Spreads, Repetitive Structures, Functional Causal Models
Joseph Sifakis Rigorous System Design

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS30 – Loughborough University, 2014

Leszek Gąsieniec Distributed Maintenance of Mobile Entities
Achim Jung A modal Belnap logic
Timo Kötzing Recent Advances in Inductive Inference
Jeffrey Shallit* Open Problems in Automata Theory

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS29 – University of Bath, 2013

Susanne Albers* Energy Efficient Algorithms
Samson Abramsky From Quantum Mechanics to Logic, Databases, Constraints, and Complexity
Assia Mahboubl Computer-checked Mathematics
Angela Wallenburg Proof and Test: Will They Blend?

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS28 – University of Manchester, 2012

Rod Downey* Fundamentals of Parametrized Complexity
Mike Edmunds The Antikythera Mechanism and the Early History of Mechanical Computing
Reiner Hähnle Formal Verification of Software Product Families
Daniel Kroening SAT over an Abstract Domain
Nicole Schweikardt On the expressive power of logics with invariant uses of arithmetic predicates

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS27 – Birmingham University, 2011

David S. Johnson* Bin Packing: From Theory to Experiment and Back Again
Cliff Jones AI4FM – How To Say “Why” In Proofs
Prakash Panangaden Epistemic Strategies and Games on Concurrent Processes
Peter Selinger Logical Methods in Quantum Information Theory
Nigel Smart Homomorphic Encryption
Carsten Witt Bio-Inspired Computation Meets Theoretical Computer Science

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS26 – Edinburgh University, 2010

Erik Demaine Algorithms Meet Art, Puzzles, and Magic
Johan Håstad Approximation Resistance
Gil Kalai* Analysis and Probability of Boolean Functions
Kim Larsen Verifying LEGO: Validation and Synthesis of Embedded Software
Catuscia Palamidessi Information-Theoretic Approaches to Information Flow
Ulrike Sattler Automated Reasoning for Ontology Engineering

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS25 – Warwick University, 2009

Noga Alon* Combinatorial Reasoning in Information Theory
Paul Goldberg Recent Progress in Computing Approximate Nash Equilibrium
Andrew Gordon Principles and Applications of Refinement Types
Jane Hillston Stochastic Process Algebra: Bringing Performance to Life (Tutorial)
Alistair Sinclair Phase Transitions and Mixing Times
Bill Wadge Infinitesimal Logic

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS24 – Durham University, 2008

Martin Abadi Towards Correct Programming with Transactional Memory
José Félix Costa Physics and Computation: An Essay on the Unity of Science through Computability
Artur Czumai Sublinear-time Algorithms
Martin Henson Varieties of Schema Calculus
Leonid Libkin Databases Meet Verification; or Nested Words and XML Documents
Rolf Niedermeier Trends in Parameterized Algorithmics
Gerhard Woeginger* Three Assignment Problems and One Theorem

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS23 – Oxford University (Oxford Brookes University), 2007

Dimitris Achlioptas Random Constraint Satisfaction Problems: from Physics to Algorithms
Steven Alpern Search Games and Utilitarian Postman Paths on Networks
Julian Bradfield How user-friendly is independence-friendly logic?
Georg Gottlob Living with Computational Complexity
Richard Jozsa Quantum Computation – Principles and Achievements
Kristina Vuskovic* The Use of Decomposition in the Study of Graph Classes defined by Excluding Induced Subgraphs

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS22 – Swansea University, 2006

Hajo Broersma* Toughness in Graphs: Structural and Algorithmic Aspects
Stephen Cook A Tutorial on Proof Complexity
Tony Hoare Unifying theories of concurrency
Mark Jerrum A Tutorial on Efficient Sampling
Peter Mosses The Meaning of It All: Programming Language Semantics, From Scott and Strachey to Semantics/Online
Moshe Vardi Alternation as an Algorithmic Construct

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS21 – University of Nottingham, 2005

Roland Backhouse Games for Algorithmic Problem Solving (Tutorial)
Alan Gibbons* The Soft Machines: Computing with the Code of Life
Andrew Gordon Samoa: Formal Tools for Securing Web Services
Ralf Hinze Number Systems and Data Structures
Conor McBride Dependently Typed Programming: An Epigram Induction (Tutorial)
Rajeev Raman Succinctness

*LMS-sponsored Keynote Lecturer in Discrete Mathematics


BCTCS20 – Pitlochery (Stirling University), 2004

Luca Cardelli Membrane Interactions
Sharon Curtis Functional Fractal Image Compression
Jose Fiadeiro Software Architectures in 3D
Rob Irving Fifty Years of Stable Marriage
Rachel Normal Modelling of Biological Systems (Tutorial)
Rick Thomas Formal Languages and Word Problems of Groups (Tutorial)
Ken Turner Test Generation for Radiotherapy Accelerators

BCTCS19 – University of Leicester, 2003

Achim Jung Probabilities in Semantics – Some Progress, Some Open Problems
Bill Lawvere The Boolean Algebra Classifying Topos and the Complexity of Finite Automata
Kurt Mehlhorn Certifying Algorithms
S Muthu Muthukrishnan Data Stream Algorithmics
Jean-Eric Pin Logic and Automata

BCTCS18 – HP Labs Bristol, 2002

Neil Davies Engineering with Randomness
Anuj Dawar Complexity as Expressive Power
Demetres Kouvatsos An Extended Analytic Methodology for Arbitrary Queueing Networks
Brian McBride A Tail of a Dog
Robin Milner Biographical Reactive Systems
Paul Spirakis Algorithmic Aspects of Game Theory
John Tucker Computable and Hierarchical Models of Physical Systems

BCTCS17 – Glasgow University, 2001

Muffy Calder A Day in the Life of a Spin Doctor
Ursula Martin Computational Math: The New Challenge for Computational Logic
Faron Moller Techniques for Decidability and Undecidability for Bisimilarity (Tutorial)
Joachim Parrow An Introduction to the pi-Calculus (Tutorial)
Mike Paterson Getting Your Message Across, But Nicely: An Introduction to Contention Resolution
Simon Peyton-Jones Asynchronous Exceptions in Concurrent Haskell
Alexander Rabinovich Temporal Logic over Branching Time: Expressiveness and Complexity

BCTCS16 – Liverpool University, 2000

Paul Dunne Computational Problems (Some Directions but No Solutions)
Grzegorz Rozenberg DNA Computing In Vivo – Gene Assembly in Ciliates
Leslie Valiant Robust Logic
Kurt Weihrauch Computable Analysis
Mike Wooldridge The Verification Problem for Agent Communication Languages
Xin Yao Some Theoretical Issues in Evolutionary Computation

BCTCS15 – Keele University, 1999

Wan Fokkink Within ARMs Reach: Compilation of Rewrite Systems
Martin Hofmann Linear Types and Non-Size Increasing Polynomial Time Computation
Bill McColl BSP Computing
Ian Pratt Qualitative Spatial Reasoning and the Semantic Knife-edge
David Pym Reasource Semantics, Bunched Logic and a Relevant Logical Framework
Glynn Winskel Linearity in Distributed Computation
Mike Worboys Computing with Geospatial Data: Challenges to Theory

BCTCS14 – University of St Andrews, 1998

Rod Burstall Teaching Logic to Programmers
John Davenport Is Computer Algebra the Same as Computer Symbolic Mathematics?
Abbas Edalat Exact Real Number Computation Using Linear Fractional Transformations
Ian Gent Two Become One: Theory and Experiment
Leslie Goldberg Contention Resolution in Mulitple-Access Channels
Angus MacIntyre Connections between model theory and volume estimates
Luke Ong Game Semantics
Rick Thomas Syntactic Monoids – A Survey

BCTCS13 – University of Sheffield, 1997

Martyn Amos The Complexity and Viability of DNA Computation (tutorial)
Trevor Bench-Capon Machines Can’t Think
Paul Dunne An Overview of Lower Bound Techniques in Monotone Boolean Function Complexity
Javier Esparza Model-Checking Pushdown Automata
Matthew Fairtlough Abstraction, Constraints and the Lambda Calculus (Tutorial)
Mike Gordon Event and Cycle Semantics of Hardware Description Languages
Edmund Robertson Combinatorial and Decidability Questions in Semigroups of Words
Edmund Robinson Logic and Logical Relations
Chris Tofts Ants, Shrimps, and Other Asynchronous Hardware

BCTCS12 – University of Kent at Canterbury, 1996

Peter Aczel Formalising Abstract Algebra in Constructive Type Theory
Graham Birtwistle Specifying and Verifying AMULET in CCS
Ed Brinksma Formal Models for Testing: An Interaction between Theory and Practice
Keith Hanna Reasoning about Digital Systems
Ursula Martin The Princess and the Plumber: The Role of Mathematics in Computer Science
Michiel Smid Spanners: Approximating the Complete Euclidean Graph
Jacobo Toran On the Complexity of the Graph Isomorphism Problem
David Turner Total Functional Programming

BCTCS11 – University of Wales Swansea, 1995

Jaco de Bakker Metric Semantics
Jan Heering Algebraic Specifications and Proofs by Induction
Matthew Hennessy Higher-Order Processes and Their Models
Roger Hindley Counting the Inhabitants of a Type
Faron Moller The Computational Complexity of Bisimilarity
Iain Stewart Descriptive Complexity Theory (Tutorial)
David Rydeheard Category Theory and Game Semantics
John Tucker Synchronous Concurrent Algorithms

BCTCS10 – University of Bristol, 1994

Richard Bird Relational Program Derivation
David Bree The Semantics of Natural Language Temporal Prepositions and Conjunctions
Robert Cori Building Automata with Time Stamps
Paul Dunne Introduction to Boolean Function Complexity (Tutorial)
Mike Holcombe X-Machines – What Are They? (Tutorial)
Mark Jerrum The Computational Complexity of Counting
Paul Spirakis Paradigms for Fast Parallel Approximations to Problems that are Hard to Parallelise

BCTCS9 – University of York, 1993

Malcolm Atkinson The Capability of Priority Queues as Data Transformers
John Lloyd Declarative Logic Programming
Gordon Plotkin A Logic for Parametric Polymorphism
Jean-Marc Steyaert On the Average Complexity of Rewriting Systems
Bob Tennant Correctness of Data Representations in Algol-Like Languages

BCTCS8 – University of Newcastle, 1992

Jose Luis Balcazar The Structural Approach to Complexity Theory
Alan Gibbons Implementing P-RAM Algorithms on Distributed Memory Models of Parallel Computation
Yuri Gurevich Evolving Algebras
Wilfred Hodges The Logical Background to Specification
Tom Maibaum Design Structures: Configuring Specifications
John Savage VLSI Analysis, Synthesis and Theory
Colin Stirling Verification via Model Checking

BCTCS7 – University of Liverpool, 1991

Henk Barendregt Feasible Full Formalisation
Alan Bundy Automatic Generation of Program Synthesis Proofs
Martin Dyer Volume and Related Computational Problems
John Hughes Naturality, Polymorphism and Compile-Time Analysis
Cliff Jones Interference Resumed
Colm O’Dunlaing Computational Problems in Geometry
Carl Sturtivant Some Issues in Algebraic Complexity
Brigitte Vallee Algorithms for Integer Factorization

BCTCS6 – University of Manchester, 1990

Howard Barringer The Future of Imperative Logic
Philippe Flajolet Some Recent Trends in the Average-Case Analysis of Algorithms
Shafi Goldwasser Zero Knowledge Interactive Proofs
Martin Hyland Synthetic Domain Theory – The Story So Far
Chris Lengauer Systolic Design and Systolising Compilation
Ursula Martin What Can You Do with an Equational Reasoning Theorem Prover?
Lincoln Wallen From Proof Theory to Proof Search: Some Remarks on the Design of Proof Procedures

BCTCS5 – Royal Holloway and Bedford New College, 1989

Alberto Apostolico Parallel Algorithms on Words
Roland Backhouse Making Formalism Work for Us
Richard Cole A Promising Approach to Complexity Measures for Computation over Splay Trees
John Dixon Computations in Galois Theory
Joseph Goguen Object Oriented Programming as a Natural Extension of Functional Programming
Roger Hindley The Coppo-Denzani Type System
John Lloyd Current Theoretical Issues in Logic Programming
Mike Smyth The Thesis that Computable Functions are Uniformly Continuous

BCTCS4 – University of Edinburgh, 1988

Samson Abramsky A Cooks Tour of the Finitary Non-Well-Founded Sets
Furio Honsell The Edinburgh LF – A Framework for Describing Logical Systems
Robin Milner What Use are Process Algebras?
Leslie Valiant Computationally Feasible Learning
Chee Yap Grobner Bases: Complexity and Applications

BCTCS3 – University of Leicester, 1987

There were no invited speakers per se at BCTCS3, though there were 9 one-hour talks given by:

and 16 half-hour talks given by:


BTCSC2 – University of Warwick, 1986

There were no invited speakers per se at BCTCS2, though there were 12 45-minute talks given by:

and 29 shorter talks given by:


BTCSC1 – University of Leeds, 1985

There were no invited speakers per se at BCTCS1, though there were 10 1-hour talks given by:

and 25 half-hour talks given by: