Foundations of Data Science and AI for the Neurosciences

12 EC

Semester 1, period 1

5103FDS12Y

Owner Bachelor Psychobiologie
Coordinator Umberto Olcese
Part of Exchange Programme Faculty of Science, specialisation BSc Psychobiology, year 1Bachelor Psychobiologie, year 3

Course manual 2022/2023

Course content

The main subjects covered in the course will be:

  • Mathematical methods for signal analysis:
    • Linear algebra
  • Calculus:
    • Advanced calculus of real functions
    • Functions of several variables
  • Introduction to dynamical systems:
    • Systems of linear differential equations
  • Programming in MATLAB:
    • From algorithms to programs
    • Performing signal processing and statistics in MATLAB
  • Introduction to programming in Python
  • Spectral analysis:
    • Theory and practice
    • Spectral filtering
    • Introduction to image processing
  • Analysis of neuronal spiking data:
    • Spike sorting
    • Analysis of single neuron and population activity
  • Introduction to artificial neural networks for classification
  • Foundations of information theory, encoding/decoding

Study materials

Literature

    • Material provided by lecturer

    • A short compendium of most of the topics covered during the course can be found in the following book: Wallish et al., Matlab for Neuroscientists (Second Edition), Elsevier

    • The cloud environment SOWISO (https://uva.sowiso.nl/) will be used by students to learn, practice, and assess the mathematical methods and techniques taught in this course

Practical training material

    • Material will be provided by lecturers

Software

    • Matlab, Python

Objectives

  • Understand and apply advanced concepts in linear algebra
  • Understand and apply methods and techniques of advanced calculus
  • Formulate, carry out, and write down mathematical computations in a correct way
  • Compute the behavior of systems of linear differential equations
  • Read, interpret and design computer programs in MATLAB and Python
  • Independently develop MATLAB and Python programs to perform simple signal processing routines
  • Combine algorithms to solve a problem and generate a program
  • Apply the steps in signal processing pipelines
  • Explain and apply the most relevant signal processing and AI-based techniques for spectral analysis and for the analysis of spiking data
  • Select the most appropriate signal processing and AI-based techniques for spectral analysis and for the analysis of spiking data

Teaching methods

  • Lecture
  • Computer lab session/practical training
  • Self-study
  • Working independently on e.g. a project or thesis

Lectures will be used to introduce and discuss concepts and topics related to math, programming and signal analysis.

During computer practicals, students will work on exercises meant to learn the applied skills associated with the taught concepts and methods, and will work on the group assignments.

Self-study will allow students to memorize and better understand the explained topics.

Independent (and group) work will be needed to complete the group assignments.

Learning activities

Activity

Hours

Hoorcollege

60

Tentamen

4

Self study

272

Total

336

(12 EC x 28 uur)

Weeks 1-3, 5-7:

Hoorcolleges (2 hours per day), Computerpractica (own laptop is required, 2 hours per day with assistance + independent activities) and self-study. During computerpractica, students will work individually on exercises that help get the skills that are needed for the (graded) group assignments. Assignments will be prepared during computerpractica and during self study.

We expect that the course will take place on campus. If this is not possible as a consequence of corona-regulations, most activities will be performed remotely (tools such as Zoom, Discord and Sowiso will be used). Details will be discussed during the introductory lecture and will be posted on Canvas.

Weeks 4, 8:

Self study (preparation for final test, completion of assignments).

Attendance

Programme's requirements concerning attendance (OER-B):

  • Participation in all practical (computer) sessions, field work and seminars in the curriculum is obligatory. Any additional requirements are described per component in the study guide. Here is also described what the possible consequences are of not complying with this obligation.

Additional requirements for this course:

Additional requirements for this course:

Participation to hoorcolleges and laptopcolleges is compulsory. Students may miss at most 10% of all activities, and any absence needs to be communicated to the course coordinator.

 

Bovenstaande aanwezigheidsplicht geldt ook voor alle 'live' aangeboden online (computer)practica en werkcolleges.

Mocht je wegens persoonlijke omstandigheden (denk hierbij aan ziekte of bijzondere familieomstandigheden) niet kunnen deelnemen aan een verplichte onderwijsbijeenkomst, neem dan direct per e-mail contact op met de vakcoördinator of docent via de gecommuniceerde e-mailadressen. Er wordt dan met je besproken of er mogelijkheden zijn om het onderwijs op een andere wijze te volgen, en zo ja welke.

Ben je langdurig niet in staat om onderwijs te volgen (langer dan 1 week), neem dan ook contact op met de studieadviseur.

NB Covid-19: Houd je te allen tijde aan de RIVM richtlijnen, ook als dit betekent dat je daardoor één of meerdere verplichte onderwijsbijeenkomsten moet missen. Ook hiervoor geldt, neem direct contact op zodat er samen gekeken kan worden naar

Assessment

Item and weight Details

Final grade

0.5 (50%)

Average exam grade

Must be ≥ 5, Mandatory

0.5 (50%)

Deeltoets

Mandatory

0.5 (50%)

Tentamen

Mandatory

0.5 (50%)

Average assignment grade

Must be ≥ 5, Mandatory

0.5 (50%)

Assignment 1

Mandatory

0.5 (50%)

Assignment 2

Grading matrices/rubrics and criteria for each of the graded component will be uploaded on Canvas at the beginning of the course.

Assignments will be done in groups of 2/3 students, and will lead to a single group grade. Assignments will be primarily based on the development of MATLAB code. Groups for assignments will be formed at the beginning of the course. About one week after the deadline of an assignment, feedback will be provided by the teaching assistants. Late submissions will not be accepted.

The grade will be made up by the following components:

Assignment 1: 25%

Assignment 2: 25%

Deeltoets: 25%

Tentamen: 25%

In order to be able to pass the course, the average grade for the assignments (assignment 1 + assignment 2) must be >= 5.0 and the average grade for the exams (deeltoets + tentamen) must be >=5.0. The final weighted grade (assignment 1 + assignment 2 + deeltoets + tentamen) must be >=5.5. 

In case the average assignment grade is <5.0, students will have to retake the course the next academic year. In case the average grade for the exams is <5.0, students will have the opportunity to attend the hertentamen.

The hertentamen will combine topics covered in the deeltoets and tentamen and will account for 50% of the course grade. The minimum passing score for the hertentamen is 5.0. The other 50% of the grade will come from the assignments.

Inspection of assessed work

Contact the course coordinator to make an appointment for inspection.

Assignments

Assignment 1

  • Students will be asked to design a computer program (focused on applications of linear algebra) and implement it into Matlab or Python

Assignment 2

  • Students will be asked to develop a Matlab program to analyze neurophysiological data (local field potentials and spiking activity)

Fraud and plagiarism

The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl

Course structure

Week Day Hoorcollege topic / other activity Hoorcollege lecturer Laptopcollege activities Notes
1 Mon Introduction Olcese Software installation  
  Tue Matlab programming Olcese Exercises (Matlab)  
  Wed Matlab programming Olcese Exercises (Matlab)  
  Thu Linear algebra - vector spaces Heck Exercises (Sowiso)  
  Fri Linear algebra - vector spaces Heck Exercises (Sowiso)  
2 Mon Linear algebra - Systems of linear equations Heck Exercises (Sowiso) + Assignment 1 Introduction to Assignment 1 during LC
  Tue Linear algebra - Matrices Heck Exercises (Sowiso) + Assignment 1  
  Wed Linear algebra - Matrices Heck Exercises (Sowiso) + Assignment 1 Theoretical interlude (related to assignment 1) during LC
  Thu Linear algebra - Eigenvalues Heck Exercises (Sowiso) + Assignment 1  
  Fri Linear algebra - SVD & applications Heck Exercises (Sowiso) + Assignment 1  
3 Mon Python programming de Gee Exercises (Python) + Assignment 1 Theoretical interlude (related to assignment 1) during LC
  Tue Python programming de Gee Exercises (Python) + Assignment 1  
  Wed Calculus - Multivariate 1 Lucic Exercises (Sowiso) + Assignment 1  
  Thu Calculus - Advanced one-dimensional Lucic Exercises (Sowiso) + Assignment 1  
  Fri Calculus - Multivariate 2 Lucic Exercises (Sowiso) + Assignment 1  
4 Mon     Assignment 1  
  Tue       Deadline for submitting assignment 1 (11.00 a.m.)
  Wed Vragenuur      
  Thu        
  Fri Deeltoets      
5 Mon Spiking data: Single-units Olcese Exercises (Matlab)  
  Tue Spiking data: Spike sorting (PCA) Olcese Exercises (Matlab)  
  Wed Recap on differential equations Heck Exercises (Sowiso + Assignment 2  
  Thu Bifurcations Heck Exercises (Sowiso) + Assignment 2  
  Fri Linear systems of differential equations Heck Exercises (Sowiso) + Assignment 2  
6 Mon Fourier analysis 1 Olcese Exercises (on paper) + Assignment 2  
  Tue Fourier analysis 2 Olcese Exercises (on paper) + Assignment 2  
  Wed Spectral filtering 1 Olcese Exercises (Matlab) + Assignment 2  
  Thu Spectral filtering 2 Olcese Exercises (Matlab) + Assignment 2  
  Fri Phase coherence + image processing Olcese Exercises (Matlab) + Assignment 2  
7 Mon Spiking data: Population/information theory Olcese Exercises (Matlab) + Assignment 2  
  Tue Introduction to neural-based classifiers Olcese Exercises (Matlab) + Assignment 2  
  Wed Nonlinear differential equations Heck Exercises (Sowiso) + Assignment 2  
  Thu Applications of differential equations Heck Exercises (Sowiso) + Assignment 2  
  Fri Research seminar Bosman Assignment 2  
8 Mon     Assignment 2  
  Tue       Deadline for submitting assignment 2 (11.00 a.m.)
  Wed Vragenuur      
  Thu        
  Fri Tentamen      

Timetable

The schedule for this course is published on DataNose.

Exit qualifications

Via de Zichtbare Leerlijnen Creator kun je zien aan welke eindtermen de leerdoelen van deze cursus bijdragen en hoe de  vakleerdoelen, leerlijndoelen en eindtermen van de opleiding aan elkaar gekoppeld zijn:

https://datanose.nl/#program[BSc%20PB]/outcomes 

https://datanose.nl/#program[BSc%20PB]/trajectories

Notes: 

1) The course is part of the Computationele Psychobiologie leerlijn

2) Information might still be found under the previous name of the course: "Analysis of Neural Signals"

Additional information

Knowledge in basic mathematics and statistics is required (trigonometry, differential calculus, complex numbers, probability theory, main statistical tests).

Students are required to have followed at least an introductory course on mathematics (Basis Wiskunde or similar), and on programming in Matlab (e.g. Inleiding Programmeren or similar).

Capacity: Max. 50 students

Processed student feedback

The structure and content of the course are similar to last year, but with a stronger focus on machine learning (artificial intelligence).

Contact information

Coordinator

  • Umberto Olcese

Staff

  • C.A. Bosman Vittini (lecturer)
  • Toon Brouwer (teaching assistant)
  • Jan Willem de Gee (lecturer)
  • A.J.P. Heck (lecturer)
  • S. Lucic (lecturer)
  • Eva Steultjens (teaching assistant)