coursera notes and programming assignments