Michael Nunez and I recently finished the first iteration of our course “Introduction to programming”, in which behavioral science students (mostly from psychology) get their hands dirty with R and Python. It was by far the most work and fun I had teaching. You can watch all the lectures online and check out the weekly programming challenges (cf., course repository).
Besides last year’s “Deep learning in Python course”, this was the first programming-focused course I have taught and I really see a lot of opportunities to do these courses especially well and especially poorly.
Things that helped a lot were 1) having lots of teaching assistants to grade and help students, 2) offering MANY practical sessions for students to work on their coding challenges and ask questions, 3) finding a nice platform for student-student and student-teacher communication (we had a very good experience with Slack), 4) giving students opportunities to create original things they can be proud of (games, apps, plots, memes…), and 5) explicitly normalizing making mistakes, being lost, googling, and asking questions as essential parts of the coding process (students might not be used to fail continuously).
Especially point 4) and 5) were essential to maintain a highly motivated group of students as we certainly did not go easy on them in terms of desirable difficulties and helping them to help themselves. I am very much looking forward to teaching this course again next year! Below is the recording of a bonus livestream from the end of the course.
You can also check out Michael’s website.