Senior lecturer/Associate Professor at Department of Information Technology, Division of Computing Science
I teach programming and theory of programming language. I am also a pedagogical mentor and programme coordinator for the Master Programme in Computer Science.
My research interest is within application of logic to computer science -- particularly the use of formal methods for software development.
Keywords: programming languages programmeringsspråk formal methods formella metoder logik i datavetenskap logic in computer science datalogi computer science computing science datavetenskap programmering programming
Also available at
I am a pedagogical mentor, that is a member of the university Collegium of Mentors. I teach Computing Science on both basic and advanced levels. The forms of teaching I use the most are projects, seminars, labs and lectures. I also review undergraduate theses.
I am a pedagogical mentor because I feel that teaching -- meeting the students -- is enjoyable and discussing teaching with colleagues is almost even more fun.
Courses I teach or have previously taught:
Advanced Functional Programming
Basic Programming with Didactic Specialisation for Teachers
Imperative and Object-Oriented Programming Methodology
Provably Correct Software
Program Design (Programming Methodology 1)
Program Design and Data Structures
Programming Methodology 2
Software Engineering Project
Semantics of Programming Languages
Refer to a separate section for information about my courses this semester.
Refer to a separate section for information about my research.
Before I had my position at Uppsala University, I worked eight years as a consultant and still do occasional consultancy projects. I have primarily worked with risk analysis and applications of formal methods to railway signalling. I have semiprofessional competence within all aspects of of railway signalling. Among other things I have worked with a project within the Swedish Transport Administration about risk analysis for the implementation of ETCS/ERTMS in Sweden.
I have a Private Pilot License with Instrument Rating (PPL/IR). My total flight time is about 950 hours. I am also the chairman of the flying club in Uppsala, Motorflygarna Uppsala Flygklubb and teach ground school for the Private Pilot License.
In my spare time I also design, build and maintain relay-based signalling systems for the preserved railroad Uppsala-Lenna Järnväg. I am also a traffic controller for that railway.
My research interests include the use of logic in Computer Science. I have worked with theory and implementation of Logic Programming, Interactive Theorem Proving, Logical Frameworks and Formal Methods (Specification, Verification and Synthesis). I have also done work on methodology for the application of Formal Methods.
Most recently, my work has been on the use of application domain theories in formal methods and on formalising proofs within concurrency theory using Isabelle.
I belong to the Concurrency research group.
Please contact the directory administrator for the organization (department or similar) to correct possible errors in the information.