Module Descriptor School of Computer Science and Statistics
|Module Name||Introduction to Functional Programming|
|Module Short Title||N/a|
|Semester Taught||Semester 1|
Lecture hours: 22
Lab hours: 5
Tutorial hours: 6
Total hours: 33
|Module Personnel||Dr Andrew Butterfield|
On successful completion of this module students will be able to:
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.
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)
Some familiarity with programming would be helpful, esp. the use of program abstraction constructs such as function and procedure definitions.
% 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.
|Academic Year of Data||2017/18|