Hey! Sign in to get help with your study questionsNew here? Join for free to post

A new innovative way to learn computer programming?

Announcements Posted on
Four hours left to win £100 of Amazon vouchers!! Don't miss out! Take our short survey to enter 24-10-2016
    • Thread Starter

    A couple of months ago during a hackathon, me and couple of friends had this brilliant idea to gamify computer programming. It was simple but very powerful idea. I would like to share it with you on here to know your thoughts on this. We already had a lot of great feedback from our faculty and external companies, but there is also something more. I'm also writing this on here because we are currently trying to develop this "simple idea" which I will talk about in a minute, into a real product to teach people to learn how to program computers. Currently we are applying for funding from JISC and we need all the help we can get, so if you can please check out our page and if you really like it share it with your friend, it would mean a lot to us. (Scroll down for link)

    We are 3 computer science and 1 computer networks and security student with knowledge in various programming languages. With a very simple python example we were able to demonstrate our platform and what students would be able to learn from it. So for those of you expert programmers out there, this won't be anything new, but the process to learn to program a computer is generally quite long, we go down various pitfalls, and we learn from that, the worst part is keeping motivated to carry on learning. Sometimes it can be quite demotivating when we need to look at a particular problem for too long and it doesn't work. There are 3 types of errors programmers usually come across when writing code: compilation, run time or logic errors.

    For a beginner learning to program can be very overwhelming and it is important to keep their motivation level high, so they don't feel FORCED but rather they WANT to learn computer programming. So we decided to tackle this problem with some gamification techniques. Instead of presenting the user with tutorials, sample code, books, and asking them to write code, which may feel very alien when you begin, instead we take a different approach which can be resumed in 3 steps (if you don't understand the first time it's okay, I will also show an example of what I mean by each step):
    • Present a programming expression to the learner
    • Give the student an opportunity to guess what the outcome of the expression would be
    • When the student learns what the outcome of an expression should be, they are rewarded for their efforts
    Before the student begins writing code, they have to understand various concepts such as arithmetic, branches, lists, repetition, etc. So learners will begin by observing what code looks like and begin making assumption about what the outcome of the problem would be, and if they make many wrong assumptions they will be given simple hints, if they make correct assumption they will begin to learn building blocks to build larger applications. For example, what is the result of the following expression in Python?
    2 + 3 * 5 == ____
    Simply using common sense, anyone can deduct that we have to calculate this expression, now there could be two possible results here: 25 or 17, and this would be dependent on the programming language itself. But, if a person fails they won't be able to move to the next question, if they answer it correctly then they understand it and a next question will be shown. There are a few things that can be learnt from this example, when answered correctly:
    • How to do simple arithmetic in Python
    • Python uses infix notation (placement of operators between operands)
    • Python does order of precedence (therefore correct answer would be 17 and not 25)
    The follow up question could be of the same sort. Students will become more and more engaged because of the quick feedback loop, if they guess it correctly then it means they understand, if they don't then they will try until they learn it. There will be similar questions all the way to ensure they really understand it, and it wasn't just a lucky guess.

    Students when rewarded, become more productive and engaged, that's why me and my team have a fundamental belief that learning should be fun.

    Me and my team would really like to hear feedback from you and if you could please vote for us to develop this project it would mean a lot to us and to the students who would be able to use this platform. Use the link below to vote for us, thank you for reading <3


    Have you heard of SoloLearn? They have apps that do a fairly similar thing (I wrote the content for one of them).

    I think the main problem with this model of teaching programming is that students only learn how individual features of languages work, not how to put them together which is a major part of programming. It's not useless, but I think it is limited.

    Is this not code.org basically?
    if people find it hard to learn programming at the start then its better to quit because it gets only harder if all u can do is connect puzzle pieces.
    • Thread Starter

    Hi sweeneyrod and BadgerNeer1, I've been looking at both SoloLearn and Code.org, and they look similar to other platforms which me and my team have already looked at. One of the main differences between all these platforms and the ones we are currently working on, people don't have to any code, the purpose is too allow them to understand the fundamentals of a programming language and later to understand small programs. This obviously could be extended and we have got many ideas how to expand it in the future.

    To address BadgerNeer1 second point, I would like to make it clear that people won't only be able to connect puzzle pieces together. As mentioned previously we have various ideas for our platform, a prototype we have started working on was one where students would be able to have 1 vs 1 turn-based games where players would be required to actually formulate expressions themselves and to answer them in their turn. We have a lot of different ideas that we want to work on and we are all very excited to be working on this.

    We are still needing votes, so if you can please help us out it would be really awesome.

    i'm down for games. Add a leaderboard and a centralised server maybe for people to connect. Have fun with ur project man. I will definitely vote u up
    • Thread Starter

    (Original post by BadgerNeer1)
    i'm down for games. Add a leaderboard and a centralised server maybe for people to connect. Have fun with ur project man. I will definitely vote u up
    Thank you so much for voting for us

    Here is an interesting article my lecturer wrote as well for anyone interested:

Write a reply…


Submit reply


Thanks for posting! You just need to create an account in order to submit the post
  1. this can't be left blank
    that username has been taken, please choose another Forgotten your password?
  2. this can't be left blank
    this email is already registered. Forgotten your password?
  3. this can't be left blank

    6 characters or longer with both numbers and letters is safer

  4. this can't be left empty
    your full birthday is required
  1. Oops, you need to agree to our Ts&Cs to register
  2. Slide to join now Processing…

Updated: June 3, 2016
TSR Support Team

We have a brilliant team of more than 60 Support Team members looking after discussions on The Student Room, helping to make it a fun, safe and useful place to hang out.

What do you wear to bed?

The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.