This webpage is for an old version of the course; content may be out of date!

CSE 258: Web Mining and Recommender Systems

Instructor: Julian McAuley (, CSE 4102

Autumn 2019, Monday/Wednesday 18:30-19:50, Galbraith Hall

CSE 258 is a graduate course devoted to current methods for recommender systems, data mining, and predictive analytics. No previous background in machine learning is required, but all participants should be comfortable with programming (all example code will be in Python), and with basic optimization and linear algebra.

The course meets twice a week on Monday/Wednesday evenings, starting September 30. Meetings are in Galbraith Hall.

There is no textbook for the course, though chapter references will be provided from Pattern Recognition and Machine Learning (Bishop), and from Charles Elkan's 2013 course notes. Links are also provided to our Coursera Specialization, which covers similar material.

Basic Info

Office hours:

I'll hold office hours on Tuesdays 9:30-13:00 in CSE 4102. The course TAs will hold additional office hours as follows:


piazza page
gradescope page
last year's course webpage
course outline slides

Supervised Learning: Regression

Monday September 30 / Wednesday October 2:
Other resources:
Coursera slides (introductory):
Code examples:

Filesweek1.py50k beer reviewsnon-alcoholic beer reviews
Lecture 1 slides + annotations podcast
Lecture 2 slides + annotations podcast
HomeworkHomework 1 (due October 14)

Supervised Learning: Classification

Monday October 7 / Wednesday October 9:
Other resources:
Coursera slides:
Code examples:

Filesweek2.py50k book descriptions5k book cover images
Lecture 3 slides + annotations podcast
Lecture 4 slides + annotations podcast

Dimensionality Reduction and Clustering

Monday October 14 / Wednesday October 16:
Other resources:
Code examples:

Filesweek3.pyfacebook ego network
Lecture 5 slides + annotations podcast
Lecture 6 slides + annotations podcast
HomeworkHomework 2 (due October 28)

Recommender Systems

Monday October 21 / Wednesday October 23:
Other resources:
Coursera slides:
Code examples:
Kaggle pages (Assignment 1):
Lecture 7 slides + annotations podcast
Lecture 8 slides + annotations podcast
AssignmentAssignment 1 (due November 18)slides

Text Mining

Monday October 28 / Wednesday October 30:
Other resources:
Code examples:
Lecture 9 slides + annotations podcast
Lecture 10 slides + annotations podcast
HomeworkHomework 3 (due November 13)
AssignmentAssignment 2 (due December 3)slides


Midterm prepNov 4
MidtermNov 6
sp15 midterm (CSE190)SolutionsSolution video (starts at 49:55)
fa15 midterm (CSE190)SolutionsSolution video (starts at 35:10)
fa15 midterm (CSE255)SolutionsSolution video (starts at 32:25)
wi17 midterm (CSE158)SolutionsSolution video (starts at 42:00)
wi17 midterm (CSE258)SolutionsSolution video (starts at 46:00)
fa17 midterm (CSE158)SolutionsSolution video (starts at 35:50)
fa17 midterm (CSE258)SolutionsSolution video (starts at 40:15)
fa18 midterm (CSE158)SolutionsSolution video (starts at 55:50)
fa18 midterm (CSE258)SolutionsSolution video (starts at 45:00)
Midterm prep slides + annotations podcast

Tools and Libraries

No lecture November 11 (Veteran's Day)
Wednesday November 13:
Code examples:
Lecture 11 slides + annotations podcast
HomeworkHomework 4 (due November 25)

Data Mining in Social Networks

Monday November 18 / Wednesday November 20
Other resources:

Lecture 12 slides + annotations podcast
Lecture 13 slides + annotations podcast

State-of-the-art Recommender Systems

No lecture November 27 (Thanksgiving)
Monday November 25

Lecture 14 slides + annotations podcast

Modeling Temporal and Sequence Data

Monday December 2 / Wednesday December 4
Code examples:
Lecture 15 slides + annotations podcast
Lecture 16 slides + annotations podcast