I am going to be teaching a creative coding class at the University level this spring and I’m thinking about how to structure the class. As the title suggests, I’m also interested in others’ thoughts on what/how to teach in relation to first-class video courses like Dan Shiffman’s The Coding Train.
Looking over Dan’s course, it’s pretty much exactly how I would approach teaching in class, and as I often record my lectures I know that students appreciate the ability to go back and review at their own pace. However, Dan’s videos have great production value and appear to be well researched for teaching to beginners. I absolutely love YouTube for this reason, last year I taught myself TIG welding by finding experts doing very much the same kind of thing.
That leaves me to my question - what approaches are people using in the classroom at an introduction to code level, given that there is such high-quality learning material available online?
I can think of a couple of approaches:
Begin with in-class workshops that replicate the content of a Coding Train video - students can re-watch Dan’s video if needed. As the students learn the basics, have them create more elaborate sketches on their own.
Assign students to watch/learn from Dan and create in-class variations on the topic to re-inforce the principles learned.
Some issues I can imagine with #1 - TBH, I would personally shift to Java Processing, Unity, OpenFrameworks or D3.js to do anything complex as I find p5.js a bit buggy and not mobile-friendly. If I would do that personally, I hate to keep things simple and imply to students that p5 is a good choice for more complex projects.
I am thinking that #2 addresses a complaint I hear from students using tutorials that anything they try beyond what is in the tutorial just breaks and causes them to lose motivation or confidence. Personally, I think most people who really want to code have probably learned it well before college, so an introduction course in college should probably focus on motivation?