Leaderboards went over well

Step one in the gamification of my programming class is done. I introduced the class to this website yesterday. The leaderboards were a hit. I was worried that they would be met with apathy or, worse yet, students wondering why I was wasting my and their time on something like this. As it turns out, the comments were pretty favorable. Two that stuck in my mind were:

  • I can tell this is not going to be like the rest of my classes.
  • This is my new favorite class.

I decided to go with the leaderboards on the homepage displaying the top 5* on each board (25% of the class) with the pages for individual leaderboards showing the top 10 (50% of the class). Several students said that they appreciated being able to see where they stood on every leaderboard on their individual pages. In fact, they were asking about being able to see that before they knew it existed, so that was probably a good decision.

They were entirely indifferent to the fact that the individual pages are password protected so that only they can see all of their rankings. To a person they just didn’t care if other people could see that they were ranked in the lower half of the class. I think I’ll still leave them password protected and only show the top 50% on the leaderboards. Even if the students don’t care, I’m a little concerned that their parents and my administrators might.

* Just displaying the top 5 positions in the CSV file took a little modification to Shaun Scovil‘s excellent CSV to Sort Table wordpress plugin. He conveniently provided hooks and a little example helper plugin. There’s not much to it, but I’ll paste the code below in case anyone else finds it useful. Paste it into a text editor, change the page(s) that you want to display fewer rows on change the number of rows you want to display (header rows count), save it, zip it and upload it to your wordpress site.

 * Plugin Name: CSV to SortTable: Fewer Rows
 * Plugin URI: 
 * Description: Only display the first X rows on tables 
 *              created by CSV to SortTable plugin.
 * Version: 0.1
 * Author: lsommerer
 * Author URI: http://lloydandlauren.com
 * License: GPL2

 * CSV to SortTable: Fewer Rows
 * @param array $data
 * @return array
function csv_to_sorttable_fewer_rows( $data ) {
  if ( is_page( 'home' ) ) {
    $data = array_slice($data, 0, 6);
  return $data;
add_filter( 'csv_to_sorttable_data_array', 'csv_to_sorttable_fewer_rows' );