CS 246 (PDF)