Computational modeling plays an increasingly important role in the social and behavioral sciences. This introductory course provides a broad survey of computational approaches to human behavior. Topics will be organized around interests of students in class, however, the core concepts we will cover are the goals and philosophy behind developing models and basic issues in model evaluation, testing, and fitting. Readings and lectures will survey a broad set of approaches to modeling cognitive processes with an emphasis on what are traditionally considered "higher-level" cognitive processes. Example topics include reviews of the basic properties (and limitations) of artificial neural networks/parallel distributed processing, contemporary approaches to modeling memory, learning, and decision making processes, modeling of reaction time data, developmental approaches (i.e., dynamical field theory, etc...), models of categorization, reasoning, problem solving, analogy, etc..., approaches to integrating models and findings from cognitive neuroscience (i.e., what can they tell each other), the relative merits of bayesian/rational approaches and mechanic models (a bit of modeling philosophy), other topics might include a segment on agent-based models of socio-behavioral processes (i.e., models based on interactive, distributed processing by independent components).

In other words, we'll aim to cover a relatively broad set of topics in formal modeling. In an ideal world, everyone would leave the course with a richer understanding of the role that computational model plays in contemporary cognitive science, understand how to fit/evaluate models, and how to read a modeling paper, think about the predictions it makes, and perhaps even implement it yourself.

***Please note***
This is not a quantitative course. If you have taken Math Tools in the psych department, or had linear algebra or calculus as an undergrad you will be in the best position for approach the material. However, we will, when needed, review some of the basic concepts needed to understand the assigned papers. For the (infrequent) homework/assignments, I will generally assume some basic familiarity with programming in something like Matlab or Python (if you know what a "for loop" is you'll be fine), however, if you are interested in the above topics and the programming is the main hang up, please consider enrolling. An effort will be made to adjust the assignments to people's individual (and hopefully diverse) backgrounds as much as possible.

Computational Modeling in Cognition: Principles and Practice by Lewandowsky and Farrell [website]
Readings from the book will be supplemented with additional research articles distributed from this website.

Grading

Grading will be based on attendance/participation in lectures, a small number of homework assignments, and a final project. The final project will be a modeling project of the student's design or a proposal for such a project written as a NRSA grant proposal. The projects will be presented at the end of class and will be evaluated by the peers in the class (akin to a mini grant panel). The expectation is that the final project will apply some idea from the course to the student's own research background/project.

Attendance/participation: 40%, Final Project: 20%, 2-3 Homeworks 30%

Course Announcements

2.21.2012 - Homework 2 posted! Also reading list updated with volunteered presented. A few still have '?' if you want to sign up or switch. Please contact me if you are auditing and aren't presenting (I beg of you!).

2.15.2012 - Don't worry if you didn't get everything in class today. We will continue this next week, and then move on. BUT please read Ch. 3 of the text before the next class.

2.15.2012 - Fun fact about iPython: In iPython if you execute %who or %whos it will list the currently defined variables and functions (whos gives more information). This is an approximation to the "workspace" browser in Matlab. Also %reset will reset the current
namespace (i.e., delete existing variable definitions). This is a useful alternative to Kernel->Restart Kernel.

2.9.2012 - Came across this interesting online course on modeling that runs somewhat similar to own. Included are video lectures, etc… From this link you can see Scott Page's description of the Schelling model we discussed in class on Wednesday. (I always find hearing things from two different sources helps me understand things).

1.16.2012 - This is where course announcements will
appear. Please check back often.

Schedule (with links to slides)
coming soon

Date

Description

Slides

Jan. 25

1. Introduction/Overview - Welcome, Course Policies, General Overview

Please see the poll above. Also remember to email me if you are taking or auditing the course so we can stay in touch.

Feb. 1

2. Introduction to Cognitive Modeling - To kick things off, we will think about the role of models in cognitive science. We'll read some classic papers from the start of the cognitive revolution that argued for why computational/mathematical models are necessary in behavioral sciences. We'll discuss some of the primary goals of modeling (i.e., accounting for past data, formalizing theories of cognitive function, and making novel predictions).

3. Introduction to Cognitive Modeling - Types of Models, and "Thinking in Levels" - Today we'll continue the previous discussion, taking an overview of types of models.Please read the following papers BEFORE class.

4. From psychological theory to a model - How does one "build" a model? This is the most frequently asked question
I get from students. It often seems like a mystery how one goes from an idea of some psychological process to a set of equations
or code. This lecture (and the next one) will try to resolve some of this mystery via example.

5. Evaluating models - Now that we have a model, how do we assess if it is a "good" account for our data? There are both qualitative (i.e., does the model make reasonable psychological assumptions?) and quantitative answers to this kind of question (i.e., if model A fits better than model B we should prefer model A). However, model evaluation is a complex statistical question. The next three classes focus on currently accepted model evaluation technique in journals catering to psychology/social science.

8. When a good fit can be bad/What should we fit to? - All this talk about fitting our model to data. However, what does a fit tell us in psychological terms? Today we will discuss in more detail the challenges in interpreting model fits. Also, what should we be fitting to? The group of the individuals?

9. Probabilistic Models/Bayesian Approaches
This week begins the first segment focusing on particular types of models in more detail and the psychological
literature which they address. We begin by considering probabilistic models which have recently been making
waves in many different literatures.

10. Neural Networks/Parallel Distributed Processing
This week we step back somewhat to the middle of the cognitive revolution
with the advent of parallel distributed processing (PDP), also known as connectionist modeling, neural networks,
etc. We'll review some of the basic properties of neural network, and discuss some
early and important papers.
Topics include:

11. Rational versus Mechanistic Approaches
Having considered both rational/probabilistic/bayesian models and more mechanistic approaches (PDP, etc…), we'll now
discuss the relative theoretical merit of either approach. The three example articles were selected because they
show different approaches to a single psychological issue (category learning).