lunduniversity.lu.se

Third-Cycle Courses

Faculty of Engineering | Lund University

Details for Course EDAN40F Functional Programming

Printable view

General
  • EDAN40F
  • Temporary
Course Name
  • Functional Programming
Course Extent
  • 7.5
Type of Instruction
  • Course given jointly for second and third cycle
Administrative Information
  • 7121 (Computer Science (LTH))
  • 2017-03-22
  • Professor Thomas Johansson

Current Established Course Syllabus

General
Aim
  • The course gives an insight into how the functional programming often offers a possibility to write shorter and easier-to-understand programs than using the traditional imperative or object-oriented approaches.
Contents
  • The philosophy of functional languages. The programming language Haskell. Language constructs and idioms. Higher-order functions. Lazy evaluation and infinite data structures. Monads and monadic computations. Polymorphic type systems and type classes. Type analysis and type inference
Knowledge and Understanding
  • For a passing grade the doctoral student must
  • have a good understanding of the fundamental principles for functional programming
    understand the practical consequences of the differences in this paradigm relative to traditional programming
    know the common idioms of functional programming
    understand the benefits and the function of an advanced type system
Competences and Skills
  • For a passing grade the doctoral student must
  • be a fluent reader of program written in Haskell
    be able to utilize the possibilities of the functional paradigm to write Haskell programs in good style
    be able to do type analysis of relatively complex expressions in Haskell
Judgement and Approach
  • For a passing grade the doctoral student must
  • have learnt to appreciate the role of program code as a communication medium between people
Types of Instruction
  • Lectures
  • Laboratory exercises
Examination Formats
  • Written exam
  • Failed, pass
Admission Requirements
Assumed Prior Knowledge
  • EDAA01 Programming - Second Course or EDAA30 Programming in Java - Second Course
Selection Criteria
Literature
  •  
  • Simon Thompson: Haskell, The Craft of Functional Programming. Addison Wesley, 2011, ISBN: 978-0-201-88295-7. 3rd edition. Recommended reference.
    Graham Hutton: Programming in Haskell. Cambridge University Press, 2007, ISBN: 978-0-521-69269-4. Recommended reference.
    Bryan O'Sullivan, John Goerzen and Don Stewart: Real World Haskell. O'Reilly, 2008, ISBN: 978-0-596-51498-3. Recommended reference.
Further Information
Course code
  • EDAN40F
Administrative Information
  • 2017-03-22
  • Professor Thomas Johansson

All Established Course Syllabi

1 course syllabus.

Valid from First hand in Second hand in Established
Spring 2017 2017‑03‑22 09:58:21 2017‑03‑22 10:02:21 2017‑03‑22

Current or Upcoming Published Course Occasion

No matching course occasion was found.

All Published Course Occasions

No matching course occasions were found.

0 course occasions.


Printable view