Course syllabus - Functional Programming with F#
Scope
7.5 credits
Course code
DVA201
Valid from
Autumn semester 2013
Education level
First cycle
Progressive Specialisation
G1F (First cycle, has less than 60 credits in first-cycle course/s as entry requirements).
Main area(s)
Computer Science
School
School of Innovation, Design and Engineering
Ratified
2013-01-29
Status
This syllabus is not current and will not be given any more
Literature lists
Course literature is preliminary up to 8 weeks before course start. Course literature can be valid over several semesters.
-
Books
Objectives
To teach the student to solve problems independently in a functional language, and to understand the pros and cons of the functional paradigm as compared with others like the imperative and the object-oriented paradigms.
Learning outcomes
For a pass, the student shall understand and be able to use the concepts that are taught, manifested in the following more concrete abilities:
- solve programming problems in a functional language, with recursion
- use lists, tuples, and other functional data structures to structure data in suitable ways when solving problems
- use the most common higher order functions for efficient programming, and
- declare own datatypes, and use these for modelling and problem solving
Course content
The functional programming paradigm. Recursion. Higher order functions. Algebraic data types. Data structures in functional languages: lists, tuples, trees. Modern type systems with type inference. Different evaluation strategies: lazy vs. eager evaluation. Freedom of side-effects, and how this can be made to coexist with I/O. Imperative programming in functional languages. Something about applications of functional programming.
Tuition
Lectures (with elements of recitals), supervised laborations, and own work with laborations and project.
Specific requirements
Programming in C# 7,5 credits and Data structures, algorithms and program development 7,5 credits or corresponding.
Examination
Exercise, laboratory work (LAB1), 2 credits, marks Pass (G)
Project (PRO1), 1.5 credits, marks Pass (G)
Examination (TEN1), 4 credits, marks 3, 4 or 5
A student who has a certificate from MDU regarding a disability has the opportunity to submit a request for supportive measures during written examinations or other forms of examination, in accordance with the Rules and Regulations for Examinations at First-cycle and Second-cycle Level at Mälardalen University (2020/1655). It is the examiner who takes decisions on any supportive measures, based on what kind of certificate is issued, and in that case which measures are to be applied.
Suspicions of attempting to deceive in examinations (cheating) are reported to the Vice-Chancellor, in accordance with the Higher Education Ordinance, and are examined by the University’s Disciplinary Board. If the Disciplinary Board considers the student to be guilty of a disciplinary offence, the Board will take a decision on disciplinary action, which will be a warning or suspension.
Grade
Pass with distinction, Pass with credit, Pass, Fail