Teaching Consultation

A couple weeks back I substituted as the TA for a discussion section. I was recorded on video, which was reviewed by the Teaching, Learning, & Technology Center. Here are some notes about educational techniques that I took during the…

Deliberate Practice in Programming

The easiest way to improve your working habits and skillset is by deliberately practicing. For example, according to The role of deliberate practice in the acquisition of expert performance (1993, Psychological Review) what separates elite players from average players is…

Learning the Abstractions

Since much of programming is about creating and manipulating abstractions, it figures that a large amount of education is going to be about leaning those abstractions. Things like classic data structures, the useful sloppiness of O-notation for algorithm analysis, and…

Strong Typing for Security

I got into a mild argument about static vs. dynamic typing. I recognize that static typing can be verbose to the point of being repetitious. Take Java generics for example: List<String> astr = new ArrayList<String>();List<String> astr = new ArrayList<String>(); There…

Teaching-Oriented Faculty at Research Universities

The Communications of the ACM has put out an interesting piece about the treatment and role of faculty who wish to focus on teaching more than research. This viewpoint article, Teaching-Oriented Faculty at Research Universities, includes comments from people I’ve…