Madeup Workshop
Biography It all started with the school bus. I lived twelve miles from town, and every morning I got on the bus at 7 AM. I watched every other kid get picked up. In the afternoon, I watched every other kid get dropped off. At 4 PM, I was home. School started at 8 AM […]
Rejection from Future Programming Workshop
The Future Programming Workshop solicited demos of tools that I understood would produce the next generation of screencasts. Here’s the solicitation from Jonathan Edwards: The revolution will be screencast Richard Gabriel and I are planning a workshop at SPLASH focused on screencast demos: The Future Programming Workshop. This will be a workshop in the sense of a […]
Professor vs. NDA
Once I signed an non-disclosure agreement (NDA). Someone in my community was looking for a student to work on a mobile app and wanted to describe the project to me. To be friendly, I signed. Afterward, I felt inauthentic. I never wish to sign another. My reasons are several: NDAs with faculty are one-way. I’m […]
Mathematician Grapples
Laurent Schwartz was a French mathematician and human rights activist. He’s not the Schwarz of the Cauchy-Schwarz inequality. In fact, I don’t know if I’m familiar with any of his math work, which was way over my head. Nevertheless, I just finished his biography, A Mathematician Grapples with His Century. His life was fascinating. He was […]
Blackbox 1
Consider the following mysterious black box. It gobbles up values entered on the left, and spits out some result on the right. What’s going on inside it? Here’s a hint: it solves a problem that you likely solved often in middle school math classes.
Convert a C++ Exception Into a Java Exception
In Madeup, I needed an exception to propagate from C++ to Java to PHP. I was pretty certain the conventional exception mechanics wouldn’t support this, especially the leap from Java to PHP, but I think I’m wrong. On the C++ side of the JNI bridge, I catch the exception and then throw it back to Java […]
Wisconsin Teaching Fellowship Project Question
I’m participating in the Wisconsin Teaching Fellows and Scholars program. This program aims to foster real scientific research on teaching and learning, an area that is typically snubbed by tenure committees at schools bigger than my own. Each fellow or scholar proposes a research question, deliberates with a team of others, spends a year studying the […]
Git Commit Logs
This semester I managed homework differently. On Bitbucket, I created a repository containing the homework specifications and some autograders. Each student made a private fork of my repository, inheriting permissions so that I could access the fork when a homework was submitted. When students commit a changeset, they include a brief description of the changes […]
CS 245 Wrapup
CS 245 has officially closed. I offer some reflection. Bitbucket We used Bitbucket for the first time ever to distribute and submit homework assignments. I wish I could say I learned how to overcome problems that my students ran into, but I can’t. Mostly issues seemed to stem from failing to follow the pull-code-commit-push workflow. […]
CS 330 Lecture 40 – Review
Agenda what ?s review wrap up Topics object-oriented programming inheritance polymorphism (subtype) polymorphism (parametric/generics/templates) dynamic dispatch, virtual functions garbage collection grammars, lexing, parsing, interpretation higher-order functions lambdas/anonymous functions filter/map/fold immutability lazy evaluation memoization reflection dynamic and duck typing Haiku