Khan academy gamifies computer science
From game design elements to gamefulness: defining "gamification"