Foundations of Data Science and AI for the Neurosciences

12 EC

Semester 1, period 1

5103FDS12Y

Owner Bachelor Psychobiologie
Coordinator dr. Jan Willem de Gee
Part of Exchange Programme Faculty of Science, specialisation BSc Psychobiology, year 1Bachelor Psychobiology, year 3
Links Visible Learning Trajectories

Course manual 2025/2026

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
  • Programming in Python:
    • Data analysis
  • 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
  • Electroencephalography practicum

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: Nylon & Wallish, Neural Data Science (A Primer with MATLAB and Python), Elsevier, 2017 (PDF will be made available).

  • 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

  • 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
  • Read, interpret and design computer programs in Python
  • Independently develop 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.

During encephalography (EEG) practicums, students will collect their own EEG data, to be analysed in assignment 1.  

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

 

Lectures

66

 

Practicals

66

 

Exam

4

 

Self study

200

 

Total

336

(12 EC x 28 uur)

Weeks 1-3, 5-7:

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

Weeks 4, 8:

Self study (preparation for exams, completion of assignments).

Attendance

  • Some course components require compulsory attendance. If compulsory attendance applies, this will be indicated in the Course Catalogue which can be consulted via the UvA-website. The rationale for and implementation of this compulsory attendance may vary per course and, if applicable, is included in the Course Manual.
  • Additional requirements for this course:

    Participation to lectures and laptop seminars 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.

    Assessment

    Item and weight Details Remarks

    Final grade

    Average must be >5.5

    0.7 (70%)

    Average exam grade

    Must be ≥ 5

    0.35 (50%)

    Partial exam 1

    Mandatory

    0.35 (50%)

    Partial exam 2

    Mandatory

    0.3 (30%)

    Average assignment grade

    Must be ≥ 5

    0.15 (50%)

    Assignment 1

    Mandatory

    0.15 (50%)

    Assignment 2

    Mandatory

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

    Assignments will be done in groups of 3 students, and will lead to a single group grade. Assignments will be primarily based on the development of Python 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:

    Partial exam 1: 35%

    Partial exam 2: 35%

    Assignment 1: 15%

    Assignment 2: 15%

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

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

    The resit will combine topics covered in the partial exam 1 and partial exam 2 and will account for 70% of the course grade. The minimum passing score for the resit is 5.0. The other 30% 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 collect and analyse (in Python) and interpret EEG data. 

    Assignment 2

    • Students will be asked to develop a program (in Python) to analyse 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
    1 Mon Introduction de Gee Software installation
      Tue Python for neuroscientists Pandas / MNE de Gee Exercises (Python)
      Wed Collect EEG data de Gee Exercises (Python)
      Thu Collect EEG data de Gee Exercises (Python) + Assignment 1
      Fri Collect EEG data de Gee Exercises (Python) + Assignment 1
    2 Mon Fourier analysis 1 de Gee Exercises (on paper) + Assignment 1
      Tue Linear algebra - vector spaces Lucic Exercises (Sowiso) + Assignment 1
      Wed Linear algebra - vector spaces Lucic Exercises (Sowiso) + Assignment 1
      Thu Linear algebra - Systems of linear equations Lucic Exercises (Sowiso) + Assignment 1
      Fri Linear algebra - Matrices Lucic Exercises (Sowiso) + Assignment 1
    3 Mon Linear algebra - Matrices Lucic Exercises (Sowiso) + Assignment 1
      Tue Fourier analysis 2 de Gee Exercises (on paper) + Assignment 1
      Wed Linear algebra - Eigenvalues Lucic Exercises (Sowiso) + Assignment 1
      Thu Linear algebra - SVD & applications Lucic Exercises (Sowiso) + Assignment 1
      Fri Linear algebra - Extra lecture Lucic Exercises (Sowiso) + Assignment 1
    4 Mon      
      Tue      
      Wed Vragenuur    
      Thu      
      Fri Deeltoets    
    5 Mon Spiking data: Single-units de Gee Exercises (Python)
      Tue Spectral filtering 1 de Gee Exercises (Python) + Assignment 2
      Wed Free Lucic Assignment 2
      Thu Calculus - Multivariate 1 Lucic Exercises (Sowiso) + Assignment 2
      Fri Calculus - Advanced one-dimensional Lucic Exercises (Sowiso) + Assignment 2
    6 Mon Calculus - Multivariate 2 Lucic Exercises (Sowiso) + Assignment 2
      Tue Calculus - Extra lecture Lucic Exercises (Sowiso) + Assignment 2
      Wed Spiking data: Spike sorting (PCA) de Gee Exercises (Python)
      Thu Spectral filtering 2 de Gee Exercises (Python) + Assignment 2
      Fri Phase coherence + image processing de Gee Exercises (Python) + Assignment 2
    7 Mon Free de Gee Assignment 2
      Tue Introduction to decoding de Gee Exercises (Python) + Assignment 2
      Wed Introduction to neural-based classifiers de Gee Exercises (Python) + Assignment 2
      Thu Spiking data: Population/information theory Olcese Exercises (Python) + Assignment 2
      Fri TBA de Gee Assignment 2
    8 Mon Research seminar Bosman Assignment 2
      Tue      
      Wed Vragenuur    
      Thu      
      Fri Tentamen    

    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 (e.g. Inleiding Programmeren or similar).

    Capacity: max. 50 students

    Contact information

    Coordinator

    • dr. Jan Willem de Gee

    Staff

    • Jan Willem de Gee (lecturer)
    • Sebastian Lucic (lecturer)
    • Umberto Olcese (lecturer)
    • Conrado Bosman Vittini (lecturer)
    • Mirte Verdonk (teaching assistant)
    • Sabine Gnodde (teaching assistant)
    • Amina Šišić (teaching assistant)