Last update:

17 December 2008

Course:CA215 Languages & Computability: Functional Programming
Lecturer:Sylwia Ozdowska
Website:http://www.computing.dcu.ie/~sozdowska/teaching/
E-mail:sozdowska@computing.dcu.ie
Teaching:1 hour per week lectures, 2 hours per week labs
(lecture [Thursday, 4pm, Q122]; labs [there is just ONE lab session on Tuesday 4pm - 6pm in L114])
Assessment:100% continuous assessment (worth 25% of module CA215)
Note: All of the course material was originally provided by Geoff Hamilton.




Lecture Notes:
Haskell Introduction
Basics
Basic Types
Compound Types
Function Definition (General, Layout)
Function Definition (Local Definitions, Guards, Patterns, Recursive Functions)
List Functions
User-Defined Types
Type Checking
Program Design (+ more about Program Design)
Higher Order Functions

Lambda calculus Lambda Calculus
Lambda Constructions


Extras: Sample Lambda-Calculus Question
Solutions for the Sample Lambda-Calculus Question




Lab exercises: Lab 1 (+ Getting started with Hugs on Linux)
Lab 2
Lab 3      (Solution)
Lab 4
Lab 5
Lab 6 (sample lab exam)
NB: To compute the standard deviation, use the sample standard deviation equation (see for instance)
Lab 7
Lab 8 (revision + NEW Solution)
NB: Lecture 9 (27 November) is for revision before the lab exams. Don't forget to prepare questions if you have any.
Lab ++ (additional exercise for those fond of Haskell)


Extras: Sample solutions for Lab Exam 1




Lab exam: There will be 3 lab exam sessions during the regular lab sessions (ie. Tuesday 4-6pm in L114) on weeks 10, 11 and 12
  • First lab exam (week 10, ie. 2/12/08): there will be three questions. Question 1 will be worth 40 marks, Question 2 will be worth 30 marks and Question 3 will be worth 30 marks.
If you are happy with the mark you received for this exam, you don't need to attend any further lab exams. If you are not happy with your mark, you can take the second lab exam. The maximum mark you can achieve for the second lab exam is 70%.
sample solutions
  • Second lab exam (week 11, ie. 9/12/08): there will be two questions. Question 1 will be worth 40 marks and Question 2 will be worth 30 marks.
If you are happy with the mark you receive for this exam, you don't need to attend any further lab exams. If you are not happy with your mark, you can take the third lab exam. The maximum mark you can achieve for the third lab exam is 40%.
sample solutions
  • Third lab exam (week 12, ie. 16/12/08): there will be one question worth 40 marks.
NEW: sample solution
NEW: Final results are available here

Important:
  • You cannot lose marks by sitting the second and third lab exams: the lab exam you do best on will be taken as your final continuous assessment mark.
  • You may bring a single sheet of A4 paper with notes written on one or both sides to each lab exam.




Useful reading: Haskell: The Craft of Functional Programming, S. Thompson, Addison Wesley, 1999 (2nd edition), [005.133/THO]