Esisar rubrique Formation 2022

- 2AMCS212

  • Number of hours

    • Lectures 9.0
    • Projects -
    • Tutorials 9.0
    • Internship -
    • Laboratory works 9.0
    • Written tests -

    ECTS

    ECTS 2.0

Goal(s)

At the end of the course, the student should be able to:

  • handle elaborate data structures (linked lists, trees);
  • design a recursive routine working on an elaborate data structure;
  • program with a statically-typed functional language (like Haskell or CaML), sticking to a pure subset of the language (inducing few or no side-effects).

Responsible(s)

Yann KIEFFER

Content(s)

  • Expressions; use of toplevel evalulation loop;
  • Basic types; type constructors (lists, ...);
  • Defining recursive functions;
  • Type definitions: enumerated types, product types, sum types.
  • Type classes;
  • Applications to the design of more complex data structures;
  • Side effects: the case of input/output.

Prerequisites

  • The mathematical notion of function
  • Basics on algorithmics and data structures

Test

E: exam
TP: lab sessions evaluation

Calendar

The course exists in the following branches:

  • Curriculum - First cycle - Semester 4
see the course schedule for 2021-2022

Additional Information

Course ID : 2AMCS212
Course language(s): FR

The course is attached to the following structures:

You can find this course among all other courses.

Bibliography

Real World Haskell, Bryan O'Sullivan, John Goerzen & Don Stewart, O'Reilly (Ed).
Purely Functional Data Structures, Chris Okasaki, Cambridge University Press.