British Colloquium for Theoretical Computer Science

Past Speakers

Invited speakers at BCTCS in alphabetical order:

(*LMS Keynote Speaker in Discrete Mathematics)

Martin Abadi Towards Correct Programming with Transactional Memory 2008
Samson Abramsky A Cooks Tour of the Finitary Non-Well-Founded Sets 1988
Samson Abramsky From Quantum Mechanics to Logic, Databases, Constraints, and Complexity 2013
Samson Abramsky Contextuality: At the Border of Paradox 2015
Dimitris Achlioptas Random Constraint Satisfaction Problems: from Physics to Algorithms 2007
Peter Aczel Formalising Abstract Algebra in Constructive Type Theory 1996
Andrew Adamatzky Liquid Computers 2019
Eleni Akrida Temporal Graphs: Algorithms and Complexity 2021
Susanne Albers* Energy Efficient Algorithms 2013
Noga Alon* Combinatorial Reasoning in Information Theory 2009
Steven Alpern Search Games and Utilitarian Postman Paths on Networks 2007
Martyn Amos The Complexity and Viability of DNA Computation 1997
Alberto Apostolico Parallel Algorithms on Words 1989
Malcolm Atkinson The Capability of Priority Queues as Data Transformers 1993
László Babai* Graph Isomorphism 2017
Roland Backhouse Making Formalism Work for Us 1989
Roland Backhouse Games for Algorithmic Problem Solving 2005
Jose Luis Balcazar The Structural Approach to Complexity Theory 1992
Henk Barendregt Feasible Full Formalisation 1991
Howard Barringer The Future of Imperative Logic 1990
Trevor Bench-Capon Machines Can’t Think 1997
Ulrich Berger IFP – A Logic for Program Extraction 2019
Richard Bird Relational Program Derivation 1994
Graham Birtwistle Specifying and Verifying AMULET in CCS 1996
Julian Bradfield How user-friendly is independence-friendly logic? 2007
Edwin Brady State Machines All The Way Down 2017
David Bree The Semantics of Natural Language Temporal Prepositions and Conjunctions 1994
Ed Brinksma Formal Models for Testing: An Interaction between Theory and Practice 1996
Hajo Broersma* Toughness in Graphs: Structural and Algorithmic Aspects 2006
Alan Bundy Automatic Generation of Program Synthesis Proofs 1991
Rod Burstall Teaching Logic to Programmers 1998
Michael J Butler Verification Patterns for Refinement 2016
Muffy Calder A Day in the Life of a Spin Doctor 2001
Luca Cardelli Membrane Interactions 2004
Simon Chadwick Formal Verification – The Journey from Theory towards Practice 2020
Maria Chudnovsky Detecting Odd Holes 2019
Agata Ciabattoni Intermediate Logics: from Hypersequents to Parallel Computations 2018
Richard Cole A Promising Approach to Complexity Measures for Computation over Splay Trees 1989
Robert Constable* Implementing Elements of Intuitionistic Mathematics in Nuprl 2020
Stephen Cook A Tutorial on Proof Complexity 2006
Robert Cori Building Automata with Time Stamps 1994
José Félix Costa Physics and Computation: An Essay on the Unity of Science through Computability 2008
Sharon Curtis Functional Fractal Image Compression 2004
Artur Czumai Sublinear-time Algorithms 2008
John Davenport Is Computer Algebra the Same as Computer Symbolic Mathematics? 1998
Neil Davies Engineering with Randomness 2002
Anuj Dawar Complexity as Expressive Power 2002
Jaco de Bakker Metric Semantics 1995
Erik Demaine Algorithms Meet Art, Puzzles, and Magic 2010
John Dixon Computations in Galois Theory 1989
Rod Downey* Fundamentals of Parametrized Complexity 2012
Paul Dunne Introduction to Boolean Function Complexity 1994
Paul Dunne An Overview of Lower Bound Techniques in Monotone Boolean Function Complexity 1997
Paul Dunne Computational Problems (Some Directions but No Solutions) 2000
Martin Dyer Volume and Related Computational Problems 1991
Abbas Edalat Exact Real Number Computation Using Linear Fractional Transformations 1998
Herbert Edelsbrunner Random triangles and random inscribed polytopes 2021
Mike Edmunds The Antikythera Mechanism and the Early History of Mechanical Computing 2012
Edith Elkind Hedonic diversity games 2020
Javier Esparza Model-Checking Pushdown Automata 1997
Kousha Etessami The Complexity of Computing a Fixed Point of a Monotone Function, and Some Applications 2021
Matthew Fairtlough Abstraction, Constraints and the Lambda Calculus 1997
Jose Fiadeiro Software Architectures in 3D 2004
Felix Fischer Truthful Outcomes from Non-Truthful Position Auctions 2017
Philippe Flajolet Some Recent Trends in the Average-Case Analysis of Algorithms 1990
Wan Fokkink Within ARMs Reach: Compilation of Rewrite Systems 1999
Leszek Gąsieniec Distributed Maintenance of Mobile Entities 2014
Ian Gent Two Become One: Theory and Experiment 1998
Alan Gibbons Implementing P-RAM Algorithms on Distributed Memory Models of Parallel Pomputation 1992
Alan Gibbons* The Soft Machines: Computing with the Code of Life 2005
Rob Gilles Consent in Network Formation: Game Theoretic Solutions 2016
Joseph Goguen Object Oriented Programming as a Natural Extension of Functional Programming 1989
Leslie Goldberg Contention Resolution in Multiple-Access Channels 1998
Paul Goldberg Recent Progress in Computing Approximate Nash Equilibrium 2009
Shafi Goldwasser Zero Knowledge Interactive Proofs 1990
Andrew Gordon Samoa: Formal Tools for Securing Web Services 2005
Andrew Gordon Principles and Applications of Refinement Types 2009
Mike Gordon Event and Cycle Semantics of Hardware Description Languages 1997
Georg Gottlob Living with Computational Complexity 2007
Timothy Gowers Extreme Human-Oriented Theorem Proving 2015
Yuri Gurevich Evolving Algebras 1992
Reiner Hähnle Formal Verification of Software Product Families 2012
Thomas Hales* The Formal Proof of the Kpeler Conjecture 2015
Magnús Halldórsson “What problem should I solve?” and Efficiency in Wireless Networks 2016
Keith Hanna Reasoning about Digital Systems 1996
Johan Håstad Approximation Resistance 2010
Anne Haxthausen The RobustRailS Verification Method for Railway Interlocking Systems 2020
Jan Heering Algebraic Specifications and Proofs by Induction 1995
Matthew Hennessy Higher-Order Processes and Their Models 1995
Matthew Hennessy Behavioural Theories for Co-operating Transactions 2016
Martin Henson Varieties of Schema Calculus 2008
Jane Hillston Stochastic Process Algebra: Bringing Performance to Life (Tutorial) 2009
Roger Hindley The Coppo-Denzani Type System 1989
Roger Hindley Counting the Inhabitants of a Type 1995
Ralf Hinze Number Systems and Data Structures 2005
Tony Hoare Unifying theories of concurrency 2006
Tony Hoare Laws of Programming with Concurrency 2015
Wilfred Hodges The Logical Background to Specification 1992
Ruth Hoffmann Composable Constraint Models for Permutation Patterns and their enumeration 2023
Martin Hofmann Linear Types and Non-Size Increasing Polynomial Time Computation 1999
Mike Holcombe X-Machines – What Are They? 1994
Furio Honsell The Edinburgh LF – A Framework for Describing Logical Systems 1988
John E. Hopcroft* Research in Deep Learning 2018
John Hughes Naturality, Polymorphism and Compile-Time Analysis 1991
Martin Hyland Synthetic Domain Theory – The Story So Far 1990
Rob Irving Fifty Years of Stable Marriage 2004
Mark Jerrum The Computational Complexity of Counting 1994
Mark Jerrum A Tutorial on Efficient Sampling 2006
David S. Johnson* Bin Packing: From Theory to Experiment and Back Again 2011
Cliff Jones Interference Resumed 1991
Cliff Jones AI4FM – How To Say “Why” In Proofs 2011
Cliff Jones Formal Methods in the UK – A (Personal) History 2022
Richard Jozsa Quantum Computation – Principles and Achievements 2007
Richard Jozsa Clifford operations and the verification of quantum computations 2019
Achim Jung Probabilities in Semantics – Some Progress, Some Open Problems 2003
Achim Jung A modal Belnap logic 2014
Gil Kalai* Analysis and Probability of Boolean Functions 2010
Bruce Kapron Gambling, Computational Information, and Encryption Security 2016
Vivian Kendon Continuous-time quantum computing 2019
Valerie King * Tossing a Collective Coin and Coming to Agreement 2016
Alexander Knapp Specifying Event/Data-based Systems 2022
Timo Kötzing Recent Advances in Inductive Inference 2014
Demetres Kouvatsos An Extended Analytic Methodology for Arbitrary Queueing Networks 2002
Jan Krajíček* Proof Complexity 2021
Daniel Kroening SAT over an Abstract Domain 2012
Andrei Krokhin The Complexity of General-Valued CSPs 2015
Marta Kwiatkowska Safety Verification for Deep Neural Networks 2018
Kim Larsen Verifying LEGO: Validation and Synthesis of Embedded Software 2010
Bill Lawvere The Boolean Algebra Classifying Topos and the Complexity of Finite Automata 2003
Chris Lengauer Systolic Design and Systolising Compilation 1990
Leonid Libkin Databases Meet Verification; or Nested Words and XML Documents 2008
Steve Linton Three trips around the "virtuous circle": theory, algorithms, software and experiments 2023
John Lloyd Current Theoretical Issues in Logic Programming 1989
John Lloyd Declarative Logic Programming 1993
Bas Luttik Supporting Railway Infrastructure Managers with Formal Models and Analyses 2020
Bill McColl BSP Computing 1999
Angus MacIntyre Connections between Model Theory and Volume Estimates 1998
Assia Mahboubl Computer-checked Mathematics 2013
Tom Maibaum Design Structures: Configuring Specifications 1992
David Manlove Assigning junior doctors to hospitals – what makes it so hard? 2020
David Manlove Models and Algorithms for the Kidney Exchange Problem 2023
Ursula Martin What Can You Do with an Equational Reasoning Theorem Prover? 1990
Ursula Martin The Princess and the Plumber: The Role of Mathematics in Computer Science 1996
Ursula Martin Computational Math: The Bew Challenge for Computational Logic 2001
Per Martin-Löf Spreads, Repetitive Structure, Functional Causal Models 2015
Brian McBride A Tail of a Dog 2002
Conor McBride Dependently Typed Programming: An Epigram Induction 2005
Conor McBride Syntax: What’s it like? 2017
Kitty Meeks From decision to (approximate) counting 2019
Kurt Mehlhorn Certifying Algorithms 2003
Robin Milner What Use are Process Algebras? 1988
Robin Milner Biographical Reactive Systems 2002
Faron Moller The Computational Complexity of Bisimilarity 1995
Faron Moller Techniques for Decidability and Undecidability for Bisimilarity (Tutorial) 2001
Faron Moller Technocamps: Transforming Digital Education Throughout Wales 2023
Peter Mosses The Meaning of It All: Programming Language Semantics, From Scott and Strachey to Semantics/Online 2006
S Muthu Muthukrishnan Data Stream Algorithmics 2003
Syed Waqar Nabi Navigating Pedagogies: Teaching Theory-Heavy Courses to Software Engineering Student 2023
Rolf Niedermeier Trends in Parameterized Algorithmics 2008
Rachel Norman Modelling of Biological Systems (Tutorial) 2004
Colm O’Dunlaing Computational Problems in Geometry 1991
Luke Ong Game Semantics 1998
Catuscia Palamidessi Information-Theoretic Approaches to Information Flow 2010
Prakash Panangaden Epistemic Strategies and Games on Concurrent Processes 2011
Joachim Parrow An Introduction to the pi-Calculus (Tutorial) 2001
Mike Paterson Getting your Message Across, but Nicely: An Introduction to Contention Resolution 2001
Mike Paterson Algorithms and Complexity Theory in the UK – A (Personal) History 2022
Jan Peleska Advances in Railway Control Systems Architectures and Related Challenges for Verification and Validation 2020
Simon Peyton-Jones Asynchronous Exceptions in Concurrent Haskell 2001
Jean-Eric Pin Logic and Automata 2003
Gordon Plotkin A Logic for Parametric Polymorphism 1993
Ian Pratt Qualitative Spatial Reasoning and the Semantic Knife-Edge 1999
David Pym Reasource Semantics, Bunched Logic and a Relevant Logical Framework 1999
Alexander Rabinovich Temporal Logic over Branching Time: Expressiveness and Complexity 2001
Rajeev Raman Succinctness 2005
MS Ramanujan Lossy kernelization 2020
Bahar Rastegari Stable marriage with groups of similar agents 2019
Edmund Robertson Combinatorial and Decidability Questions in Semigroups of Words 1997
Edmund Robinson Logic and Logical Relations 1997
Grzegorz Rozenberg DNA Computing In Vivo – Gene Assembly in Ciliates 2000
Alessandra Russo Logic-based learning for Interpretable AI 2021
David Rydeheard Category Theory and Game Semantics 1995
Mehrnoosh Sadrzadeh Monoids, Vectors, and Tensors for Natural Language 2017
Ulrike Sattler Automated Reasoning for Ontology Engineering 2010
Thomas Sauerwald Randomised Distributed Algorithms 2018
John Savage VLSI Analysis, Synthesis and Theory 1992
Nicole Schweikardt On the expressive power of logics with invariant uses of arithmetic predicates 2012
Peter Selinger Logical Methods in Quantum Information Theory 2011
Jeffrey Shallit* Open Problems in Automata Theory 2014
Joseph Sifakis Rigorous System Design 2015
Alexandra Silva Probabilistic Program Equivalence for NetKAT 2018
Alistair Sinclair Phase Transitions and Mixing Times 2009
Nigel Smart Homomorphic Encryption 2011
Michiel Smid Spanners: Approximating the Complete Euclidean Graph 1996
Mike Smyth The Thesis that Computable Functions are Uniformly Continuous 1989
Paul Spirakis Paradigms for Fast Parallel Approximations to Problems that are Hard to Parallelise 1994
Paul Spirakis Algorithmic Aspects of Game Theory 2002
Bernhard von Stengel Fast algorithms for rank-1 bimatrix games 2019
Susan Stepney Unconventional design of unconventional computers 2019
Perdita Stevens Bisimulations, Bidirectionality, and the Future of Software Engineering 2017
Iain Stewart Descriptive Complexity Theory 1995
Jean-Marc Steyaert On the Average Complexity of Rewriting Systems 1993
Colin Stirling Verification via Model Checking 1992
Carl Sturtivant Some Issues in Algebraic Complexity 1991
Bob Tennant Correctness of Data Representations in Algol-Like Languages 1993
Rick Thomas Syntactic Monoids – A Survey 1998
Rick Thomas Formal Languages and Word Problems of Groups (Tutorial) 2004
Rick Thomas Some Interactions Between Automata Theory and Algebraic Structures in the UK – A (Personal) History 2022
Chris Tofts Ants, Shrimps, and Other Asynchronous Hardware 1997
Francesca Toni Argumentative Explainable AI 2022
Jacobo Toran On the Complexity of the Graph Isomorphism Problem 1996
Patrick Totzke Playing with counters: how to solve games on infinite arenas 2020
John Tucker Synchronous Concurrent Algorithms 1995
John Tucker Computable and Hierarchical Models of Physical Systems 2002
John Tucker A (Personal) History of Logic in Computer Science 2022
David Turner Total Functional Programming 1996
Ken Turner Test Generation for Radiotherapy Accelerators 2004
Leslie Valiant Computationally Feasible Learning 1988
Leslie Valiant Robust Logic 2000
Brigitte Vallee Algorithms for Integer Factorization 1991
Moshe Vardi Alternation as an Algorithmic Construct 2006
Kristina Vuskovic* The Use of Decomposition in the Study of Graph Classes defined by Excluding Induced Subgraphs 2007
Kristina Vuskovic The induced disjoint paths problem on (theta, wheel)-free graphs 2020
Bill Wadge Infinitesimal Logic 2009
Lincoln Wallen From Proof Theory to Proof Search: Some Remarks on the Design of Proof Procedures 1990
Angela Wallenburg Proof and Test: Will They Blend? 2013
Kurt Weihrauch Computable Analysis 2000
Glynn Winskel Linearity in Distributed Computation 1999
Carsten Witt Bio-Inspired Computation Meets Theoretical Computer Science 2011
Gerhard Woeginger* Three Assignment Problems and One Theorem 2008
Mike Wooldridge The Verification Problem for Agent Communication Languages 2000
Mike Worboys Computing with Geospatial Data: Challenges to Theory 1999
James Worrell Synthesising polynomial program invariants 2019
Xin Yao Some Theoretical Issues in Evolutionary Computation 2000
Chee Yap Grobner Bases: Complexity and Applications 1988