This content largely written by Ed Vul.

Computational Social Science (CSS) uses computation to understand social phenomena. “Using computation” means giving a computer very precise instructions about what steps to follow to calculate something of interest. This commonly takes two forms: computationally intensive analysis of large naturalistic datasets, and computational simulation of theoretical models of social phenomena to understand their behavior. In this class we focus on dealing with data.

You will learn to write computer programs that analyze data in Python. The following are all consequences of this primary goal:

  • High variability: Students have very different levels of prior experience with programming and statistics, so the material in this class will be easy for some, and difficult for others.

  • Lots of practice: There are many small assignments, rather than a few large tests.

  • Objective evaluation: (Simple) computer programs either work as intended or not.

  • Scale effort not grades: All students can get a good grade, but students who find the material new and difficult will have to spend more time and exert more effort.

  • Effort required: For many students, this course requires more effort than most social science courses. To succeed you need to start assignments early, work consistently, and persevere through failure.


  • Computer programming is a skill: procedural knowledge about how to do things.

  • While facts may be learned via memorization, skills can only be learned by practice.

  • You will need lots of practice to learn to program.

What we expect of you:

  • Put in a good faith effort. Go to lectures and labs (attendance is not required, but is noticed.)

  • Be brave. Ask questions as soon as you have a slight inkling that you are confused.

  • Be proactive: Start assignments early, ask questions early. If you skip lectures and labs, and put off working on assignments until the last minute, we will not be able to help you.

  • Persevere: Your programs will contain errors. It will be frustrating, it will seem hopeless, you will want to give up. Do not give up: keep trying and ask for help.

What you can expect of us:

  • Responsive: We will respond to questions on campuswire within one working day.

  • Transparent and predictable grades: Assignments are mostly auto-graded. You should have a very good sense whether your solutions work for a given assignment before you turn that assignment in.