Linguist 278: Programming for linguists — Syllabus

Brief description

Computer programming techniques for collecting and analyzing data in linguistic research. Introduction to regular expressions, and Python scripting. Hands-on experience gathering, formatting, and manipulating corpus, field, and experimental data, combining data from multiple sources, and working with existing tools. Knowledge of computer programming not required. Units: 1-4


Attendance (10%)

Attendance will be taken daily, with one point assigned for each class attended. Class will begin on time and end on time; I are obliged to finish on time, and you are obliged to arrive on time.

In-class participation in discussions (15%)

I would like everyone to ask questions, offer ideas, etc., in class. Questions and ideas sent via email also count as participation, though I would prefer it if everyone got involved during our class meetings.

All course-related email should be sent to

linguist278-aut1314-staff on the server lists dot stanford dot edu

Weekly assignments (50%)

The assignments are distributed on Tuesdays and due one week later, before the start of class.

Assigments should be submitted to

linguist278-aut1314-staff on the server lists dot stanford dot edu

The primary goal of these assignments is to give you practice problem-solving in Python, so that you become a fluent programmer.

Right from the start, you will be doing interesting things that you can connect with your work. To make this possible, the assignments typically involve code-fragments that you flesh out into (more or less) complete solutions. Part of doing the assignment is studying and thinking about the code provided, so that you can adapt it to other tasks later in the course, and to your own projects.

Penalties for late work: for each assignment A, 2 points off your total points earned for A for each calendar day it is late. An assigment becomes one day late at 10:00 am on its due date.

Final project (25%)

For your final project, you will write an advanced piece of reusable code. Part of the project will involve describing the use cases for this code. The project will be evaluated on the following critera:

  1. How ambitious is the project?
  2. How clearly articulated are the goals?
  3. How completely does the code achieve the stated goals?
  4. How well-documented is the code?
  5. How easy it is to use the code for new problems?
  6. How well structured is the code?

We will talk a lot more about the final project, and components of it will be part of the assignments during the second half of the term.

The final project is due at the end of our scheduled exam time (which we will not use): Thursday, December 12, 6:30 pm.

Academic honesty

Please familiarize yourself with Stanford's honor code

We will adhere to it and follow through on its penalty guidelines.

A special note about collaboration: you are permitted to work together on the assignments (but not the final project). However, you must write up and hand in your own unique assignment, and it must list at the top all the students with whom you worked.

Students with documented disabilities

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Student Disability Resource Center (SDRC) located within the Office of Accessible Education (OAE). SDRC staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the SDRC as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066).