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…
Object Oriented Compiler Architecture
Out of some curiosity, I quickly read this paper today: The Object-Oriented Architecture of High-Performance Compilers, Lutz Hamel, Diane Meirowitz and Spiro Michaylov, Technical Report, Thinking Machines Corporation, 1996. Even though they assume that the compilers internal representation is some…
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…