LING 529 assumes that programming is not a completely new activity for you. This crash course starts a little earlier than that. It is meant for students who are new to programming, rusty, or uncertain about whether the code they have seen before really counts as preparation.
The units below move from variables and strings to loops, functions, type hints, comprehensions, generators, classes, and a few standard library helpers. The examples stay close to language technology: tokens, tokenized sentences, counts, normalization, and adjacent word pairs.
A programming language is not only a way to tell a computer what to do. It is a way of learning the names and habits of a small world well enough that you can ask it to change: split this sentence, count these words, keep the useful parts, and do it again another 10,000 times. There is real power in that, and some of the pleasure of learning to program is noticing when the strange symbols on the page start to behave like names you can summon with. Early on, you are a little like a wizard's apprentice: a few words can set a lot in motion, sometimes more than you intended. The work is learning how to make the spell smaller, clearer, and more deliberate.