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 2024/2025

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 Python:
    • Introduction 
    • From algorithms to programs
    • Performing signal processing and statistics 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: 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
  • Compute the behavior of systems of linear differential equations
  • 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.

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

60

Exam

4

Self study

272

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

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:

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.

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

1 (100%)

Deeltoets

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: 25%

Partial exam 2: 25%

Assignment 1: 25%

Assignment 2: 25%

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 50% of the course grade. The minimum passing score for the resit 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 this in Python

Assignment 2

  • Students will be asked to develop a Python program 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 Notes
1 Mon Introduction de Gee Software installation  
  Tue Python programming de Gee Exercises (Python)  
  Wed Python programming de Gee Exercises (Python)  
  Thu Python programming de Gee Exercises (Python) Introduction to Assignment 1 during LC
  Fri Linear algebra - vector spaces Lucic Exercises (Sowiso)  
2 Mon Linear algebra - vector spaces Lucic Exercises (Sowiso) + Assignment 1  
  Tue Linear algebra - Systems of linear equations Lucic Exercises (Sowiso) + Assignment 1  
  Wed Linear algebra - Matrices Lucic Exercises (Sowiso) + Assignment 1  
  Thu Linear algebra - Matrices Lucic Exercises (Sowiso) + Assignment 1  
  Fri Linear algebra - Eigenvalues Lucic Exercises (Sowiso) + Assignment 1  
3 Mon Linear algebra - SVD & applications Lucic Exercises (Sowiso) + Assignment 1  
  Tue Linear algebra - Extra lecture Lucic Exercises (Sowiso) + 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 de Gee Exercises (Python)  
  Tue Spiking data: Spike sorting (PCA) de Gee Exercises (Python)  
  Wed Fourier analysis 1 de Gee Exercises (on paper) + Assignment 2  
  Thu Recap on differential equations Lucic Exercises (Sowiso) + Assignment 2  
  Fri Bifurcations Lucic Exercises (Sowiso) + Assignment 2  
6 Mon Linear systems of differential equations Lucic Exercises (Sowiso) + Assignment 2  
  Tue Nonlinear differential equations Lucic Exercises (Sowiso) + Assignment 2  
  Wed Applications of differential equations Lucic Exercises (Sowiso) + Assignment 2  
  Thu Differential equations - Extra lecture Lucic Exercises (Sowiso) + Assignment 2  
  Fri Fourier analysis 2 de Gee Exercises (on paper) + Assignment 2  
7 Mon Spectral filtering 1 de Gee Exercises (Python) + Assignment 2  
  Tue Spectral filtering 2 de Gee Exercises (Python) + Assignment 2  
  Wed Phase coherence + image processing de Gee Exercises (Python) + Assignment 2  
  Thu Spiking data: Population/information theory de Gee Exercises (Python) + Assignment 2  
  Fri Introduction to neural-based classifiers de Gee Exercises (Python) + Assignment 2  
8 Mon Research seminar Bosman Assignment 2  
  Tue     Assignment 2 Deadline for submitting assignment 2 (11.00 a.m.)
  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)
  • Conrado Bosman Vittini (lecturer)
  • Theyn Kan (teaching assistant)
  • Sabine Gnodde (teaching assistant)
  • Amina Šišić (teaching assistant)