Computational Techniques and Programming for Linguists

Programming—or coding—is an essential skill for anyone working with Artificial Intelligence (AI) today. It is particularly crucial for fields such as computational linguistics and Natural Language Processing (NLP), where analyzing and understanding language relies heavily on programming. This course provides a comprehensive introduction to programming with Python, focusing specifically on applications in linguistics. No prior programming experience is required. Students will first learn the fundamentals of programming and Python syntax. Then, they will explore how to use some tools to the analysis of language data.


Course Objectives

  1. Introduce the students to core programming concepts such as variables, data types, control structures, and functions.
  2. Enable students to develop practical programming skills in Python and emphasizing its use for linguistic analysis.
  3. Equip students with problem-solving skills by writing and executing small projects that integrate programming and linguistic analysis to answer research questions or explore AI applications.

Instructor

  • Elsayed Issa
  • esissa at purdue do edu

TA

  • Jingying Hu
  • hu880 at purdue do edu

Book and Code

  • Michael Hammond. (2020). Python for Linguists. Cambridge University Press. (freely available online via Purdue library).

Schedule

Week Dates Content Materials Homework
1 Jan 13 Overview and Setup
Introducing the course and getting to know you.

BrightSpace

Tutorials

  • Python Installation [tutorial]
  • Jupyter Notebook [tutorial]
  • Google Colab allows you to write and execute Python in your browser. We will use it in case you had issues with your machine. Google Colab [See Google Colab]

Jan 15 Logistics
Troubleshooting Python installation, terminal work, and introducing jupyter notebook and Google colab

Readings

Notebooks

HW 1 [OUT]

2 Jan 20 Data Types and Variables
Variables, Numbers and Booleans

Readings

  • MH: Ch 2 (p. 9 to p. 14)

Notebooks

Labs

Jan 22 Data Types and Variables
Strings and Lists

Readings

  • MH: Ch 2 (p. 14 to p. 21)

Notebooks

Labs