I’ve recently completed 12 hours of teaching Introduction to Python and SQL for an audience of new Institute for Health Metrics and Evaluation (IHME) staff and fellows. SWC is a gem! (I have been thinking this for a while.)
In retrospect, what worked and what might I do differently next time?
Some SWC mechanics that worked well: Live coding, Hands-on exercises, Sticky notes, Jupyter notebooks, and friendly teaching assistants.
Some things to change: Remember to give the big-picture framing for each section, Do more explanation of solutions after hands-on exercises, Share the syllabus ahead of time, and emphasize that this is *introduction* material.
Some changes that I made mid-stream: longer breaks (15 minutes every hour or so), connect the examples to IHME-specific domains.
I also did not use an etherpad until we got through Creating Functions (Section 6 in the Python Inflammation Lession). That might have been too much typing in the first two sessions, and it was definitely appreciated.
I’m working on conflict epi stuff again, and it is a challenge. Here is a short film that I ran into which tells some of these stories a different way than our numbers.
My colleague Theo Vos and I have a perspective published recently in PLoS Medicine, Machine learning in population health: Opportunities and threats. It is not long, so you can skim it in seconds, or read it all in just minutes.
It is not directly related to a short film that I enjoyed recently. Maybe indirectly.
This summer my kids got a gift of a somewhat boring board game, where players were charged with tracing through a jumble of lines to find out what creature got to eat what dessert. The name escapes me now, and I escaped taking the game home, too.
But it was not all bad—the mechanics of the game made me google “permutation game” which came up with a fun puzzle (and annoying interview question; this phrasing is from a website that helps people cram for job interviews):
Alice and Bob play the following game:
They choose a permutation of the first numbers to begin with.
They play alternately and Alice plays first.
In a turn, they can remove any one remaining number from the permutation.
The game ends when the remaining numbers form an increasing sequence. The person who played the last turn (after which the sequence becomes increasing) wins the game.
Assuming both play optimally, who wins the game?
This game turns out to be kind of fun, at least if you find this sort of thing fun. I also tried a twist where we started with a string of letters, and crossed them off until they make a word.
I’ve got a fun little viz that I need to demo for Important People (IP) in early March [editor’s note: still not done… that deadline was highly optimistic!]. How to do it?
In Python? Sure. In a Jupyter notebook? Maybe. With Matplotlib? Probably not… at least I better have a look at the state of the alternatives.
Did I mention that it is essential for this viz to be *interactive*? It needs to allow the Important People to explore the predictions of some ML model, or at least allow me to explore them while they call out how to explore.
Years ago, I attempted to designate a particular plot the “hello, world” of data viz. Remember that? I think we should extend it to a hello world of interactive data viz. Maybe just choosing the number of digits is enough. Or should it follow the visual information seeking mantra? But “hello, world” cannot be too complicated.
Click to access Python_Bokeh_Cheat_Sheet.pdf
A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)
Thinking about this since I saw a gentrification talk at CSSS last week [editor’s note: more like a year ago]. Also thinking about engaging demo material for vivarium. Here are some recent links:
Click to access 1406.5215.pdf