Students Find Learning Programming Challenging
One of my observations, which will be of little surprise to anyone involved with teaching students to program, is that many people find programming difficult. This is a concern, as programming is core to many jobs that are open to Computing graduates, and even where jobs where programming is not a core aspect, assume that students have some understanding of it.
Although my direct teaching class contact has reduced substantially as I’ve taken on other managerial roles, I’ve been working on areas to help motivate students to be interested in programming and for them to put the time in required to become proficient at programming. I’ve been encouraging students to attend hackathon competitions and I’ve been supporting their attendance at hackathons. There are several presentations on this area in progress, but briefly, this has helped students to work on real-world examples, gain intensive programming practice time and to develop their team participation skills. I’ve also worked with Codio, who provide an online platform for learning programming within a web browser and my colleagues at Coventry University are trialing the use of Codio within their first year programming modules to make this subject more accessible to students.
Using Gamification To Support The Teaching Of Programming
The idea of using gamification to encourage progress and participation has been around for a long time, although the exact origins of the term are debated. The term gamification itself does not appear to have made it into popular use until 2010, when it was mostly associated with adding reward aspects to games in order to encourage players to continue with them (and ultimately to spend more money with the company in question).
The more widespread and current use of the gamification term relates to applying similar techniques to those that would be used to design successful games to other aspects of life. A simple example relates to the online question and answer site Quora, where answers given can receive Upvotes, a form of community recognition, as well as badges for areas such as the Most Viewed Writer in different categories. These gamification aspects encourage those people answering questions to return to the site and subsequently help to generate fresh written content for Quora. I provide answers to areas I’m familiar with on Quora when the opportunity allows. You can check out my Quora profile here.
As I’ve identified, there are challenges with getting students to engage with learning programming. It’s here where I think that gamification can encourage students to participate more with active programming learning and ideally to collaborate with their peers during that process.
For instance, it would be simple to set programming challenges for students to work through and receive badges, or ranking positions within a leaderboard. It should also be possible to involve students in generating challenges and trying to encourage that the gamified elements are at the correct academic level. Some of the larger programming sites, where people self-teach themselves to develop software, have already started to include elements of gamification. There have also been several academic studies, although many classed as gamification look much more at adding an overarching theme to modules to make them seen more game like. There is certainly potential for more work in this area
Our Plans For The Further Development Of eduLevel And How You Can Help
I was impressed by the winning entry at the BCUHack hackathon, a 24-hour hackathon that I arranged for students. Here, the students came up with an innovative idea, whereby they allowed Python programming evaluation questions to be submitted to a database and processed using a Twitter hashtag. Other people could then connect to a site automatically generated through the user submitted questions and try and work out the correct answers, for which they received a score. The system was unique, in that only the questions needed supplying and not the valid answers. The user interaction therefore indicated elements of gamification.
The system, known as eduLevel, has been subsequently developed through hackathons and other activities into a more complete solution. Working with the team of students, Daniel Pacheco, Jacques Ryan, Michael Senior and Alex Wiley, we intend to use the core idea from BCUHack, the user-generated content and automated assessing of solutions, to create a robust prototype to make learning programming fun. Because eduLevel is web-based, this can be used by students of all ages, although the team has current links with Coventry University and Birmingham City University to more formally trial eduLevel within the classroom. Integrated learner analytics will also make eduLevel useful to the staff who are tracking and supporting student progress.
There are several ways that we can drive the development of eduLevel forward, but we have entered eduLevel into the JISC Supporting Technology Startup Projects competition.
The JISC competition provides a platform to allow eduLevel to gain entrepreneurial support and to reach a larger audience, where this style of additional programming help for students is desperately needed.
In order to progress through the stages of the competition and to gain funding, eduLevel does need to receive votes. It is a quick process, just enter a vote and verify this through email.
You can vote here:
We’d also welcome any comments about the future development of eduLevel, any ideas and any offers of support. I have been constantly trying to demonstrate to computing students that enterprise is a valid option for them and that hackathons are a valid to route to professional and useful employment, and I hope that the eduLevel case study can be seen as a positive step in that direction.