Skip to main content Link Menu Expand (external link) Copy Copied

Course Info

Welcome to CS 288: Natural Language Processing! Our field has been changing rapidly, and this offering of the course is designed to bring recent advances into greater focus.

The first part of the course will be a compressed version of the classic CS 288 content, giving an overview of the core linguistic phenomena and the central solutions developed by researchers the field. The dominant modeling paradigm is corpus-driven statistical learning, including neural methods. We will have projects to give hands-on experience with a variety of NLP tasks and commonly-used techniques.

The second part of the course will be a deeper dive into recent advances, particularly large transfomer models such as GPT-3 and Codex. In this part of the course, each lecture will have short presentation on a current topic (e.g., the training, properties, use, and potential misuse of LLMs) followed by a panel discussion amongst the course staff. This section of the course is new, and students should be prepared for updates to the syllabus and projects as we go.

CS 288 assumes a good background in basic machine learning and a strong ability to program in Python. Prior experience with linguistics or natural languages is helpful, but not required. There will be a lot of statistics, algorithms, and coding in this class. The recommended background is A-level mastery of CS 188/9 (or CS 281A) and CS 170 (or CS 270) as well as programming on the level of upper-division CS project courses. Note: this course will be more work-intensive than most graduate or undergraduate courses.