CMU's 2017 NLP course, still quietly useful
A surviving archive of educational neural-network code from the pre-transformer era.

What it does
This repo holds the programming examples for Carnegie Mellon’s 2017 “Neural Networks for NLP” graduate course. It covers the building blocks of the time: feedforward nets, RNNs, CNNs, sequence-to-sequence models, and attention — all implemented from relatively scratch in Python.
The interesting bit
These are teaching implementations, not production frameworks. That means you can actually read them. If you want to see how attention was explained before it became a button in Hugging Face, this is the fossil record.
Key highlights
- Tied to a specific CMU course (CS 11-747, 2017 edition) with a public syllabus
- Authored by Graham Neubig and collaborators — Neubig is now a well-known NLP researcher (president of ACL 2024, among other roles)
- 1,314 stars suggest it has outlived its intended semester as a reference
- Pure Python implementations, likely using NumPy or early PyTorch/TensorFlow (the README doesn’t specify; you’d need to check the files)
Caveats
- The README is extremely sparse: no dependency list, no running instructions, no indication of which framework versions are used
- “2017 edition” means pre-transformer; no BERT, no GPT, no modern pretraining
- No topics tagged, no recent activity mentioned — maintenance status is unclear
Verdict
Worth a look if you’re teaching yourself how the sausage was made, or if you need clean, small implementations to adapt for pedagogy. Skip it if you need modern architectures or copy-pasteable production code.