Pre-requisites: None

About the course:
This course will focus on computational tools to handle important aspects of cognitive science experiments, data analysis and modelling. Cognitive science typically requires most of the following: experiment design, controlled presentation of stimuli, registering and logging responses of subjects, analysis of response data, visualization of data/results and building computational models of the behaviour/process being studied. Experiments also use a wide range of stimuli (visual, auditory, linguistic, haptic etc.) so programs need to interface with and control different input/output devices.

This course will use the open source Python language and its extensive module system to manage a cognitive experiment, the Python libraries and R to do basic data analysis and introduce basic probability, statistics and model construction from data to build theoretical models.

Part I of the course will be devoted to programming in Python; a basic introduction to the Linux command line interface and some useful command line tools. Part II of the course will be concerned with using an existing open source framework (like PsychoPy or Expyriment together with Python libraries and R) to design and conduct simple behavioural experiments, analyze data, visualize data/results. Part III introduces basic probability, statistics and model building using data to build predictive models for the process or phenomenon being studied.

At the end of the course students should be proficient in Python, Linux command line basics, should be competent to handle the programming component of any aspect of a cognitive science experiment and be able to build simple models of the phenomenon they are studying.

Topics:
Part I:

  1. Linux command line basics and commonly used tools.
  2. Python:
Part II: (using PsychoPy)
  1. Building experiments using builder interface.
  2. Using the API - coder interface.
  3. Experiments using the internet (browser interface).
  4. Analysis.
  5. Visualization.
  6. Modelling.
Part III: (Basic probability, statistics and machine learning)
  1. Random variables, distributions and their interpretations, joint, conditional and marginal distributions, Bayes' theorem, Bayesian modelling, sequential models, conjugate priors.
  2. Distance metrics; data types; extracting, transforming and loading data; clustering and dimensionality reduction; classification and regression; conceptual understanding of regularization; cross-validation and generalization.
References:
  1. Allen Downey, Think Python, How to think like a computer scientist, Green Tea Press, 2012. Available at: http://www.greenteapress.com/thinkpython/thinkpython.pdf.
  2. Latest version of PsychoPy manual. Available at: http://www.psychopy.org/PsychoPyManual.pdf
  3. Linux man pages and documentation.
  4. R documentation available at: https://cran.r-project.org/manuals.html
  5. S Rogers, M Girolami, A First Course in Machine Learning, CRC Press, 2012.