UGA Bulletin Logo

Python Programming for Language and Linguistics


Course Description

An introduction to Python programming for language and linguistics, focused on problem-solving, testing and documentation skills in addition to the syntax, data structures and logic of Python. Students will write programs to structure, manipulate, and analyze linguistic data to solve routine problems from various areas of linguistics and language studies.


Athena Title

Python for Language


Grading System

A - F (Traditional)


Student Learning Outcomes

  • Students will be able to translate linguistic problems into programming problems to be solved algorithmically.
  • Students will be able to decompose a problem into multiple constituent parts represented by functions.
  • Students will be able to formulate algorithms for solving subproblems and implement them in Python.
  • Students will be able to document and test individual functions as well as entire programs.
  • Students will be able to create, manipulate and display simple data types (numerical, Boolean, strings) in language-related settings, including string manipulation through regular expressions.
  • Students will be able to create, manipulate and display Python containers (tuples, lists, sets, dictionaries) in language-related settings.
  • Students will be able to read, process and write plaintext, tabular and hierarchical linguistic data using Python.

Topical Outline

  • 1. Functions and control flow: Jupyter notebooks; functions; docstrings; problem decomposition; for loops with range(); while loops; if … elif … else statements; logical connectives; code review; problem solving
  • 3. Containers: tuples; lists; sets; dictionaries; methods for containers; indexing and slicing; looping over containers; nested containers; mutability; conversion between containers; sorting
  • 4. Input and output: file paths; requests; text files; CSV; JSON; XML and HTML; APIs
  • 5. Managing large projects: error handling; unit testing; modules; command-line programs

Syllabus