Lectures on Hilbert schemes of points on surfaces