Contemporary NLP Modeling in Six Comprehensive Programming Assignments
Greg Durrett, Jifan Chen, Shrey Desai, Tanya M. Goyal, Lucas Kabela, Yasumasa Onoe, Jiacheng Xu · 2021
We present a series of programming assignments, adaptable to a range of experience levels from advanced undergraduate to PhD, to teach students design and implementation of modern NLP systems.These assignments build from the ground up and emphasize fullstack understanding of machine learning models: initially, students implement inference and gradient computation by hand, then use Py-Torch to build nearly state-of-the-art neural networks using current best practices.Topics are chosen to cover a wide range of modeling and inference techniques that one might encounter, ranging from linear models suitable for industry applications to state-of-theart deep learning models used in NLP research.The assignments are customizable, with constrained options to guide less experienced students or open-ended options giving advanced students freedom to explore.All of them can be deployed in a fully autogradable fashion, and have collectively been tested on over 300 students across several semesters.1