This document is a lecture on hidden Markov models (HMMs) given by Marina Santini at Uppsala University. The lecture covers the basics of HMMs, including Markov assumptions, observation sequences, problems with HMMs, the Viterbi, forward, and backward algorithms, modeling for part-of-speech tagging, learning, smoothing, and inference in HMMs, as well as applications of HMMs. The lecture acknowledges Joakim Nivre for course design and materials.