NLP Modules for High School

IFML member Greg Durrett developed an eight-lesson IFML high-school teaching module that introduces students to Natural Language Processing (NLP).

NLP for High Schools

IFML is committed to broadening participation and engaging women and underrepresented communities in the fields of machine learning and artificial intelligence. To that effort, IFML member Greg Durrett developed an eight-lesson IFML high-school teaching module that introduces students to Natural Language Processing (NLP).

These are videos and brief assignments meant to serve as an NLP "module" appropriate for use in a high school setting, or as a first introduction to NLP for any audience with some prior programming exposure (ideally in either Java or Python).

Please see our Overview of the module for instructors (PDF) for an introduction to what this module is and how you might use it. For a brief slide overview, visit this presentation (PDF)

What instructors are saying:

“The most useful part of this module was the student interest. Students thoroughly enjoyed getting the Transformer language model to write sentences and enjoyed setting up contexts to try to predicate and manipulate what the sentence would contain."

"The videos were very helpful in explaining the concepts of NLP and ML. The coding module was useful in seeing the concepts described in the video in action."

“It was a good introduction to NLP which most of my students were unfamiliar with. It also helped tie in math and statistics with computer science. The fact that there were both Python and Java examples was helpful because most of my classes learn Java but my AP CS Principles class has been using Python.”

Slides

Aggregated slides (PDF); I use these for a 75-minute version of this material. (Presented at the UT summer academies)


Videos (YouTube Playlist)

Videos Materials
Intro to GPT Chat and NLP  
Machine Learning  
Mathematics of Language Modeling  
Mathematics of Language Modeling (Advanced)
[OPTIONAL] This segment is optional and draws on some more advanced concepts from probability.
 
ChatGPT: the Basics Exercise 0: Understanding Language Models
ChatGPT (Part 2)  
How Does ChatGPT Know Things?  
Risks of Large Language Models  
Future Risks of Large Language Models  
Where To Go Next  

 

Optional Programming Exercise

The following videos supplement the videos above by describing an optional programming exercise. Videos, code (two versions, Java and Python) and exercise instruction PDFs are linked below.

Videos Materials
Bigram LM Code (Java) Code (tgz) | Code in Replit
Bigram LM Code (Python) Code (tgz) | Code in Replit
Querying the LM (Java) Exercise 1: Bigram LM (Java)
Querying the LM (Python) Exercise 1: Bigram LM (Python)