Friday 25 May 2012

New prototype and playing with quartiles and outliers in STEP UP!

"subliminal" advertisement - REMEMBER: We organize LAK'13, are you ready for your submission? Do you have any good, amazing and original idea? Come on! Let's do it! ;) - the "subliminal" advertisement is finished- yes... I know... I don't really understand the concept of subliminal :)

As I already presented at the end of my presentation at LAK'12, we are trying to simplify STEP UP!.

First, we did an small prototype. You already know our iteration process methodology, aren't you? Otherwise, read one of our papers! ;)



 We didn't evaluate this prototype because I had a PhD meeting with Katrien and Erik, and during the discussion came up the idea of developing it for mobile devices. So then, I moved the code to JQuery mobile, giving us the following result:

What did we change from one prototype to other?

Basically, both follow the same concept except for the colors. In the first prototype, we used:
  • red: Bad student!
  • yellow: Careful! Maybe you should work more, shouldn't you?
  • green: Good boy/girl! Good student!
But we realized that we can not say that from the activity of a social network, at least, with the analysis that we do. We try to encourage students to reflect on their data, we do not intend to say: "You are a good/bad student". So we decided to give different meaning to the colors:
  • blue: cold activity. Dude! Your activity is lower than your peers. Up to you! Maybe you don't need anything from the community, but maybe the community need something from you. We are also learning how we can become good open learning students. Share your learning and knowledge for free and you will receive something back... not sure why, when and how but do it and you will see that!
  • green: you are in the average activity... you are participating as most of your peers. It does not mean that your contributions are good, but you have at least the habit to contribute to the community, and it is also part of the process.
  • red: "You are in the hot zone". What is going on with you? Are you a social network addicted? Are you addicted to study? Go to the real life and enjoy a beer with your peers! Just kidding.. for sure... this is not the message that we want to send to the students, on the other hand, it is quite similar... the student is participating over the average activity. Is it really necessary? If others are not so active, why are you so actively contributing? Reflect on that! If you really need it, do it! But it's important to be aware of this aspect.
Is the prototype already plugged to real data?

Yes! It is! We have already started to play with student data. For instance, the screenshot above contains real data of this week. We have already finished the lectures of the course so this week there is no so many activity.

Once that we had the prototype, we had to decide what would be the criteria to translate data activity to a percentage to fill the bar. First, we thought in the arithmetic mean, we implement it. But we were not totally convinced... why? How do you detect outliers?

So we decided to go for the concept of box plots calculating quartiles and outliers. We found a really easy way to calculate quartiles that made our work easier. And how can we calculate the outliers? Also it's very simple.

  • IQR = Q3 - Q1
  • Up Outliers > Q3 + 1.5*IQR
  • Down Outliers < Q1 - 1.5*IQR
 All the students with an activity between Q3 and Q1 have filled their bar with color and the percentage is between 25% and 75%.

Students with an activity bellow Q1 go from 0 to 25% (and blue color) and above Q3 (and red color), from 75 to 100%. Outliers are assigned respectively to 0% and 100%.

What do you think? Does it make sense? If you have better idea, don't hesitate to share it with us!
  

2 comments:

  1. Mmmm... How do you calculate Q3 and Q1?

    In any case, nice to see the next version: where can we access it?

    ReplyDelete
  2. You have an array with all the students values. You sort it and then:

    Array values;
    Q1 = values[values.length*0.25];
    Q3 = values[values.length*0.25];

    The access to the prototype is in the development instance:

    http://ariadne.cs.kuleuven.be/stepup-dev/indexm.html

    ReplyDelete