To my linguistics homepage

LING/C SC/PSYC 438/538
Computational Linguistics
Fall 2026

This is a introductory course in computational linguistics at an advanced level. No pre-requisites for graduate students, we will learn the rudiments of programming and the theoretical underpinnings of grammar systems from scratch.

Reference Textbook

Optional: Speech and Language Processing 2nd edition, by D. Jurafsky and J.H. Martin, Prentice-Hall 2008. Or 3rd edition PDF.

Software

All software used in this class will be freely available.
We will use Python, Perl and SWI-Prolog as programming languages.
The instructor reserves the right to ask students to install additional software necessary to do some homework exercises.

Instructor: Sandiway Fong sandiway@arizona.edu
Office: Douglass 308 (send email for an appointment or take a chance and drop by before class)

Administrivia

Location Social Sciences, Rm 411
Time Tuesdays/Thursdays 3:30PM - 4:45PM

Syllabus

See lecture1 slides.

Lecture Notes

Available in Adobe PDF and Microsoft Powerpoint .pptx formats.

August

Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint
8/25 lecture1.pdf lecture1.pptx 39 Part 1: Viewer / Part 2: Viewer Administrivia and Introduction. Syllabus.
Homework 1: read PDF of chapter 1 of textbook for Homework 3 next time.here.
Homework 2: Install Perl and Python.
Some notes on programming languages. AI and coding.
8/27 lecture2.pdf lecture2.pptx 36 Viewer Language and computers: openai/whisper, assistive technologies and some limits.
Recursive nature of language.
Introduction to natural language analysis: syntactic structure. Parser demos, ChatGPT.
Homework 3

September

Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint
9/1 lecture3.pdf lecture3.pptx 15 Viewer Homework 3 Review.
Guest presentation: Jeff Winkelman, Career Development & Employee Relations, Social & Behavioral Sciences
SBS Resume Building
9/3 lecture4.pdf lecture4.pptx 38 Viewer What is a Language Model: a look at text completion. English subject verb agreement. Oddities.
LLM: memorizing quotes. ChatGPT-2 to 5.
Beginning programming with Perl: focusing on proper use of quotes. QWERTY keyboard history. ChatGPT help.
world.perl / world.py
Homework 4: using GPT-2, Stanza and Berkeley Neural Parser.
9/8 lecture5.pdf lecture5.pptx 28 Viewer A note on submission dates
Homework 4 review and extensions: AI subword tokenization
A bit more on quoting.
Recommend installing WSL2 (Ubuntu) on Windows 11.
perlintro review: scalars and arrays.
9/11 lecture6.pdf lecture6.pptx 41 Viewer perlintro contd.
@ARGV array and some array operations.
Numeric and string equality. Coercion. Repetition. General looping: while, for, foreach. List range.
Useful string functions, including chomp and split. tr.
String length: bytes vs. characters (utf-8).
File I/O: open and <filehandle>.
Programs: myprog.perl / myprog.py
Program: read.perl
Example text file: falconheavylaunch.txt
Homework 5: two exercises.
Data files: 5letters.txt / 6letters.txt / 7letters.txt
9/15 lecture7.pdf lecture7.pptx 25 Viewer Homework 5 review. Scrabble word length statistics.
Worked Perl file I/O example. Split and summing the words. Word frequency table using hash tables.
Sorting in Perl, Python and on the command line.
Files: falconheavylaunch.txt
Terminal log: terminal7.txt
9/17 lecture8.pdf lecture8.pptx 30 Viewer Perl hash table recap and dict in Python. Anonymous arrays in Perl. Part of Speech dict example.
Homework 6 on spelling rules + disemvoweling.
Code: hw6template.perl
File: ppch1.txt (note: utf-8 character set)
9/22 lecture9.pdf lecture9.pptx 39 Viewer Homework 6 review.
Perl references. Perl Modules: CPAN. Date::Calc. cpanm command.
Python libraries timedate and locale.
Ungraded homework: install Lingua::EN::CMUDict, the CMU Pronouncing Dictionary.
File: dow.perl
9/24 lecture10.pdf lecture10.pptx 35 Viewer Ungraded Homework Review: Lingua::EN::CMUDict and Google AI!
Biased news reporting.
Homework 7: On media bias and headlines
Introduction to Perl regex.
9/29 lecture11.pdf lecture11.pptx 34 Viewer Homework 7 Review: on media bias and headlines
"The lines of code that changed everything"
Getting deeper into Perl regex:
Word boundaries \b, capture, backreferences, shortest vs. greedy matching, nondeterminism (backtracking).

October

Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint
10/1 lecture12.pdf lecture12.pptx 26 Viewer Homework 8: regex and the FinCEN Files.
More on Perl regex: Perl code inside a replacement string in s/pattern/replacement/!
Character and word frequency counting
Zipf's Law: Brown Corpus case study
File: 12thnight.txt
Homework file: download_transactions_map.csv (1.1MB)

November

Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint

December

Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint


To my linguistics homepage
Last modified: Thu Oct 1 16:58:36 MST 2026