Undergraduate Course: Informatics 1 - Functional Programming (INFR08013)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 8 (Year 1 Undergraduate)
||Availability||Available to all students
|Summary||*Please note that this course has been replaced by a 20-credit course 'Informatics 1 - Introduction to Computation' (INFR08025) from 2018/19*.
An introduction to the concepts of programming, using a functional programming language. Students learn to solve small-scale problems succinctly and at an abstract level without being bogged down in details.
An introduction to the concepts of programming using a functional programming language.
Relevant QAA Computing Curriculum Sections: to be confirmed
Entry Requirements (not applicable to Visiting Students)
||Co-requisites|| Students MUST also take:
Informatics 1 - Computation and Logic (INFR08012)
||Other requirements|| SCE H-grade Mathematics or equivalent is desirable.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Not being delivered|
On completion of this course, the student will be able to:
- Solve simple programming tasks and define appropriate data types
- Perform case analysis, use recursion (for example, evaluate a parse tree for an arithmetic expression to yield a value)
- Read and write programs that use basic list processing functions, list comprehensions and higher-order functions
- Choose appropriate decompositions of given problems and compose corresponding functional programs from suitable function definitions, including their types
- Document, test and debug programs
|Thinking Functionally with Haskell, Cambridge University Press, 2014. Richard Bird|
The Craft of Functional Programming, 3rd edition, Simon Thompson, Haskell, Addison Wesley, 2011
Programming in Haskell, Graham Hutton
The Haskell School of Expression, Paul Hudak
Learn You a Haskell for Great Good! Miran Lipovica. No Starch
|Course organiser||Prof Don Sannella
Tel: (0131 6)50 5184
|Course secretary||Mr Rob Armitage
Tel: (0131 6)50 5194