Geeky fun: The “sound” of different sorting algorithms

One of the topics every computer science student learns is sorting algorithms:  different mechanisms to put pieces of data in order.  It is sometimes difficult to get students to understand the differences and nuances between algorithms.  For instance, both insertion sort and bubble sort put things in order in roughly the same time, so why do we consider insertion sort better than bubble sort?

Visualizations are a great way to get this point across, but someone has taken this idea one step further and has come up with a way to make, in essence, sound maps for the different algorithms!

The post linked above also links to a heapsort sound map, and goes into a bit more detail about how the sounds were generated.

I think my favorite is bubble sort:  it sounds like Pac-Man!  In general, it’s neat how each sorting algorithm does in fact have its own sound.  I will definitely use this the next time I teach sorting!

(h/t Jack Goldfeather for the link)

Advertisement

(Academic) new years resolutions, 2010-11 edition

Here at Carleton, we still have a few weeks to go before the start of school, but school has been on my mind lately because things are definitely gearing up around here.  The start of a new school year is the time I choose to make resolutions, because this time of year feels more like a fresh start than January 1 does.

In last year’s resolutions post, I knew exactly what I wanted to focus on:

…I have one resolution:  To find the sweet spot in my own life that allows me to work productively and sustainably.  To figure out how to work effectively and efficiently and to make the time for my family and for taking care of myself.  To not end the term, or the school year, in a frenzied and frazzled state, but rather to work calmly, consistently and productively.  To find a balance that makes me happy and fulfilled, but still allows me to get my job done to my satisfaction.

I can’t say I did perfectly in this area, but I can say that I have a better awareness of where my time goes, and even if I don’t always do a great job of prioritizing, I’m getting much better at it—and much more willing to focus my energies on what’s important to me.  I’ll give myself a B- for last year.

This year I’m in a much more settled state:  I have tenure.  (I have tenure!!)  My research is in a very stable state and is progressing wonderfully.  Most of the courses I’m teaching this year are ones I’ve taught many times before.  I feel much more comfortable in my own skin, career-wise.

And yet, looking ahead, this is going to be a very challenging year.  With tenure comes greater responsibilities.  My service load is especially heavy this year.  I want to keep my research momentum going—-and it’s time to start thinking more long-term as well, and figure out just where is all this research going?  And of course there’s teaching:  I’m here because I want to teach, I want to be an excellent teacher, and I want to give my students the best class experience possible.  Tenure brings freedom to, for the first time, freely and critically evaluate what I want to do in the classroom—but this, too, is a great responsibility.

So with this in mind, I have three resolutions for the academic year—and, coincidentally, each one touches on a different aspect of my job:

  1. (teaching) To become a better storyteller. This is something I blogged about earlier this year.  Stories, particularly the stories behind the people who invented the algorithm/hardware/programming language we’re discussing, the technology we take for granted, etc., can be a very powerful way to put CS into context.  I’ve concentrated, in the past, a lot on current news stories to present context, but history lessons can be just as powerful.
  2. (research) To figure out exactly “what I am”. My research straddles a few subfields.  I’m fine with that, but it sometimes leads to problems when figuring out how to pitch my work, where to send my work, etc.  It also means that I don’t really feel like a part of any one community:  I’m not “really” a networking researcher, or a multimedia researcher, or an HCI researcher, …. This year I’d like to get a better sense of what spaces and subfields I’d like to inhabit, and become more involved in those communities.  I’m hoping this exercise will also help me do some strategic long-term research planning—where do I want my research to be in 5, 10 years?
  3. (service, kind of) To keep things in check. I hesitate to use “balance” because it can be a loaded term and I know balance is kind of a pipe dream this year.  Instead, I just want to make sure that I keep my service responsibilities, along with everything else, manageable, so that I can also enjoy my family and my down time and the other things that are important to me.

What are your resolutions for the new school year?

Five things that helped me survive summer

A couple of days ago over at ProfHacker, there was a post (by all the contributors) listing five things—technologies, activities, random items, etc—that helped them get through the summer, made them more productive or happier, etc.  (Suprisingly, I haven’t seen too many other academic bloggers pick this up, other than here.)  I thought this was an interesting exercise and decided to give it a whirl.

So, here are my five things:

  1. Google Docs. This has been indispensable for my work this summer.  I’ve always had a very hard time getting my research students to maintain up-to-date notes and documentation about their work.  This summer, we decided to use Google Docs for this purpose.  It is so nice to have a complete record of all of our notes, crazy ideas, paper drafts, etc all in one place, all easily accessible and editable by everyone.  I’m also using it in two other collaborations—planning a linked course for Fall 2011, and planning a regional conference.  I’m not sure how I effectively collaborated without it!
  2. Running/daily exercise. I’m one of those people whose brain cannot function if the body has not been moving.  I need exercise to keep my sanity and keep my head clear.  This summer has been one of the few in recent memory that I haven’t been injured or sick or otherwise unable to run for part of the summer, and it’s been wonderful rediscovering the joy of running.  It makes getting up at the buttcrack of dawn much more bearable.
  3. A super support system. Peer mentors are a powerful thing.  I have a wonderful group of women whom I meet weekly for coffee.  Sure, many of these “working sessions” (ahem) turn into gossip fests, but they are also places for encouragement and butt-kicking.  We share each others’ successes and brainstorm ways to get each other unstuck.  We share information and strategies.  We keep each other sane, on-track, and laughing.
  4. A great group of research students. Selecting research students is always something of a crap shoot:  just because a student is bright in the classroom doesn’t necessarily mean s/he will be good at research, because the skill sets are somewhat different (a point I discussed in a previous post). Over the years, I’ve been mostly lucky in this regard.  This summer, my students have been especially strong.  They work very well together as a group, and individually as well, and have pushed our research way beyond what I expected this summer.  Most days now they shoo me out of the lab so that they can get work done!  Working with them has allowed me the time and space to concentrate on other aspects of my work as well, and to think more clearly about the future of my work.
  5. Interlibrary loan and ebooks (tie). I am almost certain that I have checked more out of the library through interlibrary loan this summer than I have in my previous 7 years at Carleton combined.  And this summer, I bought my first ebooks (because I was too impatient to wait for the paper versions to ship, but still).  Recently I’ve expanded my view of which subfields relate to my research, and by expanding my view, I’ve discovered a whole new set of literature that will help push my research forward (and possibly in all-new directions!).  I’m now way behind on my reading, but I’m also looking forward to scholarly reading in a way I haven’t for a long time.

Not making the list, but honorable mentions, include taking time away from Carleton (sometimes you just need to get away), rediscovering the joy of entirely free weekends and mostly free evenings, and my iPhone, which allowed me to go away for a week and not bring my laptop with me.

What helped you survive the summer?

Summer in the lab: the homestretch

It’s week 9 of my 10 weeks with my student researchers.  Where has the summer gone?  Seriously.  Things are wrapping up in the lab—my students are busy analyzing the results from our experiments a few weeks ago and writing up their results, which will eventually (hopefully) be woven into one or more conference papers.

As I’ve mentioned in previous posts on student research, one of main goals as a research advisor is to help my students become more self-sufficient, able to come up with questions and lines of inquiry on their own and follow up on them.  My students were put to the test last week in this area—I took the week off to visit family and purposely did not bring my laptop with me (and checked email minimally).  So how did they do?

Awesome!

  • I did not get a single email from them all week.  Not one.
  • I left a ridiculously long to-do list, and except for the last item (which was really pie-in-the-sky thinking), they made not just progress, but good progress on the rest of the items.
  • They had to give a talk at an undergraduate research symposium.  I saw a very rough version of the talk the Friday before I left, but that’s it.  They wrote the presentation completely on their own, and from what I’ve heard they did a great job with it!
  • I have had minimal meetings with them this week, because they are too busy/engrossed in their analyses and writeups.  On Monday, my first day back, we spent much of our meeting time having them run ideas by me about things we could do with the data—some of which I, honestly, never considered.  Together we came up with a complicated analysis to attempt—I sketched out a very rough idea of what I wanted, but they did all of the leg work in figuring out how to actually do the analysis.

So I’d say my students are pretty self-sufficient now.  I’m so proud of the work they’ve done this summer and with how far they’ve come.  I’m really looking forward to seeing their results, and their interpretation of these results.  They’ve really done a lights-out job moving the project forward this summer.  I hope they are as proud of their work as I am!  (And yes, I plan on telling them exactly that!)