Skip to main content

Natural Language Processing Fall 2021

Imagine a world where you can pick up a phone and talk in English, while at the other end of the line your words are spoken in Chinese. Imagine a computer animated representation of yourself speaking fluently what you have written in an email. Imagine automatically uncovering protein/drug interactions in petabytes of medical abstracts. Imagine feeding a computer an ancient script that no living person can read, then listening as the computer reads aloud in this dead language. Imagine a computer that can do better than humans at answering questions.

Natural Language Processing is the automatic analysis of human languages such as English, Korean, and thousands of others analyzed by computer algorithms. Unlike artificially created programming languages where the structure and meaning of programs is easy to encode, human languages provide an interesting challenge, both in terms of its analysis and the learning of language from observations.


Teaching Assistants

  • Jetic Gu, jeticg, Office hour: Wed 11:00am-12:00pm.
  • Ali Gholami, gholami, Office hour: Fri 5:00-6:00pm.
  • Sonia Raychaudhuri, sraychau, Office hour: Mon 1:30-2:30pm.

Asking for help

  • Ask for help on canvas
  • Instructor office hours: Tue 1:00-2:00pm
  • No emails to the TAs and strictly emails about personal matters to the instructor
  • Use only SFU email address and use either cmpt413: orcmpt713: as subject prefix

Time and place

Course lectures will be held in person at the Burnaby campus

  • Tue 5:30am-6:20pm SSCC 9001
  • Thu 4:30am-6:20pm RCB IMAGTH
  • Last day of classes: Dec 7, 2021

Course material will be made available on canvas


There are no formal prerequisites for this class. However, you are expected to be familiar with the following:

  • Proficiency in Python - Programming assignments will be in python (numpy and pytorch will be used).
  • Calculus and Linear Algebra (MATH 151, MATH 232/240) - You will need to be comfortable with taking multivariable derivatives
  • Basic Probability and Statistics (STAT 270)
  • Basic Machine Learning (CMPT 419/726) is strongly recommended

There will be optional TA led tutorials that will help review these topics.



  • Submit homework source code and check your grades on Canvas
  • Programming setup and diagnostic homework (5%)
    • HW0 due on Sept 16, 2021
  • Four homeworks (64% total - 16% each, with 8% for programming and 8% for question answering). Due dates:
    • HW1 on Sept 28, 2021
    • HW2 on Oct 12, 2021
    • HW3 on Oct 26, 2021
    • HW4 on Nov 9, 2021
  • Final Project (28% total)
    • Project Proposal: Due on Oct 28, 2021 (5%)
    • Project Milestone: Due on Nov 18, 2021 (5%)
    • Project “Poster” Presentation: Video due on Dec 5, 2021 (5%)
    • Project Report and Code: Due on Dec 8, 2021 (13%)
  • Participation: Helping other students on the discussion board in a positive way (3%)

Other notes

For CMPT 413 students (so undergrads only): any person enrolled in this course who identifies as a woman and currently lives in British Columbia can apply for a $500 scholarship from Athena Pathways. Please use this link to apply.