UGA Bulletin Logo

Python Programming for Language and Linguistics


Course Description

An introduction to the syntax, operations, and data structures of the Python programming language. Students will write programs to structure, manipulate, and perform analyses with textual data.


Athena Title

Python for Language


Grading System

A - F (Traditional)


Course Objectives

By the end of this course, students will: (1) have a deep understanding of the syntax, operations, and data structures of the Python programming language; (2) have a deep understanding of the logical structure involved in writing a computer program; (3) be familiar with supplementary Python utilities like those for reading from and writing to files, interacting with the web, and creating figures; (4) be able to use this knowledge to formulate algorithmic solutions to novel language-related problems; and (5) be able to implement these solutions in Python. Lecture materials, in-class exercises, and homework assignments will revolve around language data. Topics will include (pre)processing, searching, manipulating, and analyzing text at many different levels, such as letters, words, and sentences. This course will involve lectures as well as in-class programming activities. Students will be evaluated on regular homework programming assignments and on a final project.


Topical Outline

1. Python primitives and writing and running first programs 2. More details on data structures and variables 3. Program control flow 4. Data input and output 5. Manipulating tabular data 6. Functions and modules 7. Regular expressions 8. Finite state methods 9. Text manipulation 10. Interacting with the web 11. Plotting and visualization 12. Introduction to the Natural Language Tool Kit