FutureLearn MOOC – achievements

posted by Karsten

I am the Academic lead of the MOOC “Begin programming: Build your first mobile game”. Through this course thousands of beginners get a glimpse of what programming is, and some of them even start programming more seriously.

Too many to list have thanked the team, and mentioned what fantastic an opportunity it has been for them. Here are what 3 of the participants have achieved after the course:

  • One participant mailed me thanking me, because he is now working in the app making business, because of what he has been able to learn on this course.
  • Shaun has published a blockout clone Brix n Blox.
  • Zain has published Bounce Ball
  • Janeen has published Space Pong

When programming the developer design new “worlds”. So the opportunities are endless. Below you can see screenshots of

Brix n Blox:



Bouncy Ball:

2014-04-04 16.01.31


Space Pong:



iOS app

posted by Karsten

Frinds of me on facebook will undoubtedly have noticed that I have been working on a Mac computer for some time. (I have had quite a few outcries/rants/trolling outbursts of that particular platform’s lack of user-friendliness.)

One of the things I have been working on is an iOS version of my Rune Escape game. Proudly I can announce that it is now a reality on the App Store. Apple approved it sometime this night, and you can now download it here.


2013 – What a Year!

posted by Karsten

I am taking a few (well-deserved) days off, so it seems that it is my last day in the office this year!

Therefore it is a natural time for reflection, especially as my computer is busy transcoding videos for my Java course.

This year has been a very fast year for me. I have heard that the older we get the faster they become, and I suppose that it is only natural, given the total sum of experience grows while the experience of a year approximate to a constant. However if this year is a gauge for the future, it does not bode well. Don’t get me wrong, I have loved every minute (hmn, perhaps not the marking over the summer) of my working life, and it has been an extremely interesting year. Why is that? Well here are some reasons:

  • I started in the new position as Lecturer in January. The transition was relatively easy, I have after all worked here some years, but in addition to my normal work this means that on top of the teaching and research I do at the University, I also am working on improving the undergraduate international student intake. This is a very difficult area to work in these days. Our government is not exactly making this easier with changes to visa and other obstacles to prospective students. I have been asked to look at this in news ways and do stuff that is different from what has been done up until now! I love that, and it is giving me a lot of scope to develop my own ideas within this area.
  • In the beginning of the year our VC made the decision that UoR should join FutureLearn.com. At first this should not really impact my life. But due to luck and well-connectedness my was approached and asked if I wanted to create a course based on my Android tutorial found here on my blog. I in turn had a better idea. I thought why not change that to create a beginners course in programming where the students would end up having created a simple Android game. The idea was well received, and suddenly I found myself being extremely busy – the course was indeed selected as the 4th course to ever run on the FutureLearn platform. Between you and me – I had hoped it would run sometime further out in the future. But this was my opportunity, and the summer was spent developing the course from scratch – together with my good colleagues Shirley Williams, Tharindu Liyanagunawardena and Luke Micallef. We had fun doing this, and we have learned a lot from the experience, oh, and it means that I can take a few days off here around Christmas 😉
  • Before all of this I had decided to “Flip” my Java course. I.e. substitute lectures with videos and put more emphasis on practicals. I also made all of the videos for the Autumn term in the summer, and I have just finished the Spring term’s videos (with a cold – those videos have a lot of coughing and funny sounds).
  • We ran the FutureLearn course over 7 weeks in the Autumn. I was certainly not alone in this. Tharindu was a great help. She was full time on this, and really good at pointing me to “difficult” cases and problems. (I was designated to the unusual problems, and what can best be described as difficult situations). We had also employed 7 of our students. They were fantastic! If they ever need a reference, I will give them really good ones. Shirley was also supporting the course directly. Professors could probably have been staying away from direct contact I suppose, but I think this was way too fun for her to keep away from. We learn a lot through out the course, but especially in the first week. We knew it would be a difficult week for the participants. The team was great in tackling problems, and I believe we know pretty much all the problems developers can run into when installing the Android development tools. We have just had a meeting about the first week, and what should be changed in the content, and I think we will have an improved course, even though we also know it will be impossible to make all participants happy…
  • The FutureLearn course has given me opportunities to be interview in the press. I have been on BBC South News, ITV Meridian News. I was interviewed by Tony Blackburn on BBC Berkshire. I was in Professional Engineering, and several news paper articles.
  • I have also travelled. 10 days to India to recruit students. It was a great experience with a lot of excellent Indian food! I did get to connect to a lot of interesting people over there, and I really hope that I’ll meet some of them in the UK!
  • Before getting my new position I still had to find funding to sustain my old position. Luckily I had managed to do that through the EU funded I-TUTOR project. However we could not find any one to take over this position. It is rather difficult to find someone with experience in eLearning research who also knows about AI and data mining.  So on top of becoming the Principal Investigator  I had to do all the coding on top of my new position. This meant evening and Sunday work. I am happy that the project has reached all its targets. It has been a fruitful collaboration and really interesting. I hope I somehow will be able to continue in EU funded projects, although travelling to Bari, Italy, just before going to India is not a thing I will miss in the future.
  • I have also been engaged in an internally funded project, where we create mobile apps to register biodiversity on the University campus. I work on this with colleagues from Agriculture, Biology and Geography.
  • I was in a team that won the University Award for outstanding contributions to teaching and learning.
  • General teaching has been great fun as usual. I still enjoy teaching my courses – Java, Human Computer Interfacing and Evolutionary Computing.

My on-the-side consultancy has had limited access to my concentration! I have created a new version of the AWR app with integrated play facilities (it is a radio that pays the bill, so seems rather important), and I have only developed one new game. Path of Dragons. It is a really fun game, which ought to be further developed. I have coded up AI players, I just need to test them properly. I hope to do that soon, even if I have said that all of the Summer and Autumn. I have invested in a Mac development stack, and it would also be really good to get some apps finished on that platform!

With this, I think it is time to turn off the screens here at UoR. I hope next year will be just as interesting, if not with a little more time to breath 🙂

Merry Christmas!


India trip

posted by Karsten

One of my responsibilities at the University of Reading is to connect with potential international undergraduate students for the School of Systems Engineering. This year we’ll try a direct approach where I travel to India with a representative from the University’s International Office. In the period 21/11 – 01/12 we’ll be travelling to Chennai, Bangalore, Mumbai and New Delhi. Here we’ll meet up with agents and students alike. If you are in India, and would like to meet and talk to me about the University and our engineering and computer science degrees then you have the opportunity to go to one of the British Council’s Educational Fairs. Mail me kolundqvist at readingacukto get details of when and where.


Running a MOOC – day 3

posted by Karsten

The last two days have been REALLY busy. On Monday the course started. And since then there have been many eager students on the course.

The first week is all about setting up a development environment. It is not as easy as it sounds like! We have had many who have just sailed through the exercise, but also many with problems. Our team of helpers have been EXCELLENT! It is also really encouraging to see participants helping out other participants – this has also happened a lot – THANKS!

What have I learned?

  • Our students at Reading are excellently prepared to support learners! We have 7 of them helping, and they are really amazing…
  • I know now that having a free schedule the first couple of days is a must – I didn’t! I should! One participant actually asked me when I sleep, I answered (with a grin) never… 😉
  • We found a few mistakes in the material. Nothing big, but minor things got ironed out – It is a beta run after all.
  • I need to create a small step-by-step instruction for the future about how you set up the game frame work.
  • The permutations of errors from setting up Java with Eclipse Android SDK are many. We knew many – I think we now know them all!
  • How much fun it is to run these MOOCs!



FutureLearn and me

posted by Karsten

Yes – we have done it!

Over the summer I have been working on the online course “Begin Programming: build you first mobile game that will run on FutureLearn. We (the team here at UoR) have finally finished creating the course. So, we will soon have real testers in to try it, and then 28/10/2013 we go live!

You can see the trailer here:

The course is already over subscribed, so we will run it again early in the new year. It is truly a very interesting time for me/us!



posted by Karsten

Thought I should say something about the recent patent cases:

The patent system is broken, especially the US software patents. A system created to protect investments in innovation has turned upside down and become its adversary.

When US patents are granted for:

  • “Touching a Touch Screen” (Apple, self-evident what you should use it for)
  •  “Accessing a Server from a mobile” (Yahoo!, any computer driven device can do this)
  •  “Clicking a button to view a result” (Blackboard, duh – I expect something to happen)
Then they are merely granted to protect market shares and not for innovative value generation.Add to this that they often are evaluated and judged by juries selected specifically so they have NO technical, software or market knowledge, then the evaluation becomes stupidified!

I have spoken against patents when; Apple was attacked, MS was attacked, Google was attacked, and I will speak against them now.

We, the consumers, have all lost out over the last week!

Or, should I say the US consumers, as most of the patents in question are void in the rest of the world, but it will impact us by proxy…


My life with Virgin Media and their “Customer Service”

posted by Karsten

About a month ago I started experiencing an intermittent connection problem with my Sky Broadband connection. It would slow down to almost no connection at all, and sometimes disappear all together!   I often work from home, I develop Mobile phone apps as well, I am a computer scientist – so – this is unacceptable to me. I called Sky, they sent BT, and they couldn’t fix it after 2 weeks of trying.

Now out in the ground outside my house I have a Virgin Media cable, and I thought to myself that it was worth a try to get that set up. After all 100Mb/sec sounds like Internet heaven to me, so I ordered it Thursday the 28th of June, and was impressed with the service I received in setting up my account, and even more impressed with the speed at which they could get a man to my house, it was scheduled to the 2nd of July.

The installation guy came as promised to my door, and after an inspection established that a two man team was needed, as there apparently was no connection into my home. He called up his supervisor and was told that a two man team would come later in the afternoon. I was even more impressed at this point – however this was the highest point it ever got to, as it drastically went down from here on!

No one turned up that day. At work the next day I decided to call the “Customer Service” to find out what had happened. This is a close-to-real-enough transcript of the conversation:

Automated Lady voice: Enter your account number
Me: (I did) #########
Indian male voice (IMV): Hallo Sir, what is you account number
Me: I already gave it
IMV: Sorry, but I need it again
Me: Here you are #########
IMV: Was it #########
Me: Yes
IMV: Are you sure you are a customer?
Me: Yes, otherwise the installation guy probably wouldn’t come to my house yesterday…
IMV: And your address is?

I give it, and following a difficult time conveying my name to him, he finally decides to transfer me to his “supervisor”. After some wait he connects. He is a Male English Voice on a much better phone connection (MEV).

MEV: Hallo Sir, what is your account number?
Me: I already gave it twice…
MEV: I know. It can be frustrating. But I do need it again for digital privacy reasons…
Me: (Almost not resisting the temptation to call the error in that argument!) #########.
MEV: And you name, address, and password
Me: Give the information
MEV: I can see that the installer turned up yesterday
Me: I know
MEV: And a two man team will come today to your house.
Me: Really!! Do I need to be there? Why didn’t anybody call me, I gave all my phone numbers…
MEV: Yes, you ought to be there (and politely excuse that I weren’t told)
Me: Drives home from work in a hurry after just arriving…


Now I could understand this if they turned up. But they didn’t, so I called up “Customer Service” again shortly after 6PM the 3rd of June, and this is roughly what happened:

IndianGuy: Tells me I am not a customer
Me: Try and convince him I am
IndianGuy:  Tells me I need to talk to sales, and transfer me
SalesGuy: Tells me I am a customer and that they will come on the 12th with a two man team. (A help person all in all)
Me: Asks if he can tell me why I was told that someone would come today, and why I was told I wasn’t a customer.
SalesGuy: Excuses the situation, doesn’t have any answers, so switch me over to “Customer Service” as they should have the answer to that
IndianGirl: Tells me I am not a customer
Me: I try and convince her
IndianGirl: Tells me that no installation is booked
Me: I tell her that the sales department just told me that there was on the 12th
IndianGirl: She talks to sales, and after that tells me that there indeed is, and that I had given her an old account number to begin with
Me: I ask her to give me the correct one
IndianGirl: Tells me she can’t over the phone
Me: I tell that I already received my number by mail and read it to her
IndianGirl: Tells me that is the correct new number, and claims that I didn’t give her it at the start
Me: Frown, and say I don’t have any other numbers, so couldn’t possibly have given her an old number
IndianGirl: Doesn’t say anything to that, and decides to ensure me that the two man installation team will come on the 12th.

So today is the 12th of July, and the two man team should come, but, only an hour ago a one man team turned up. I told him I expected two people. He excused himself, and went around the house and could confirm that it is a two man job. He called up management, and they told him that they would send a team later today.

Have I been here before?!

I really do hope they turn up today, and that I don’t have to call the dreaded “Customer Service”…

BTW – as a Computer Scientist with a PhD in Knowledge Representation – I might be tempter to offer my consultancy expertise to Virgin Media. There must be something wrong with redundant data and the internal methods when something isn’t a normal case!

— Update —

The managers came by, and they were really friendly and apologetic about the situation. They could verify that a two man job was needed, but the only thing they could do was to reschedule the job to the 24th of July. A “bit” annoying, but at least they did turn up this time.

The Saga will continue…

— Update 22-07-2012 —

A Virgin representative calls me up on a Sunday to tell me that the two man job has been delayed until the 26th, and reassure me that I will have the service that day.

— Update 26-07-2012 —

50% of a two man team turns up. The guy informs me that this is a two man team, and that he cannot do this on his own.

I start – forcefully – to tell him the history of this “odyssey” . He calls up his manager, and he angrily tells the manager off for sending him alone. After this he re-investigate the situation, and decides to do it on his own. It takes him 4 hours (it was scheduled to take less than an hour), and he manage to install it!

He was awesome, and I cannot praise his work enough…



posted by Karsten

In 1998 I bought Grand Prix Legends

I’ve played it ever since. Today I won the Nüremberg 1967 race! Proudly I can proclaim that I have now won all races available as standard in the game. An achievement not shared by many!

Had I done it in real cars, I would have died about a 1000 times, and I pay homage to the (stupid) men who raced these things for real. Many of them with lethal endings…



Reflection on Teaching C++ to Novice Students

posted by Karsten

I have just finished 5 weeks of teaching C++ to the first year students at University of Reading. My impression is that my personal effort went well, for instance the students actually clapped when I finished my last lecture today – something that came as a complete surprise to me! Although a very nice surprise…

Having said that I believe that C/C++ isn’t the right language choice to teach programming to novice programmers. In a session a few weeks ago, where I gave feedback to them in the form of an interactive “Post-it coloured stickers show me what you think” session, it was brought to my attention that more “basic” programming construct such as pointers and arrays were still a struggle. I actually had to create a fast re-cap session on pointers to somehow hammer this concept into them. The questions I started to get were much more satisfying after this session. The problem is that what is the chance of learning function overloading, method de-referencing or multiple inheritance, if you don’t get how the arrays and pointers interact in the examples you see, as a struggling student, within the lecture notes? You probably go blind by these concepts before you even start thinking about inheritance at all!

Don’t get me wrong. Object Orientation is a crucial concept for aspiring Computer Scientists and programmers to understand, but the combination of C and then OOP in the form of C++ does not help teaching this. I believe that taking a OOP language such as Python, Java, C# or even VB would enable a much cleaner learning path into OOP whilst showing the concepts of programming. Once you understand these within the framework of OOP, you don’t really need to be taught imperative programming, because you would understand it quite easily!

Unfortunately I am not the person deciding this. I have voiced my opinion appropriately many times. I have had an interesting time teaching C++, wouldn’t mind doing it again, as most students clearly have moved far on the learning curve of programming – I just think it could be done more effectively…