Richard Murray
  Centre for Vision Research
  York University

PSYC 6273.  Computer programming for experimental psychology

Department of Psychology
York University

Fall term 2014
Tuesday and Thursday, 11:30-1:00

Syllabus

General description:  This graduate course covers computer programming methods that are useful in experimental psychology. The course assumes no previous programming experience, and brings students to the point where they are able to write useful programs to advance their own research. Classes are held in a computer laboratory, and each week's class consists of a lecture followed by programming practice on assigned problems. Topics include the MATLAB programming language, data files, curve fitting, Monte Carlo simulations, statistical tests, journal-quality data plots, 2D and 3D graphics (OpenGL), and interfacing to external devices.


Lecture notes

• Topic 1.  Introduction to MATLAB    code    solutions    tutorials
• Topic 2.  Vectors and matrices    code    solutions
• Topic 3.  Scripts and functions    code    solutions
• Topic 4.  if-elseif-else    code    solutions
• Topic 5.  Loops    code    solutions
• Topic 6.  Files, etc.    code    solutions
• Topic 7.  The psychophysics toolbox    code    problems    solutions    website    windows    mac
• Topic 8.  Curve fitting    code    problems    solutions   
• Topic 9.  Monitor calibration    code    problems    solutions    Brainard et al. (2002)   
• Topic 10.  Experimental methods    code    problems    solutions    Wetherill    Watson   
• Topic 11.  Image matrices    code    problems    solutions   
• Topic 12.  Plots    code    problems    solutions   
• Topic 13.  Data structures    code    solutions   
• Topic 14.  The bootstrap    code    problems    solutions   
• Topic 15.  Strings    code    solutions   
• Topic 16.  Statistics    code   
• Topic 17.  MEX files, GUI's    code   
• Topic 18.  Simulations    code    problems    solutions   
• Topic 19.  A serial interface    code   


Tests and problem sets

Test bank
Test 1, Test 2, Test 3, Test 4, Test 5, Test 6
Problem set 1    solutions
Problem set 2    solutions