## Concurrent Processes - CO406H

### Aims

To learn a basic process algebra (mobility and communication via the pi-calculus)

To learn a basic semantics of the pi-calculus

To learn a basic type theory of the pi-calculus (session types)

To learn applications of the pi-calculus (protocols, distributed and concurrent languages based on communications)

### Role

Course Leader

## Concurrency: Models and Programming - CO528

### Aims

• To introduce the basic concepts of concurrent programs, and demonstrate them in Java.

• To provide an introduction to model-based program design and apply it to concurrent programs.

• To teach the students how to translate concurrent models into executable Java applications.

• Understand how to describe the structure of concurrent programs

• Acquire modelling skills to construct working FSP models

• Learn how to translate FSP models into executable Java code

• Learn how to describe concurrent properties of the system and verify them using models.

### Role

Course Leader