Skip to main content Link Search Menu Expand Document (external link)

About


Course Overview

“Language and computation share deep roots.”

Computational methods are increasingly more relevant within linguistics: modern research and industry careers require you to think as both a linguist and a programmer. The toolkit you have developed as a linguist is very applicable to computer science as well, but opaque jargon creates a high barrier of entry. In this course, we’ll break down computer science fundamentals into byte-sized chunks, mapping your linguistics knowledge to its computational counterpart. Thus, the course is split into two phases — introduction to computation, applications in linguistics — and a culminating final project. Each class will consist of a lecture and an in-class lab assignment allowing you to put lecture material into practice.

Prerequisite: LINGUIS 100: “Introduction to Linguistic Science” or equivalent
This course is intended for students interested in linguistics with near-zero programming experience. As such, students who have a significant computational background may not find it fulfilling. We highly recommend those students to take LINGUIS 252 (Computational Linguistics) or LINGUIS 243 (Language, Computation, and Cognition) instead.

Through this class, you will:

  • Understand the fundamentals of computation: functions, conditionals, loops, recursion, abstraction
  • Map your linguistic skills to their computational counterparts to “think like a programmer”
  • Apply computational methods to linguistics: text processing, data cleaning, Python scripting for phonetic analysis

and combine all those skills to complete a computational linguistics project of your choosing.

Grading Breakdown

  • Attendance - 10%: Attendance is crucial in a feedback-driven lab-based course. Students are expected to attend lecture regularly and on time, so we will not be allowing time-conflict enrollment. If you cannot be at class, you must let an instructor know beforehand. Attendance for office hours is not required.
  • Labs - 50%: These labs are the core of the class, so you must complete every lab assignment. They are designed to be completed during the lab portion of each class. For more information, see the section below.
  • Project - 40%: The Project is your chance to apply your skills to a linguistic problem you’re interested in. Throughout the semester, you’ll have checkpoints where course instructors will give you feedback on the scope and execution of your work. Preferably, we’d like you to work in groups of 2-3, but individual participation is also allowed. Once in a group and familiar with the landscape of linguistic problems computation can address, you can consult with instructors on your idea and narrow it down to something feasible.

Labs

Every lecture will be supplemented by a lab exercise, designed to apply what was taught in lecture. You will not have to submit lab assignments explicitly, but rather you will be “checked off” by one of the instructors. To get checked off, you’ll have to complete a majority of the assignment, then explaining your thought process to us. If you’re unable to finish within class, you may also come to office hours on Friday or wait for the following week’s class.