Skip to main content

Enrolment options

Course image
Course summary text:
Description:
Computational Science has become the 3rd pillar of scientific discovery
and ...
Archive 2015
Introduction: Description: Computational Science has become the 3rd pillar of scientific discovery and scientist from many disciplines are now able to program to conduct their scientific work. But programming is difficult, especially for high performance scientific computing and more so if such programming is to be done in traditional programming languages. Functional programming languages have facilities supporting that programs can be expressed succinctly in a manner that is close to the problem domain and in recent years tremendous progress have been made in making scientific programming easier and more reliable. The functional programming language F# has now proven its worth in many scientific areas from computational finance to protein analysis. This course will introduce functional programming and F#. In particular, the following topics will be covered: recursive functions, functions as “first-class citizens”, lists, trees, sets, maps, efficiency (tail-recursive functions), types, program construction using a strong type system. The course will comprise of lectures, programming exercises and mini-projects. There will, in particuar, be a strong emphasize on program construction so that the participants apply functional programming in broad variety of examples inspired by practical as well as in more research-oriented problems. A tentative lecture plan for the three days is below. Each lecture will be followed by a programming exercise session. 1. Getting started 2. Curried functions and lists 3. Lists with applications 4. Collections: Lists, sets and maps 5. Finite tree (two lectures) 6. Memory management and tail-recursive functions 7. Program construction: From types to programs 8. Construction of simple reactive programs 9. A short talk on: imperative programming, parallel computations and monadic programming in F# Organizer: Bent Thomsen Lecturers: Bent Thomsen ECTS: 2 (subject for change) Time: 20-22 April, 2015, 8:15-16:15 Place: Aalborg University, Fredrik Bajers Vej 7E/3 Room 209 Zip code: 9220 City: Aalborg Number of seats: Deadline: 1 April, 2015
Duration: 1 Semester
Open in new window