Coursera's Heterogeneous Parallel Programming assignments.