CSC 412 - 2025 handout