Reading List
Functional Programming and Intelligent Algorithms
(Last update: 13 January 2015)
Core textbooks

Simon Thompson:
Haskell. The craft of functional programming.
Third edition 2011.

Chapters 18, 11, 13, 18 are core syllabus.

Stephen Marsland:
Machine Learning.
An Algorithmic Perspective.
Second Edition 2015.

Chapters 14, 6.16.2 (including chapter introduction), and
10 are core syllabus
(Chapter 6.36.6 and 14 is removed from the syllabus.)
Books on Functional Programming

Simon Thompson:
Haskell. The craft of functional programming.
Third edition 2011.

This a very popular academic textbook, including suitable exercises,
and highly recommended as such.
It covers pure functional programming in general as much as Haskell
in particular.
It is a little shallow when it comes to monads, which is an important
topic to be able to solve practical problems in Haskell.

Bryan O'Sullivan, John Goerzen and Don Stewart:
Real World Haskell

This book has a very different focus than Simon Thompson, focusing on
how to write useful programs for realworld problems in Haskell.
It is not a textbook and offers no exercises, but it starts with the
basics and appears to be suitable as a beginner's text.

Miran Lipovača:
Learn You a Haskell for Great Good!

Another book for Haskell beginners, this text takes a tutorial approach
with very detailed examples.
Like Real World Haskell, it covers relatively
advanced topics like monads as well.

Simon Marlow:
Parallel and Concurrent Programming in Haskell

This book is beyond the syllabus and is a very useful and
comprehensive source on parallellising Haskell programs.
Books on Intelligent Algorithms

Stephen Marsland:
Machine Learning.
An Algorithmic Perspective.
Second Edition 2015.

This book has about the right coverage of our two algorithms,
genetic algorithms and artificial neural networks.
The algorithmic perspective makes it suitable for a practical
approach, focusing on implementation of the algorithms.
The curriculum is largely based on this book.

Stuart Russell and Peter Norvig:
Artificial Intelligence: A Modern Approach
Third edition 2010.

This is a comprehensive reference which is widely used as a
textbook across the world.
It is a probable choice for anyone who wants to dig deeply into
artificial intelligence, but may be daunting in view of this
particular module.
It is also the textbook for a subsequent course called Topics in AI.

Hans Georg Schaathun:
Machine Learning in Image Steganalysis
(Chapters 1013 + Section 1.2)

This book is about a particular application of Machine Learning
(or AI), and as such, it can illustrate some of the practical
challenges involved in using Machine Learning.

Randy L. Haupt & Sue Ellen Haupt:
Practical Genetic Algorithms.
Second Edition 2004.

The lecture notes for the GA component of the course are mainly based
on this book.

David E. Goldberg:
Genetic Algorithms in Search, Optimization, & Machine Learning.
1989.

The gold standard for books on GA.
Reference literature
The following books are good references, if you are missing
prerequisite skills from your undergraduate studies.

Richard A. Johnson and Gouri K. Bhattacharyya
Statistics : principles and methods

This is a classic textbook in elementary statistics.
Other documents

UC Irvine Machine Learning Repository
is a repository of sample data sets.
These will be very useful to test learning algorithms,
and we will use some of the data sets for testing in the
exercises.
Hans Georg Schaathun /
hasc@hials.no