Imperial College London

ProfessorSophiaDrossopoulou

Faculty of EngineeringDepartment of Computing

Professor of Programming Languages
 
 
 
//

Contact

 

s.drossopoulou Website

 
 
//

Location

 

559Huxley BuildingSouth Kensington Campus

//

Summary

 

Discrete Mathematics, Logic & Reasoning - COMP40018

Aims

In this module you will learn how discrete mathematics and logic can be used to describe and reason about computational structures and systems.  The module provides an important  foundation for many core topics in Computing, such as computer hardware design, algorithm analysis, and program reasoning. Central to this module are proof techniques, which are important when establishing whether or not a program or system behaves according to its specification. The ability to use mathematics and logic to formalise such specifications is also a key learning outcome.

Role

Course Leader

Logic & Reasoning (JMC) - COMP40012

Aims

In this module you will have the opportunity to:
- learn about syntax, semantics and proof systems of first-order logic
- learn how to translate human natural language to formal logic, and vice versa
- apply various semantic methods for proving validity of arguments and logical equivalences
- use logic to reason about program behaviour through the use of pre, post and mid conditions and invariants
- use induction to reason about recursive programs
 

Role

Course Leader

Models of Computation - COMP50003

Aims

This module focuses on formal descriptions (models) of computational behaviour. You will learn about:

  • the operational semantics (formal description)  of a simple 'WHILE' programming language
  • the operational semantics of other styles of real-world languages, such as Java and Haskell
  • equivalent  definitions of algorithm, initiated in the 1930s and providing the foundations for programming languages and computation

Role

Course Leader