Heterogeneous Parrallel Programming class  (coursera.org) - University of Illinois at Urbana-Champaign