Day, Time, and Location

Monday 1:10-4:00
Wilson 316

Click here for a PDF version of the full syllabus.


Course Overview

This course is an introduction to scientific computing for psychological and brain sciences. The target audience is first or second year graduate students in Psychological Science, Neuroscience, and related disciplines as well as advanced undergraduates who are planning to pursue a PhD in one of those disciplines. The goal of the course is for students to develop some proficiency in designing, writing, and debugging computer programs to control experiments, perform data analyses, and simulate simple neural and psychological mechanisms. We will discuss some combination of computer programming methods, algorithms and data structures, computational and numerical methods, web-based techniques, and high performance computing techniques as applied to common problems in psychological and brain sciences. Our primary focus will be on Matlab but we may reference other programming languages from time-to-time, such as Javascript, Python, or R.



For graduate students, no previous formal coursework in computer programming is required. I will assume that students have some familiarity with what a computer program is and ideally be familiar with basic programming concepts common to many programming language. Students who have no prior programming experience at all will need to do some extra work outside of class to familiarize themselves with these basic concept. While this is a graduate course, I often permit undergraduate students to enroll; I do require that undergraduates have at least one semester of computer programming (e.g., CS1101 or CS1103). I will try to adjust the pace of the course depending on the amount of computer programming and mathematics background students have had. To do that, I encourage students to let me know if the material is going by too quickly or too slowly.

Whether graduate student or undergraduate, no prior experience with Matlab is required or assumed.



Students are encouraged to bring laptops to class. I may distribute any example code before class that will be used during class. I will ask that people refrain from using their laptops for any non-class purposes during class.


Course Requirements and Grading

Homework assignments (90%) handed out each week will be used throughout the course to allow students the opportunity to put the scientific computing tools into practice. There will be no exams. Attendance and class participation (10%) are also expected. Final letter grades will based on percentages as follows:
A    92.5 – 100% 
A-   90.0 – 92.5%
B+  87.5 – 90.0%
B    82.5 – 87.5%
B-   80.0 – 82.5%
C+  77.5 – 80.0%
C    72.5 – 77.5%
C-   70.0 – 72.5%
D+  67.5 – 70.0%
D    62.5 – 67.5%
D-   60.0 – 62.5%
F     0.0 – 60.0%

While I strongly encourage students to help each other out, all homework assignments must ultimately be completed individually. Unexcused late assignments will be penalized 10% for every 24 hours late, starting from the time class ends, for a maximum of two days, after which they will earn a 0.

You will turn in homework assignments using Brightspace (see below). I ask two things: First, that you submit it as a single ZIP file or some other standard compressed format rather than multiple files. Second, that you make sure that you send me everything that’s needed for the program to run successfully, which includes not only files you created but copies of any files I might have given you as part of the assignment.

Any student auditing the course is expected to attend class and can participate in discussion in a way commensurate with the amount of work they do on class assignments.



Optional Text:
MATLAB: A practical introduction to programming and problem solving, 5th Ed.
Stormy Attaway
Elsevier Publishing

Student will generally be fine if they use the older 3rd or 4th edition (which might be available purchased as cheap used copy online or borrowed from another student who took this course before); just note that there may be a few aspects of Matlab, whose language and interface are constantly evolving, that are incorrect in older editions.



We will use Matlab in this course. Vanderbilt has a site license that should now be free to anyone with a Vanderbilt VUnet ID and password.

Students can download Matlab for themselves by:
1.    Going to
2.    Clicking on the VU Software Store Login
3.    Logging in with their VUnet  ID and password
4.    Placing an order and downloading

We will talk about how to install Psychophysics Toolbox later in the course.


Course Website

All course materials (powerpoints slides, homework assignments, example code, solutions) will be posted on this course web site:



We will use the Assignments feature on Brightspace ( to turn in homework assignments. You can turn in an assignment more than once, but I will only look at and grade the last one you turn in. You can also view your grades and my comments on your assignments within Brightspace.

Please note that all other course materials (slides, assignments, notes, links) will be posted on this course web site, not on Brightspace.


Course Schedule

Click here: