GPU programming with CUDA; parallel algorithms for the Computer Graphics and Simulation Course at the University of Cologne