Module Descriptor School of Computer Science and Statistics
Module Code | CS3016 |
Module Name | Introduction to Functional Programming |
Module Short Title | N/a |
ECTS | 5 |
Semester Taught | Semester 1 |
Contact Hours | Lecture hours: 22 Lab hours: 5 Tutorial hours: 6 Total hours: 33 |
Module Personnel | Dr Andrew Butterfield |
Learning Outcomes | On successful completion of this module students will be able to:
|
Learning Aims | Functional programming languages present a powerful, abstract, and important direction in programming languages. The high level of abstraction and the expressive syntax makes program decomposition and composition unusually easy, while the close connections to the underlying semantics make formal reasoning tractable. Systems such as Google’s “Map/Reduce” framework demonstrate the influence of this approach, and the importance to a computer scientist of understanding it.
|
Module Content | Course content covers both techniques and technologies. Topics will include:
|
Recommended Reading List |
Simon Thompson, Haskell: The Craft of Functional Programming, Second Edition (Addison-Wesley, 507 pages, paperback, 1999) |
Module Prerequisites | Some familiarity with programming would be helpful, esp. the use of program abstraction constructs such as function and procedure definitions. |
Assessment Details | % Written and Multiple Choice Exam: 75 % Coursework: 25 Description of assessment & assessment regulations.
An overall mark of 40% is required to pass the module. The exam and coursework components do not have to reach 40% individually. Assessment in the supplemental examinations is by 100% exam. |
Module Website | |
Academic Year of Data | 2017/18 |