Skip to main content
Till KTH:s startsida

FSF3583 Functional Programming 7.5 credits

Information per course offering

Course offerings are missing for current or upcoming semesters.

Course syllabus as PDF

Please note: all information from the Course syllabus is available on this page in an accessible format.

Course syllabus FSF3583 (Spring 2019–)
Headings with content from the Course syllabus FSF3583 (Spring 2019–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Persistent data structures, pure and testable functions, abstractions of code, static and dynamic typed code and their consequences for a program in the large, identify and reason about hidden state, the building of stateless in contrast to component with encapsulated state, separation of behaviour and information.

Intended learning outcomes

After completion of the course, the student should be able to:

  • structure large programs by functional programming, so that they become simpler to understand, manage and maintain,

  • use function composition as a method to create abstractions necessary to realize the requirements for large programs,

  • design entities so that they become reusable, robust and testable,

  • identify unintended complexity of a program in an early stage and be able to redesign that part,

  • understand persistent data structure and their design implications for a program,

  • design data driven programs,

  • understand the benefits coming from a robust syntax with macros.

Literature and preparations

Specific prerequisites

A Master degree, including at least 30 credits in Mathematics.

Literature

Communicated in the beginning of the course.

Examination and completion

Grading scale

G

Examination

    Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

    The examiner may apply another examination format when re-examining individual students.

    If the course is discontinued, students may request to be examined during the following two academic years.

    Other requirements for final grade

    Computer assignments completed.

    Examiner

    Ethical approach

    • All members of a group are responsible for the group's work.
    • In any assessment, every student shall honestly disclose any help received and sources used.
    • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

    Further information

    Course room in Canvas

    Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

    Offered by

    Education cycle

    Third cycle

    Postgraduate course

    Postgraduate courses at SCI/Mathematics