Skip to main content

Specialise in Concurrency & Logic

Concurrency is the area of Computer Science focusing on understanding, working with, and programming such complex and distributed systems. It combines different expertise ranging from the usage of Logic to make the study of systems precise and safe, to the usage of industrial tools that fully automate their deployment.

"Many of my students like the dialogue, others don’t and I respect that. It is important for students to be able to be themselves," says Luís Cruz-Filipe, Assistant Professor in Computer Science.

The Concurrency and Logic group at SDU is a dynamic and growing environment, whose members are excited about taming the complexity of big, highly interacting and distributed systems. We approach the research problems in our area from different angles, ranging from the more theoretical to the more applied perspectives, and have strong ties to industry.

Courses offered

The Master's degree programme in Computer science at SDU allows you to choose most of your courses according to your personal interests. In the academic year 2020/2021, we will be offering the following courses within the area of Concurrency & Logic, which address different aspects of the subject area.

DM846: Logic for Computer Science

This course offers a broader perspective of logic and how it is used in Computer Science. In a time when computers are increasingly taking charge of critical tasks, such as routing airplanes or administering medicine to patients, it is essential to understand how we can formalize the safety requirements we expect of such programs, and verify that they conform to them.

Responsible teacher: Luís Cruz-Filipe

Read full course description

DM874: Microservices and DevOps

In this course we study how to link software development (Dev) with software operations (Ops), and study the latest advancements for the automation and creation of software that are revolutionizing the software industry. 

Responsible teacher: Jacopo Mauro

Read the full course description

DM861: Concurrency Theory

In Concurrency Theory, we study models that focus on the key issues of concurrent systems, such as interaction protocols and how to build complex systems by connecting simpler ones. We look at methods that avoid costly mistakes, and discuss how mathematical methods underpin modern best practices.

Responsible teacher: Fabrizio Montesi

Read full course description

DM869: Advanced Topics in Concurrent Systems

This course covers advanced topics in the fields of concurrency theory, logic, and software engineering and their applications in the understanding and development of modern concurrent systems. Students will learn how to acquire strong scientific foundations to conduct innovative R&D in both industrial and academic environments.

Responsible teacher: Fabrizio Montesi

Read full course description

Master Thesis projects

The following are examples of previous Master Thesis topics within the area of Concurrency & Logic:

  • Foundational aspects of choreographic programming
  • A formal programming model for Bitcoin transactions
  • Packaging microservices

Who teaches Concurrency & Logic?

Fabrizio Montesi is on a mission to revolutionize the world of computing with better programming languages, mathematical models, and tools to program the computer networks of the future. It is hard, daunting, and probably overambitious. The thought makes him smile every time.

Jacopo Mauro has always been fascinated by the interplay and interaction between concurrent systems and hard combinatorial problem solving. This led him from theoretical investigations on programming languages for distributed systems to the development of tools to optimize and automate application deployment.

Luís Cruz-Filipe has always enjoyed solving logical and mathematical puzzles. He combines this passion with his research by approaching problems in theoretical computer science in a creative manner, often using ideas from logic.