Download Lecture hours Lab hours (per student) Tutorial hours (per student

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Scala (programming language) wikipedia , lookup

Standard ML wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Falcon (programming language) wikipedia , lookup

Transcript
School of Computer Science and Statistics
Integrated Computer Science Programme
ECTS Module Descriptor 2012-13
Module Code
CS4012
Module Title
Topics in Functional Programming
Pre-requisites
CS3016 Functional Programming
ECTS
5
Chief Examiner
Glenn Strong
Teaching Staff
Glenn Strong
Delivery
Lecture hours
Lab hours
(per student)
Tutorial hours
(per student)
Total
22
0
11
33
Comments: Attendance at all lectures, labs and tutorials is compulsory.
Aims
This course builds on CS3012 which introduced the fundamental concepts of
functional programming. In CS4012 we will take an in-depth look at more
advanced topics in functional programming and discuss some current research
directions in the field.
Learning Outcomes
On successful completion of this module students will be able to:
Syllabus
•
Develop sophisticated programs in a high level functional language
•
Critique software designs in terms of functional concepts
•
Contrast the functional style as it is used in several languages
Course content covers both techniques and technologies. Topics will include:
•
Designing programs with higher-order functions (functors and monad
transformers)
•
Domain Specific Languages in functional programming
Assessment
Bibliography
•
Monads and Arrows for programming
•
Type systems for functional languages; basics of type inference
•
Generalized Abstract Data Types; introduction to dependent types
•
I/O and State handling
•
Functional debugging
•
Efficiency considerations
•
Functional programming for web and concurrent systems
25% coursework, 75% examination
•
Bryan O’Sullivan, Don Stewart, and John Goerzen, Real World Haskell
(Paperback, O’Reilly Press, November 2008) available online
http://book.realworldhaskell.org/
Website
•
Richard Bird, Introduction to Functional Programming using Haskell, 2nd
edition
(Prentice Hall Press, 1998, 460 pp.)
•
Simon Thompson, Haskell: The Craft of Functional Programming, Second
Edition
(Addison-Wesley, 507 pages, paperback, 1999)
•
Selected research papers will be assigned as reading for discussion
sessions
http://www.scss.tcd.ie/courses/CS4012