Posts

Showing posts with the label teaching

You can't actually learn by osmosis while sleeping

The CS department recently decided to overlook the mess I made of grading in my new post-parenthood life (for which I'm grateful. :) and gave me a teaching award.  What they didn't mention was that it came with two caveats: I'd have to pay income tax on the cute glass apple that came with it. I had to write something smart-sounding about teaching (!). The problem with #2, of course, is that like most tenure-track faculty at a research institution, I don't actually know anything about teaching.  As any of you who're Ph.D. students choosing to go into academia will discover, we do an absolutely terrible job of preparing you to teach college classes as part of your Ph.D. education.  Actually, that's too strong:  We don't do the job at all, not even terribly!  (In fairness, Hari actually gave me some great advice when I TA'd for him.  But that was luck, not the structure of the Ph.D. program.)  But when I protested, the powers that be that run the d...

Teaching Distributed Systems in Go

Image
It's been a year and a half since I migrated my undergrad distributed systems course (15-440) to the Go programming language .  I'm still glad I did it and will keep it there, but we've also learned some important lessons about how to best use it in our context that I hope I'll be able to improve upon next semester.   Hopefully, some of this may be useful for those of you considering moving to or creating a Go-based class. The big points I hope to get across are:  (1)  Go is really  good for distributed systems;  (2)  Students need more intro to the language than I thought;  (3)  The language has matured a lot, but there are some technical glitches remaining that you'll have to work around. Go is good for teaching (and building) distributed systems I believe this for two reasons: Go provides a good mix of high-level and low-level functionality. Channels and goroutines provide a program structure that works well for distributed progra...