An NLP course that lets you swing before explaining the rules
A masters-level NLP course that starts you with working code and saves the theory for when you actually care.

What it does
This repo holds the Jupyter notebooks for a 2019 University of San Francisco Data Science masters course. It walks through classical NLP—TF-IDF, Naive Bayes, and n-grams—up to modern deep learning including RNNs, Transformers, and multi-head attention, using sklearn, nltk, pytorch, and fastai. The syllabus also dedicates a full module to bias, ethics, and fake information in the attention economy.
The interesting bit The pedagogy is deliberately inverted. You start running code in “black boxes” and only later peel back the layers to understand SVD, attention masking, or label smoothing. The instructors use a baseball analogy: kids play the game before memorizing the rulebook, so you focus on what techniques do before learning what they are.
Key highlights
- Full arc from sparse-matrix topic modeling (NMF, SVD) to Transformer-based translation
- Dedicated module on bias in word embeddings, types of bias, and the attention economy
- Originally taught live; lecture videos and a companion blog post are linked
- Mixes classical libraries (
sklearn,nltk) with modern deep-learning stacks (pytorch,fastai) - Sentiment classification and translation are the primary hands-on tasks
Caveats
- The curriculum is fixed at its 2019 syllabus, so the deep-learning examples stop at the Transformer architecture
- Early notebooks are intentionally opaque; the README warns that you are “not supposed to” understand everything at first
Verdict Best for Python developers who want a structured, code-first path from sparse matrices to Transformers without prerequisite theory. Skip it if you need the underlying mechanics explained before you run the code.
Frequently asked
- What is fastai/course-nlp?
- A masters-level NLP course that starts you with working code and saves the theory for when you actually care.
- Is course-nlp open source?
- Yes — fastai/course-nlp is an open-source project tracked on heatdrop.
- What language is course-nlp written in?
- fastai/course-nlp is primarily written in Jupyter Notebook.
- How popular is course-nlp?
- fastai/course-nlp has 3.5k stars on GitHub.
- Where can I find course-nlp?
- fastai/course-nlp is on GitHub at https://github.com/fastai/course-nlp.