Dr. Sarah Chen
Associate Professor of Computer Science
Stanford University
My research focuses on natural language processing, machine learning, and the intersection of language understanding with knowledge representation.
CS 124: From Languages to Information
Fall 2024, Fall 2025 — Stanford University
CS 124 is Stanford's undergraduate introduction to natural language processing, designed to give students a practical, hands-on understanding of how computers process and understand human language. The course requires no prior NLP experience—only introductory programming and basic probability—making it accessible to students across the university, from computer science majors to linguistics and cognitive science students interested in computational approaches to language.
The course covers the fundamental building blocks of NLP: text classification and sentiment analysis, information extraction, question answering, dialogue systems, and machine translation. Each topic is introduced through a combination of lectures explaining the underlying algorithms, live coding demonstrations showing how to implement them, and programming assignments where students build working NLP systems from scratch. By the end of the quarter, students have implemented a complete chatbot, a sentiment classifier, and an information extraction pipeline.
A core philosophy of CS 124 is making NLP tangible and relevant. Assignments use real-world data—movie reviews, Wikipedia articles, customer support conversations—and students can see the direct impact of algorithmic choices on system behavior. The course concludes with a group project where teams of 3–4 students build an NLP-powered application of their choosing, often producing impressive demos that range from misinformation detectors to multilingual tutoring systems.
Topics Covered
- Text Processing and Regular Expressions
- Language Modeling: N-grams and Neural Approaches
- Text Classification and Naive Bayes
- Sentiment Analysis and Opinion Mining
- Information Extraction and Named Entity Recognition
- Question Answering Systems
- Dialogue and Chatbot Design
- Machine Translation Fundamentals
- Word Embeddings and Semantic Similarity
- Introduction to Transformers and Pre-Trained Models
- Ethical Considerations in NLP