Courses and learning materials

Teaching

Course pages, tutorials, workshops, and references for students learning language technology.

Featured Lessons

Selected materials that combine conceptual explanation with executable or visual examples.

Clustering basics

In this lesson, we'll learn some of the key concepts behind clustering.

Courses

LING 529: HLT I

Human Language Technology I: programming, tools, and foundational language technology practice.

Python resources

Incoming students often ask me to recommend resources for getting started with Python.

Tutorials

Selected technical references and student-facing guides. The full tutorial index includes 29 public lessons.

All tutorials

Clustering basics

In this lesson, we'll learn some of the key concepts behind clustering.

Feature vectors

In this lesson, you'll learn how to use to represent words and documents with vectors of features.

Git basics

This lesson introduces you to the basics of the Git version control system.

Installing Docker on Ubuntu

This tutorial provides instructions for installing Docker on Ubuntu. While the steps outlined here may work for other versions of Ubuntu (and some non-Ubuntu Linux distributions), these instructions were tested against Ubuntu 24.04 LTS.

Workshops

Short-form teaching materials for specific events and training contexts.

HLT Program

Orientation notes, program resources, and advice for Human Language Technology students.

Program hub

HLT FAQ

First, I would say not to worry. Many students enter the program with little to no background in programming or advanced math. We're dealing with an onion here. The HLT program will guide you through what you need to understand things at a high level and then grow...

HLT Resources

Many students and instructors find this textbook very easy to read:

Welcome to the HLT program!

Welcome to the University of Arizona's online MS program in Human Language Technology. We're thrilled to have you join us!