General information 
Course unit name: Computational Models and Programming Techniques
Course unit code: 568387
Academic year: 20152016
Coordinator: Matthias Sven Keil
Department: Department of Basic Psychology
Credits: 5
Single program: S
Estimated learning time 
Total number of hours 125 
Facetoface learning activities 
41 
 Lecture with practical component 
41 
Supervised project 
40 
Independent learning 
44 
Competences to be gained during study 





Learning objectives 
Referring to knowledge
Referring to abilities, skills
Referring to attitudes, values and norms

Teaching blocks 
1. Introduction into Programming with Matlab
*
defining functions and data types
loops and plotting
array indexing
compiling histograms
correlation, crosscorrelation, and autocorrelation
a spike generator with Poisson statistics
2. How to Model Neurons: The Basics
*
From biophysics to mathematics: Neurons and membrane potential
The neuron as RCcircuit
Synaptic input, synaptic weights, reversal potentials, lowpass filtering, threshold, divisive inhibition, shunting inhibition
steady state solution, divisive inhibition, and normalization
Simulation of a firing rate model (constant input, temporally varying input)
Activation functions, neuronal oscillator
3. An Example of Modeling a Single Neuron
*
The Lobula Giant Movement Detector of the locust
Collision detection, optical variables, nonlinear inputs, nonlinear operations
Phenomenological model: The “eta”function (explicit multiplication; logarithmic encoding)
Biophysical model: The “psi”function (emergent multiplication; power law; shunting inhibition)
4. How to Model Receptive Fields with Matlab
*
matrices, matrix operations, and matrix indexing
visualization of matrices
efficient programming without loops
convolution and Fourier transforms
modeling of the receptive fields of the retina and V1
modeling brightness perception
5. Review of Single Neuron Models
*
The classical one: HodgekinHuxley
Biophysical details versus computational efficiency
Spike patterns: tonic, phasic, bursting and such
Reproducibility of spike patterns and noise
Coding: population codes, latency codes
Analysis of spike trains (Fourier, correlation, …)
The Blue Brain Project
6. Predictive Coding in the Inner Retina
*
structure of the retina and its relation to image statistics
Classical view: Centersurround receptive fields of retinal ganglion cells
Predictive coding in amacrine cells and stimulation pattern
feedforward inhibition, feedback inhibition, Hebbian learning
7. The Importance of Single Spikes: Latency and Rank order Codes
*
rate coding versus temporal coding in rapid scene perception
the retina as encoder
the cortex as decoder
how to compute with inactivity
8. Connecting to each other I: Topology and Network Dynamics
*
Connection matrices
Internet, social networks, traffic networks, neural networks
Scale free networks versus random networks
Network activity, oscillations, synchrony
Fault tolerance; hubs; degree distribution
9. Connecting to each other II: Balanced Networks and Chaos
*
what is chaos?
sensory input and gain control by feedforward inhibition
(bi)stability of resting and depolarized states
influence of slow or fast synaptic input
short term memory
10. Connecting to each other III: Dynamic Connections
*
selforganization of complexity: sandpiles, avalanches and criticality
the power law signature of criticality
a dynamic connectivity matrix: depression, facilitation, and STDP
neuronal avalanches and neuronal delay
scalefree networks by selforganization and Hebbian learning
Teaching methods and general organization 
The classes are highly interactive ("learning by doing"), and normally proceed according to the following outline: First, the biological context (e.g. a paper or a specific topic) is presented. Second, the mathematical methods that are necessary for modeling the respective topic are gently introduced. Finally, the students will go ahead with implementing the complete model (or parts of it), and carrying out simulations with different (sets of) parameters, and interpret their simulation results. The homework usually builds up on the class context and typically consists of specific questions which the students have to resolve by programming corresponding computer simulations. The homework will be briefly discussed at the beginning of the next class. Each student should give his or her best in doing the home assignments, as they are an excellent way for learning & deepening teaching matters, and examination training. For each topic, each student’s mathematical background will taken into account. This means that the class offers a high degree of flexibility with respect to teaching topics. The guiding idea is not to just pass indiscriminately through all teaching topics, but rather to advance to the next topic if and only if each student has developed a sufficient grasp. In this way, the students will gather motivation and finally enjoy doing programming and mathematics. 
Official assessment of learning outcomes 
Examinationbased assessment The evaluation consists of a questionnaire about mathematics, about Matlab programming, and finally some assignments similar to the homework. The purpose of the examination is to evaluate in how far the students understood the mathematical methods, models, and the programs. Furthermore, the test also shows in how far the students have understood to evaluate simulation results. 
Reading and study resources 
Consulteu la disponibilitat a CERCABIB
Book
„Computational Explorations in Cognitive Neuroscience”
Randall C. O’Reilly and Yuko Munakata (The MIT Press 2000)
Especially interesting are Chapters 2, 3, 4, 7, 8 
“Biophysics of Computation – Information Processing in Single Neurons”
A book written by Christof Koch (Oxford University Press 1999)
Especially interesting are Chapter 1, Chapter 4, Chapter 14, and Chapter 15 
“Spiking Neuron Models  Single Neurons, Populations, Plasticity”
Book by Wulfram Gerstner and Werner M. Kistler
Cambridge University Press (2002)
“Dynamical Systems in Neuroscience: The Geometry of Excitability and Bursting”
Book by Eugene M. Izhikevich (2007)
(The MIT Press 2007)
avaliable online 
“From Computer to Brain: Foundations of Computational Neuroscience”
Book by William W. Lytton
(Springer Verlag New York 2002)
Article
“Modeling the Mind” – Special Section about Computational Neuroscience Science 314:7594 (2006)
Several review articles of computational neuroscience from various authors, published as a special section in Science (https://www.sciencemag.org/site/feature/misc/webfeat/compneuro/)
Several review articles of computational neuroscience from various authors, published as a special section in Science (https://www.sciencemag.org/site/feature/misc/webfeat/compneuro/) 