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

CSE 158/258: Web Mining and Recommender Systems

Instructor: Julian McAuley (

Autumn 2020, Monday/Wednesday 17:00-18:20 PST, Twitch

Recent lecture videos are avaliable at

For those unable to access twitch, or attend the lecture time, all recordings will be posted here on the day following the lecture

Basic Info

CSE 158 and 258 are undergraduate and graduate courses 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 October 5. Meetings are livestreamed on twitch, but recordings will also be made available here.

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.

Office hours:

Office hours (and instructions to access) for each class are posted to Piazza


piazza page (CSE258)
piazza page (CSE158)
last year's course webpage
intro and course outline slides

Supervised Learning: Regression

Monday October 5 / Wednesday October 7:
Other resources:
Coursera slides (introductory):
Code examples:

Filesweek1.py50k beer reviewsnon-alcoholic beer reviews
Lecture materials lecture 1 video lecture 2 video slides + annotations

Supervised Learning: Classification

Monday October 12 / Wednesday October 14:
Other resources:
Coursera slides:
Code examples:

Filesweek2.py50k book descriptions5k book cover images
Lecture materials lecture 3 video lecture 4 video slides + annotations

Dimensionality Reduction and Clustering

Monday October 19 / Wednesday October 21:
Other resources:
Code examples:

Filesweek3.pyfacebook ego network
Lecture materials lecture 5 video lecture 6 video slides + annotations

Recommender Systems

Monday October 26 / Wednesday October 28:
Other resources:
Coursera slides:
Code examples:
Kaggle pages (Assignment 1):
Lecture materials lecture 7 video lecture 8 video slides + annotations

Text Mining

Monday November 2 / Wednesday November 4:
Other resources:
Code examples:
Lecture materials lecture 9 video lecture 10 video slides + annotations

(Take-home) Midterm

MidtermNov 9
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)
fa19 midterm (CSE158)
fa19 midterm (CSE258)SolutionsSolution video
Lecture materials lecture 11 video

Tools and Libraries

No lecture November 11 (Veteran's Day)
Monday November 9:
Code examples:
Lecture materials slides + annotations lecture 12 video
AssignmentAssignment 2 (due December 7)slides

Data Mining in Social Networks

Monday November 16 / Wednesday November 18
Other resources:

Lecture materials slides + annotations lecture 13 video lecture 14 video

State-of-the-art Recommender Systems

No lecture November 25 (Thanksgiving)thanksgiving concert
Monday November 23

Lecture materials slides + annotations lecture 15 video

Online Advertising

Monday November 30:
Wednesday December 2:

Lecture materials slides + annotations lecture 16 video

Modeling Temporal and Sequence Data

Monday December 7 / Wednesday December 9
Code examples:
Lecture materials slides + annotations lecture 17 video lecture 18 video