Kursplan för |
|
TDA452 - Functional programming |
|
Kursplanen fastställd 2012-02-18 av programansvarig (eller motsvarande) |
Ägare: TKDAT |
|
7,5 Poäng |
Betygskala: TH - Fem, Fyra, Tre, Underkänt |
Utbildningsnivå: Grundnivå |
Huvudområde: Datateknik, Informationsteknik
|
Institution: 37 - DATA- OCH INFORMATIONSTEKNIK
|
Undervisningsspråk: Engelska
Sökbar för utbytesstudenter
Blockschema:
C
Modul |
|
Poängfördelning |
|
Tentamensdatum |
Lp1 |
Lp2 |
Lp3 |
Lp4 |
Sommarkurs |
Ej Lp |
0111 |
Laboration |
3,0 hp |
Betygskala: UG |
|
|
3,0 hp
|
|
|
|
|
|
|
0211 |
Tentamen |
4,5 hp |
Betygskala: TH |
|
|
4,5 hp
|
|
|
|
|
|
18 Dec 2012 em V, |
06 Apr 2013 fm V |
I program
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
MPALG COMPUTER SCIENCE - ALGORITHMS, LANGUAGES AND LOGIC, MSC PROGR, Årskurs 1 (valbar)
Examinator:
Professor
David Sands
Ersätter
TDA450
Functional programming TDA451
Functional programming
Kursutvärdering:
http://document.chalmers.se/doc/eb6a4dc6-f748-4afd-9bc1-5f516ccd5e71
Behörighet:
För kurser inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program kursen ingår i.
Kursspecifika förkunskaper
The course assumes that the participants are familiar with basic notions from discrete mathematics and logic. Previous programming experience and basic knowledge of data structures and algorithms are also assumed. The course cannot be included in a degree which contains (or is based on another degree which contains) either the course TDA555 (Introduction to functional programming) or the course TDA451 (Functional Programming).
Syfte
This course introduces a functional programming language and related concept to students that already have some knowledge in programming. The primary goal is to enable students to write realistic (small- to medium-size) programs, while introducing some of the fundamental concepts of computer science.
Lärandemål (efter fullgjord kurs ska studenten kunna)
1. Knowledge and understanding,
- describe the difference between functional programming and other mainstream programming paradigms,
- describe the basic elements of the paradigm such as higher-order functions and user-defined data types, and
their realisation in the Haskell programming language.
2. Skills and abilities,
- write small to medium-sized functional programs for a variety of applications;
- exploit a variety of programming techniques typical in functional programming, such as: use of recursion, modelling with recursive datatypes, abstraction and reuse with the help of higher order functions and monads;
3. Judgement and approach.
- identify the strengths and possible weaknesses of the functional programming paradigm.
Innehåll
In this course the student will learn about functional programming through the Haskell programming language. Concrete topics encountered in the course include:
- functions as first-class values
- algebraic and abstract data types
- polymorphism and classes
- testing functional programs
- lazy evaluations and infinite objects
- monads
Organisation
Teaching is through regular lectures and self-study exercises, supported by drop-in consultation times and on-line help.
Litteratur
See the web page of the course.
Examination
Written exam and compulsory laboratory exercises.