Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 1.42 KB

Syllabus.md

File metadata and controls

32 lines (24 loc) · 1.42 KB

Syllabus of Python for Neuroscientists

The course is aimed at students who are already semi-proficient with other programming languages, namely Matlab. Examples (and homework) will be derived from common problems and tasks in neuroscience, to improve the analysis of your own data by increasing its automation and reproducibility.

Prerequisites:

  1. Basic knowledge of programming.
  2. Extended Mathematics course (in the Life Sciences faculty), or a parallel one.

Final Grade:

  • 40% - Homework assignments - one submission is skippable (not the first).
  • 60% - Final project (hackathon).

Each 3-hour lecture will start with an oral presentation, followed by individual work in the computer lab. To summarize I'll present solutions to the class exercises and we'll discuss some of the difficulties you encountered.

Main topics of the course will include:

  1. Motivation, transition from Matlab.
  2. Data structures (lists, tuples, sets, dictionaries), functions and iteration.
  3. Object-oriented programming.
  4. File I/O and exception handling.
  5. Python's scientific stack - NumPy, SciPy, Pandas, Matplotlib.
  6. Advanced Pandas - use cases, data organization.
  7. Important programming tools and habits - Package management, Git, unit tests.
  8. Image processing and basic machine learning.
  9. Performant code - Cython, Numba, multiprocessing.
  10. Principles of Software Design.
  11. Advanced subjects - generators, decorators, meta-programming.