About this class
This course provides a broad introduction to natural language processing.
We target this class mainly at advanced undergraduates and graduate students in computer science, but welcome other students that have the necessary background and programming skills. We expect students to have some programming experience (we use Python 3), as well as a basic exposure to algorithms, calculus, linear algebra, probability and statistics. We do not assume any prior knowledge of machine learning or linguistics.
Course Objectives
At the end of this course, students should have a good understanding of the research questions and methods used in different areas of natural language processing. Students should also be able to use this knowledge to implement simple natural language processing algorithms and applications. Students who take this course for 4 hours credit should also be able to understand and evaluate original research papers in natural language processing that build on and go beyond the textbook material covered in class.
Course Structure and Platforms
This semester, CS447 is back in person! (Please come to class)
In addition to this website, we will use Campuswire for discussion, Canvas for grades, and Gradescope for quizzes and assignments. We will add your Illinois email to these platforms.
Lecture videos will also be available on Mediaspace
Required Readings
Our class is loosely based on the Jan 7, 2023 draft of the 3rd Edition of Jurafsky and Martin's Speech and Language Processing. Almost all required readings will be taken from this book. You can also get a single PDF of the Jan 7, 2023 draft.
Assessment
Instead of one midterm and one final exam, we will have twelve online quizzes and eight peer-reviewed assignments throughout the semester. We will also have four programming assignments (homeworks). You will have two weeks to complete each quiz and peer-graded assignment, and three weeks for each programming assignment. Specific dates and deadlines for these can be found on our main page.
Additionally, students taking the class for four credits are expected to complete a literature review by the end of the semester. We will provide a number of suggestions for topics.
For students taking the class for three hours credit, grades are composed of the following two components:
  • 25.0% Quizzes
  • 25.0% Peer-Graded Assignments
  • 50.0% Homework Assignments
For students taking the class for four hours credit, grades are composed of the following three components:
  • 18.75% Quizzes
  • 18.75% Peer-Graded Assignments
  • 37.5% Homework assignments
  • 25.0% Literature Review
Please read our Academic Integrity Policy. In particular, you are encouraged to discuss any assignments with your peers, but you must write and submit your own solutions (this includes any code that is not explicitly provided with the assignments). If you are taking the course for 4 hours credit, your literature survey must also be your own work. In particular, the report must be written in your own words. You must properly cite all sources that have been consulted, including papers, text books, websites and existing software. You are not allowed to use tools like ChatGPT for any assignments in this class, except for the purpose of generating output that an assignment requires you to analyze.
Late Policy: We are unable to accept late submissions for the assignments unless you have contacted Prof. Hockenmaier in advance and you have been given an extension (which we will only grant in exceptional cases, e.g. for medical reasons).