Invited speakers at BCTCS in chronological order:

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:

Howard Barringer,

Meurig Beynon,

Zhou Chaochen,

Mike Holcombe,

Costas Iliopoulos,

Cliff Jones,

Nicholas Measor,

Paul Taylor

and Brian Wichmann),

and 16 half-hour talks

(given by

B. Banieqbal,

Mads Dams,

Paul Dunne,

Mark Jerrum,

Richard Kennaway,

R.D. Lins,

Bill Mitchell,Luke Ong,

Prakash Panangaden,

Mike Shields,

Alistair Sinclair,

Mike Stannett,

Muffy Thomas,

Simon Thompson,

W.P. Weijland,

and Guo Quiang Zhang.

BTCSC2 – University of Warwick, 1986

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

Rod Burstall,

Tony Cohn,

Paul Dunne,

Matthew Hennessy,

Mark Jerrum,

Ursula Martin,

Mike Paterson,

Lawrence Paulson,

John Tucker,

Stan Wainer,

Dominic Welsh,

and Glynn Winskel,

and 29 shorter talks given by

Marek Bednarczyk,

John Buckle,

Bernard Carre,

R.J. Cook,

Paul Dunne,

Tim Flannagan,

Alan Gibbons,

Carl Gunter,

S.A. Hill,

Mark Jerrum,

Richard Kennaway,

R.D. Lins,

P. Marcer,

Steve Matthews,

Kevin McEvoy,

Karl Meinke,

Eugenio Moggi,

Maurice Naftalin,

Mogens Nielsen,

Bill Roscoe,

David Rydeheard,

Wojciech Rytter,

Mike Shields,

Colin Stirling,

Paul Taylor,

Ben Thompson,

Simon Thompson,

John Tucker,

and Steven Vickers.

BTCSC1 – University of Leeds, 1985

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

Jos Baeten,

Meurig Beynon,

Robin Gandy,

W.F. Handley,

Tony Hoare,

Mark Jerrum,

Bill McColl,

Ben Moszkowski,

K.W. Regan,

and Bill Roscoe,

and 25 half-hour talks given by:

John Buckle,

Roy Dickhoff,

G. Farr,

A.J. Fisher,

Tim Flannigan,

Mike Holcombe,

C. Jervis,

Richard Kennaway,

D. Kfoury,

A.M.A. Khamiss,

P. Lindsay,

Steve Matthews,

G. Megson,

Eugenio Moggi,

Alan Mycroft,

K.V.S. Prasad,

David Rydeheard,

Alistair Sinclair,

Alan Stoughton,

Ben Thompson,

John Tucker,

Stan Wainer,

Mike Warboys,

U. Webb,

and Glynn Winskel.