Python for Linguists
Prof. Dr. Kevin Tang, Summer 2025, Course Catalog
Course Description
This course provides an introduction to computer programming using Python, a high-level programming language widely used in both academic and industry contexts. Designed specifically for students in linguistics and related fields, the course integrates technical training with a group project: the design and implementation of a constructed language (conlang), with a particular emphasis on generating and analysing noncewords (e.g., wug words).
Students will learn core programming concepts—such as variables, loops, conditionals, functions, and data structures—through hands-on exercises situated in linguistic contexts. The nonceword focus provides an entry point into phonotactic constraints, morphological productivity, and grammatical patterning, enabling students to use code to generate, evaluate, and experiment with novel linguistic forms.
The course follows a flipped-classroom model: students independently work through instructional materials and coding exercises in preparation for sessions that prioritise clarification, peer discussion, and collaborative development of the conlang project.
By the end of the course, students should (ideally):
- be familiar with variables, data types, control structures, reading and writing files, functions, and basic data structures.
- understand basic program design and be able to independently produce small programs that perform basic generic tasks as well as specific tasks addressing questions in linguistic research