University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Informatics 1 - Functional Programming (INFR08013)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 8 (Year 1 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryAn 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.
Course description 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)
Pre-requisites Co-requisites Students MUST also take: Informatics 1 - Computation and Logic (INFR08012)
Prohibited Combinations Other requirements SCE H-grade Mathematics or equivalent is desirable.
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Academic year 2015/16, Available to all students (SV1) Quota:  None
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 20, Seminar/Tutorial Hours 10, Supervised Practical/Workshop/Studio Hours 20, Formative Assessment Hours 2, Summative Assessment Hours 3, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 43 )
Assessment (Further Info) Written Exam 0 %, Coursework 10 %, Practical Exam 90 %
Additional Information (Assessment) Formative assessment will be used to provide feedback and guidance to students and will take the form of quizzes, exercise sheets, practical exercises and coursework assignments, covering areas from across the syllabus. A summatively assessed class test (worth 10% of the final mark) will be held mid semester and will test students basic programming competence.
Feedback Not entered
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S1 (December)2:00
Resit Exam Diet (August)2:00
Learning Outcomes
1 - Solve simple programming tasks (for example, convert a number into a string for the corresponding roman numeral).
2 - Define appropriate data types (for example, to represent parse trees for arithmetic expressions).
3 - Perform case analysis, use recursion (for example, evaluate a parse tree for an arithmetic expression to yield a value).
4 - Read and write programs that use basic list processing functions (nil, cons, append, length, take, drop, zip, concat).
5 - Read and write programs that use list comprehensions and higher-order functions (map, filter, fold).
6 - Choose appropriate decompositions of problems to create a program to solve that problem.
7 - Compose a functional program from suitable function definitions, including their types.
8 - Document programs effectively.
9 - Apply basic techniques to test and debug programs.
Reading List
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
Press, 2011.
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserProf Don Sannella
Tel: (0131 6)50 5184
Course secretaryMr Gregor Hall
Tel: (0131 6)50 5194
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information
© Copyright 2015 The University of Edinburgh - 18 January 2016 4:12 am