Computer Laboratory

Andrej Ivašković

Portrait, 2020

I am currently a PhD student at the University of Cambridge Faculty of Computer Science and Technology and member of Trinity College. My research area is programming languages, formal semantics and verification. My supervisor is Professor Alan Mycroft.

Broadly, I am interested in applications of graded structures (mostly graded monads) in programming and static analysis. In particular, I am exploring how various program properties can be representing using the language of underlying grading algebras of these structures. This has the potential to provide programmers with compile-time guarantees regarding program properties (for example, deadlock-freedom in concurrent programs). Since grades form a part of the type system, performing a program analysis can be seen as type inference.

I hold a BA and an MEng from the University of Cambridge as well (matriculated at Trinity in 2014), where I was a student of the Computer Science Tripos. I was an undergraduate researcher in the summer of 2016. I worked with Dr Thomas Sauerwald on the ERC-funded project DYNAMIC MARCH ("Dynamics of Multiple, Interacting and Concurrent Markov Chains"). During my 10 week placement, we studied the mathematical/theoretical foundations of multiple independent Markov Chains and established some interesting results. I spent my other summers working in industry (for Microsoft, Google and Improbable).

I am proud to have received these prizes during my PhD:

  • New Wiseman Prize, awarded by the Department of Computer Science and Technology on 12 November 2019, for teaching activities
  • Student-Led Teaching Awards (commended in the category of undergraduate supervisors in science subjects), awarded by CUSU on 10 May 2019

Outside my research and teaching, since late 2019 I have been the University of Cambridge ICPC coach.

The picture on this page was taken at Top of The Rock Observation Deck by my wonderful partner Aga Słowik.


See my Google Scholar profile.


  • Monoidal categories, 12 February 2021, Logic & Semantics for Dummies (, video upcoming)
  • Almost Certainly Correct: Randomness in Competitive Programming, 27 November 2020, University of Cambridge Competitive Programming Society (video)
  • A Graded Monad for Deadlock-Free Concurrency (Functional Pearl), 28 August 2020, Haskell 2020 (video)
  • Data-flow analyses as effects and graded monads, 4 July 2020, FSCD 2020 (video)
  • Graded monads in program analysis, 7 April 2020, BCTCS 2020 (slides)
  • "I just want to be pure": graded monads for program analysis, 7 March 2020, Trinity Mathematical Society (
  • Programming with monads and graded monads, 30 October 2019, Logic & Semantics for Dummies (
  • Dataflow languages and the semantics of context-dependent programming, 13 February 2019, Logic & Semantics for Dummies (


I supervise various courses for different colleges. I will be uploading my exercise sheets here as well. Any suggestions are welcome and feel free to use them as you wish. Email me for solutions to individual questions.

(*) two supervisions


Andrej Ivašković
University of Cambridge
Department of Computer Science and Technology
Computer Laboratory
15 JJ Thompson Avenue
Cambridge CB3 0FD
United Kingdom

Office: FC13

Phone: +44 1223 763522