Minesh and I ran a tutorial (Applied Parallel Computing) at PyCon 2013 yesterday, we’ve been working on building and distributing a VirtualBox (7GB) for students to simplify the teaching with a unified, preconfigured environment. This process took a while, below are my notes. Others (e.g. Kat teaching SimpleCV) also had a VirtualBox.
The upside of a VirtualBox is that everyone has a unified environment, so students see on their screen exactly what you have on your screen. The downside is that this doesn’t help them install the tools onto their laptop for normal use. If you’re teaching a medley of tools (as we were) and especially if some require non-trivial installation (e.g. Disco map/reduce for us) then VirtualBoxes are a clear win.
- We zipped the directory containing the VDI file, Kat used a single OVF file (both for VirtualBox), I think the single OVF file might be easier to distribute and might work in other (non-VirtualBox) environments. Our zip took 7GB down to 2.2GB
- Your VirtualBox will be configured for you…but students might have foreign keyboards (e.g. Minesh made our VBox image with a US keyboard, I have a UK keyboard, some students have German etc keyboards) – provide notes on how to reconfigure the Guest OS so the student can setup their keyboard
- git clone a read-only repo into the VBox, students can then just git pull to get updates
- We added a run_this_to_confirm_you_have_the_correct_libraries.py script, it checks that everything is installed, students can run this to double check that their install is good
- Use a standard user and password – we used “pycon:pycon”
- I made a YouTube screencast using RecordMyDesktop (with desktop compositing disabled to reduce flicker)
- Bundle everything into a blog post that you can easily update – here are our install notes and video
- A large zip is harder to distribute – I linked to the zip on my blog (I have lots of bandwidth) and created a torrent using the super-easy burnbit site (here’s my download page) – you can see the torrent link on the install notes page linked above
- You probably want to use a 32 bit OS for the Guest OS (we used Linux Mint 14 32 bit), a 64 bit Guest OS won’t run on a 32 bit system (but a 32 bit Guest OS will run on a 64 bit host)
- Despite linking our tutorial notes to the tutorial page on the PyCon website (and mailing students), many didn’t have a preinstalled environment – we had a set of USB Thumb Drives which simplified the setup. Our first 30 minutes was talking so students had time to install the VBox
- Github is a great place to store code, data (if not huge) and slides
Ian applies Data Science as an AI/Data Scientist for companies in ModelInsight and in his Mor Consulting, sign-up for Data Science tutorials in London. He also founded the image and text annotation API Annotate.io, lives in London and is a consumer of fine coffees.