Course Assignments

Welcome to the assignments for PSYC 51.17: Models of Language and Communication.

Submission Instructions

All assignments are submitted via GitHub Classroom. Click the "Accept Assignment" button on each assignment page to get started. This will create a personal repository where you'll complete your work.

Submission Process:

  1. Click "Accept Assignment" to create your repository
  2. Clone the repository to your local machine or open in Google Colab
  3. Complete the assignment following the instructions
  4. Commit and push your changes before the deadline
  5. Your latest commit before the deadline will be graded

Assignment Schedule

# Title Released Due Weight
1 ELIZA Chatbot Week 1 (Jan 9) Jan 16, 11:59 PM EST 15%
2 SPAM Classifier Week 2 (Jan 16) Jan 23, 11:59 PM EST 15%
3 Wikipedia Embeddings Week 3 (Jan 23) Jan 30, 11:59 PM EST 15%
4 Customer Service Chatbot Week 4 (Jan 30) Feb 6, 11:59 PM EST 15%
5 Build GPT Week 6 (Feb 9) Feb 13, 11:59 PM EST 15%
Final Research Project Week 9 (Mar 4) Mar 9, 11:59 PM EST 25%

Late Policy

Assignments receive a 10% deduction for each week late, rounded up to the nearest whole week. The final project must be submitted on time.

Grading

Each assignment is graded on:

Getting Help


Assignments

Assignment 1: ELIZA Chatbot

Build a pattern-matching chatbot based on Weizenbaum's classic ELIZA program. Learn about string manipulation, regular expressions, and the foundations of conversational AI.

Assignment 2: SPAM Classifier

Develop a text classification system to identify spam messages. Explore feature engineering, tokenization, and evaluation metrics.

Assignment 3: Wikipedia Embeddings

Compare different text embedding methods on Wikipedia articles. Visualize semantic relationships and evaluate embedding quality.

Assignment 4: Customer Service Chatbot

Create a context-aware customer service chatbot using transformer-based models. Implement retrieval and response generation.

Assignment 5: Build GPT

Implement and train a small GPT model from scratch. Understand the transformer architecture, attention mechanisms, and autoregressive generation.

Final Project: Research Project

Conduct an independent research project applying concepts from the course. Present your findings to the class.