Computational Cognitive Neuroscience

Algorithms and machine learning
Advanced studies
This is an introduction to theoretical/computational neuroscience from a cognitive perspective. The course concentrates on rather abstract models directly related to information processing and artificial intelligence (and does not include biophysical models trying to closely simulate biology). It is intended to be accessible for Master"s students from computer science, cognitive science, engineering, and related fields. The course is based on guided self-study of textbooks instead of traditional lectures.
Year Semester Date Period Language In charge
2016 spring 19.01-03.03. 3-3 English Aapo Hyvärinen


Time Room Lecturer Date
Tue 14-16 B222 Vadim Kulikov 19.01.2016-09.02.2016
Thu 14-16 B222 Vadim Kulikov 19.01.2016-09.02.2016
Tue 14-16 B222 Aapo Hyvärinen 11.02.2016-03.03.2016
Thu 14-16 B222 Aapo Hyvärinen 11.02.2016-03.03.2016

Information for international students

The course is entirely in English.



Flow of the course:

On every Thursday, the students are given material (book chapters) to read and exercices to solve (a lot may already be available on this page).
Tuesdays are discussion sessions on the course material. By the evening of the Monday of the following week, each student must send two questions on the material handed out the previous Thursday. The questions will be treated in the Tuesday session by the lecturer and other students.
The solutions to the exercices will be treated in the Thursday sessions (one week after they have been handed out).

The first week is an exception to the above. The first Tuesday session (19th Jan) is an overview and introductory lecture, in which the students will be given background material to read until the following Tuesday. The first Thursday session (21th Jan) is, exceptionally, an extra Q&A session concerning the background material.


You need to have done introductory university-level courses in:

* linear algebra
* probability
* programming
* statistics or machine learning

Schedule and contents:

The course has two halves, given by the two different lecturers. Material is taken mainly from two books, referred to as NIS and Rojas, see below for links.

1st week Tuesday 19th Jan is introductory, with no material to be read and discussed yet

Introductory slides

2nd week, discussed on Tue 26th Jan (and exceptionally on Thu 21st as well)

[This week is about background material. There's a lot of material but you probably know it partly already. Concentrate on those topics you know the least about.]

Neuroscience background: 
Rojas book chapter 1, beginning sections of  of (as many as you can take).

Maths background:
NIS chapters 4 and 19

Programming background:
Introduction to Python and NumPy/SciPy, using these links: (or any similar intro to python)

Exercises 1 in pdf

Questions and Answers 1

3rd week, discussed on Tue 2nd Feb:

Perceptron, Multi-layer Perceptron, Back-propagation (Rojas book sections 3.1, 3.2, 3.3, 4.1, 4.2, 7.2, 7.3 )

Send two questions on the material by Monday 1st (evening) to Vadim Kulikov.

Exercises 2 in pdf

Questions and Answers 2

4th week, discussed on Tue 9th Feb:

Associative memory, Hebbian learning, Hopfield model (Rojas book chapter 12, sections 13.1, 13.2, 13.3, 13.4 )

Send two questions on the material by Monday 8th (evening) to Vadim Kulikov.

Exercises 3 in pdf

Questions and Answers 3

5th week, discussed on Tue 16th Feb:

Early visual system: Introduction, basic models, Fourier and Gabor analysis (NIS book chapters 1,2,3 )

Send two questions on the material by the evening of Monday 15th Feb to Aapo Hyvärinen

Exercises 4 in pdf 

6th week, discussed on Tue 23rd Feb:

Natural images: Introduction, principal component analysis, sparse coding (NIS book chapters 5,6)

Send two questions on the material by the evening of Monday 22th Feb to Aapo Hyvärinen

Exercises 5 in pdf    Code for the exercices (image sampling)     Natural image data for the exercices

7th week, discussed on Tue 1st Mar:

Natural images: Independent Component Analysis (NIS book chapter 7); Bayesian inference for pattern recognition see this paper.

Send two questions on the material by the evening of Monday 29th Feb to Aapo Hyvärinen

Exercises 6 in pdf  

Completing the course

  • To get the credits, you should do two projects (by yourself, not groups):
    • Various topics will be offered
      • One for each half of the course
      • You can also propose your own topic
    • Different forms of projects will be possible
      • Programming
      • Short essay (approx 2000 words)
      • Summary of a scientific article (1000 words)
    • At least one of the projects must be programming
    • (Cancelled: You will also be required to read reports by other students as a form of peer review)
    • The deadlines for the two projects are: 21th Feb (note the extension!) and 13th March.
    • The assistant taking care of the programming project is Hande Celikkanat, email:
    • See tab "Information on Projects" at the top of this page.
  • In addition, participation in the Tuesday Q&A sessions in the sense of  sending in two questions  by preceding Monday for each session.
  • There will be no exam.
  • You can get bonus points from the exercises during the first half of the course (Thursdays on weeks 2,3, and 4). The maximum bonus is 7% of the points of the projects. Each exercise problem handed in by 14:15 on the respective Thursday will give you one point, and with 20 points you get the maximum bonus (but you cannot obtain more than 10 points on a single Thursday session). 

Literature and material

The course is mainly based on selected chapters from two books (both of which are freely available online):

Neural Networks - A Systematic Introduction by Raul Rojas (called Rojas).

Natural Image Statistics by Hyvärinen, Hurri, Hoyer (called NIS).

The exact chapters used are given above.