IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Andetårsprojekt - Funktionel Programmering 
Kursusnavn (engelsk):Second Year Project - Functional Programming 
Semester:Forår 2013 
Udbydes under:Bachelor i softwareudvikling (bswu) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:http://learnit.itu.dk 
Min. antal deltagere:25 
Forventet antal deltagere:65 
Maks. antal deltagere:70 
Formelle forudsætninger:* You are enrolled on the BSc study program in software development.

* You can construct object-oriented software using C#, corresponding to what is learnt in the BSc courses Object Oriented Software Construction (BOSK) and the BSc course Analysis, Design and Software Architecture (BDSA).

* You can design and query relational databases and can use XML, corresponding to what is learnt in the BSc course Data Storage and Formats (BDLF).

-----

Information about the course of study
This project cluster is part of the fourth semester in the bachelor’s degree in Software Development. A description of the course of study can be found here:
Bachelor Software Development  
Læringsmål:After this learning activity the student should be able to:

(1) apply and reflect on theories for modelling, analyzing and constructing functional declarative programs.

(2) apply and reflect on the concepts behind functional programming compared to imperative and object oriented programming.

(3) construct programs in F# and explain the basic principles behind functional programming using F#.

(4) describe and explain solutions to problems in the context of functional programming.

(5) apply core concepts of functional programming.

(6) reason about the complexity of functional programs. 
Fagligt indhold:The subject of the course is functional, declarative programming in general and F# in particular. This includes the following themes:

Functional Programming Paradigme:
* first class functions
* higher-order functions
* type inference and polymorphism
* recursion and tail-recursion
* algebraic data types
* strict and lazy evaluation

Memory Management:
* garbage collection
* reference types
* mutable versus immutable data

Parallel Programming:
* divide and conquer 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

The course consists of

* a course-like block with lectures and exercises, covering the themes of the course
* 6 hand-ins with F# assignments

The course includes required reading on functional programming, parallel programming and F#. 

Obligatoriske aktivititer:The 6 mandatory hand-ins must all be approved to attend the exam and pass the course. 
Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

Additional exam information:

- Written exam  

Litteratur udover forskningsartikler:The book
Functional Programming using F#
by Michael R. Hansen and Hans Rischel.

The book will be available as copies to buy. 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Torsdag 08.00-09.50 Forelæsning ITU 3A12/14
Torsdag 10.00-11.50 Forelæsning ITU 3A12/14
Torsdag 12.00-13.50 Øvelser ITU 3A12/14

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2013-06-11 09-13 Skriftlig eksamen ITU 4A14/4A16
2013-08-29 RE-EKSAMEN - Contact course manager Skriftlig eksamen ITU 2A18 - ORAL EXAMINATION WITH PREPARATION
2013-08-29 RE-EKSAMEN Skriftlig eksamen ITU PREPARATION ROOM: 2A03