Recording Programming Activities in the Classroom

Background

Before I detail how I video record in-class programming activities I want to provide some context. I’ve been teaching introductory programming courses for close to 10 years and  most recently I instructed a first-year first-semester course called CSCI 1060U: Programming Workshop I. My general philosophy on teaching programming is based on two simple rules:

  1. Learning programming should occur through doing not through seeing. In my experience active programming activities are a much more effective way to teaching then passively showing already written code on a PowerPoint slide.
  2. Never teach an example that you can’t program yourself in the classroom. This rule helps me avoid the use of overly complex examples that maybe difficult to follow (which is an easy way to demotivate students who are new to programming).

Continue reading

Good Resources for Learning to Program with Concurrency

With the increase in multicore processors there has been an increase in demand for concurrent programming and an increase in books and resources that focus on programming with concurrency. Below I will outline some of the books on my own bookshelf that have been useful.
Continue reading

Static Analysis Tools for Concurrency