School of Computer Science

Module 06-26943 (2019)

Advanced Topics in Functional Programming

Level 3/H

Dan Ghica Semester 2 10 credits
Co-ordinator: Dan Ghica
Reviewer: Noam Zeilberger

The Module Description is a strict subset of this Syllabus Page.

Outline

This module exposes students to state of the art functional programming languages and presents unusual or unexpected applications of functional programming, such as system-level programming. Students can expect to develop advanced functional programming skills and awareness of experimental programming languages.


Aims

The aims of this module are to:

  • expose students to the state of the art in functional programming languages
  • present unusual or unexpected applications of functional programming such as system-level programming
  • reveal the deep connection between functional programming and proof systems
  • allow students to develop advanced functional programming skills

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. be able to formally prove the correctness of complex programs
  2. understand advanced type systems (e.g. dependent or linear)
  3. be aware of advanced idioms in functional programming
  4. form connections with logic and the foundations of mathematics

Restrictions

None


Taught with

  • 06-26942 - Advanced Topics in Functional Programming (Extended)

Teaching methods

Large-Group Lectures

Contact Hours:

34


Assessment

Sessional: 3 hr Examination (50%) Continuous Assessment (50%)

Supplementary (where allowed): 3 hr Examination (100%)


Detailed Syllabus

Not applicable


Programmes containing this module