Lecture notes: Efficient approximation of kernel functions