Computers process massive amounts of information every day in the form of human language. Although they do not understand it, they can learn how to do things like answer questions about it, or translate it into other languages. This course is a systematic introduction to the ideas that form the foundation of current language technologies and research into future language technologies.
The official prerequisite is CSE 20312. Students should be experienced with writing substantial programs in Python. The course also makes use of finite automata, context-free grammars, basic linear algebra, multivariable differential calculus, and probability theory. Ideally, students should have taken CSE 30151, Math 10560, and ACMS 30440, but please contact the instructor if you have questions about the necessary background.
The best way to contact the teaching staff is on Campuswire.
Unless otherwise indicated, assignments are due at 5pm Eastern time.
| Week | Topic | Readings/Assignments |
| 08/23 | Introduction | Chapter 1 Slides Project idea (due 09/01) |
| 08/28 | Language models (n-grams) | Chapter 2 |
| 09/04 | Language models (RNNs) | HW1: Text prediction (due 09/15) |
| 09/11 | Machine translation (IBM models) | Chapter 3 |
| 09/18 | Machine translation (attention and transformers) | HW2: Machine translation (due 10/06) |
| 09/25 | Language models (transformers) | |
| 10/02 | Speech and writing | Chapter 4 Project baseline (due 10/13) |
| 10/09 | Words: parts-of-speech and morphology | Chapter 5 |
| Fall Break | ||
| 10/23 | Syntax and parsing | HW3: Parsing (due 11/08) Chapter 6 |
| 10/30 | Parsing, continued | |
| 11/06 | Semantics | Chapter 7 HW4: Named entity recognition (due 11/20) |
| 11/13 | Generation | Chapter 8 |
| 11/20 | M: Projects | HW5: Generation (due 12/01) |
| 11/27 | MW: Generation, continued F: Projects |
|
| 12/04 | Conclusion | Project report (due 12/15) |
Your work in this course consists of five homework assignments and a research project.
| requirement | points |
| homeworks | 5 × 30 |
| project | 3 × 30 + 60 |
| total | 300 |
This class includes a semester project that satisfies the "Major Project" requirement for the B.S. in Computer Science degree. This project will be much larger in scope than a regular assignment and will require at least eight weeks to complete. Students will design the overall goals and requirements of the project with guidance from the instructor. The project will be developed gradually through the semester by producing a proposal, progress report, oral presentation, and final report as noted in the class schedule. The project will necessarily draw upon skills and knowledge from prior classes, such as Fundamentals of Computing, Data Structures, Systems Programming, Theory of Computing, and Algorithms. The final deliverable of the project will be a working software system that will be evaluated for overall competence in computing skills.
| letter grade | points |
| A | 280–300 |
| A− | 270–279 |
| B+ | 260–269 |
| B | 250–259 |
| B− | 240–249 |
| C+ | 230–239 |
| C | 220–229 |
| C− | 210–219 |
| D | 180–209 |
| F | 0–179 |
Students in this course are expected to abide by the Academic Code of Honor Pledge: “As a member of the Notre Dame community, I will not participate in or tolerate academic dishonesty.”
The following table summarizes how you may work with other students and use print/online sources:
| Resources | Solutions | |
|---|---|---|
| Consulting | allowed | not allowed |
| Copying | cite | not allowed |
If an instructor sees behavior that is, in his judgement, academically dishonest, he is required to file either an Honor Code Violation Report or a formal report to the College of Engineering Honesty Committee.
Any student who has a documented disability and is registered with Disability Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact the Office of Disability Services.
For university-excused absences (e.g., documented illness, travel for athletics or a job interview), coursework submissions will be accepted late by the same number of days as the excused absence. Otherwise, you may submit part of an assignment on time for full credit and part of the assignment late for a penalty. No part of the assigment may be submitted more than once. The late penalty increases by 5% per day and stops increasing when it reaches 50%; thereafter, it remains at 50% until the final project due date, after which no work may be submitted.
All course materials written by the instructor and published on this website are licensed under a Creative Commons Attribution 4.0 International License.
All other course materials, including lecture recordings and materials written by the instructor and distributed privately (including through Sakai) should not be redistributed in any way; doing so is a violation of both US copyright law and the University of Notre Dame Honor Code.