Will I ever blog here properly again.

Yes I will blog here again, particularly when I talk about Android Dev, Game Project Dev, and programming of video games and robots.  But for the time being; check out my latest #AltDevBlogADay posting.

 

Advertisements

Computing in the UK – it is more exciting than ever

After reading Eric Schmidt’s criticism of computing education in the UK, there is now a wave of enthusiasm to remind people that the UK is a exciting place to learn how the technology of our present really works.

Here are a few links which you need to read if you too are interesting in UK Computer (video games and robots!)

Google’s Eric Schmidt criticises education in the UK

I haven’t posted for a while.  I’ve been busy on a new project but I thought this article too important to avoid posting.

http://www.bbc.co.uk/news/uk-14683133

 Schmidt said the country that invented the computer was “throwing away your great computer heritage” by failing to teach programming in schools. “I was flabbergasted to learn that today computer science isn’t even taught as standard in UK schools,” he said. “Your IT curriculum focuses on teaching how to use software, but gives no insight into how it’s made.”

Here is the full lecture:

http://live.mgeitf.co.uk/eventVideos/1130968839001

His comments about education are about 43 minutes into it.

Computing At School Hub leaders conference

http://casleaders.eventbrite.com/

I attended a TeachMeet tonight as part of the Computing At School workgroup. Simon H telephoned me earlier in the day hoping I’d be able to do a little presentation to the delegates about the industry perspective. I was very busy all day so I managed to put a few thoughts into a coherent set in the car on the way to the Digital Lab at the University of Warwick. I arrived at 7.15pm after leaving work at 6.30pm, getting home, having my tea and then driving to the event. It was a very interesting meeting and I was surprised to see the video conferencing that they had using “FlashMeet”. So what did I talk about and what did I learn?

Well the people were computer science educationalists ranging from KS3 teachers to H.E. Lecturers. Representatives from the BCS (bcs.org.uk) were there along with some from VITAL (vital.ac.uk) I talked briefly about my industry and with an emphasis on how video games are driven by programmers. Although major games involve art, animation, video production,design, script writing, music & sound production, they are all tied together and delivered in this unique form by the work of the programmers. The industry was invented by programmers who initially did everything but now these roles have split into their disciplines. To underline this the video games industry generates more revenue than the film and TV industry put together and is (should be) a very high profile industry for our government.

So why is this very successful industry and in particular, myself, so keen to work with school children? As I’ve said in this blog before, when I interview potential new programmers, I discover that many of them have been taught the wrong stuff. Blitz Games Studios has noticed this trend increasing over many years and has been liaising with Universities to create and improve their courses. For the record, many games development and games technology courses are still not teaching the right stuff. If you want to write computer games software, take a software engineering course that has a high mathematics, AI, operating systems, or computer graphics aspect. These are essential skills, and make sure it teaches C++.

Another worrying aspect of the candidates is that so many of them only had their first experience of computer programming at university. They’d taken the computer science course pretty much blind to the subject. I don’t know what motivates them to make this choice and I’ve even known some who was choosing between psychology or computer science and opted for computers. This seems a wild choice.

I did some research, to see why they were, in my opinion, leaving it so late to experience the joy of computer programming. As part of that research I discovered that the BCS had recorded that there was shocking decline in the number of applicants to computer science courses. However there was an increase in the applicants to softer science subjects (games development studies for instance!) When looking at A-Levels Computing, I discovered that this was a course in decline too. The course itself looks good for bringing a student up to the level I’d expect them to be at for entry into a Computer Science degree. For anyone to take Computer Science without this, they would (or should) find it a big struggle. Either that or their course was not going to be good enough for them to get a job at the end of it.

I also looked at ICT which is the standard computer related course at GCSE and A-Levels. This is not a computer studies replacement as I think most industrialists (and parents) think it is. It is a very valuable course but one which is designed to teach pupils about how computers can be used in all aspects of their life and work. Spreadsheet usage, building presentations, writing documents, sending emails, converting videos, creating a website, and so on. It is not programming!

So where do I go from here? This brings me back to why I was at the Computing At Schools workgroup meeting. I want to put programming back into the school agenda. I’d like to ensure those children are given the opportunity to be inspired and become enthusiastic about writing programs. Whether that be for Robots or Video Games (or anything else; iPhone or Android apps). These skills will improve the workforce in the UK and it is something at which we are a world leader but not for much longer.

And now my attempt at being profound:

I wish I could have stay for more of the weekend and explored Alice, Greenfoot, Scratch and so on. These are great bits of software for inspiring and kick starting learning about programming. However, this is not where it ends. The ability to drag objects into a scene, stick on a few actions and see it do something is programming but it is not software engineering, or Programming with a capital P. I expressed at the meeting that the use of Python, Java, Flash, or whatever is in the beginning, great. However, the software written should be vibrant, different and push the idea that is being demonstrated. I think so much emphasis is on congratulating a student for ‘writing a program’ and this is not enough. It is like the art teacher congratulating a student on ‘using a brush.’ It is the final piece using the media that is going get that artist some recognition. The programming language C++ is the tool of a video games programmer. Scratch and Alice are the tools of a teacher. However, both of these tools can be used to create something great but in both cases it is not going to be easy.

So if you are a teacher reading this, consider how much of you approach to using software and course material in the class is “here is a pen, look, it makes lines on the paper”, and how much of it is “here is a pen, with a lot of HARD work you can learn to write a great novel.”

gamebasedlearning 2010 (David Braben’s Talk)

http://www.gamebasedlearning2010.com/video/905-video/234-david-braben-founder-and-chairman-frontier

David talks about the state of education for information technology.

I’m sure he’s been reading into my mind; or I’ve been subconsciously reading his!

And he’s talking about Arduino!!

Blender.org

I just remembered all about Blender.org.  I played with it a few years ago and was impressed then.  The open movies that have been made using it are great.  I remember it have a game dev. engine built into it too with Python.  Since I’m working on using Python for teaching programming, I wonder if I should suggest using Blender and Python as a ‘neato’ way to make game demos?
Hmm.. More investigation needed.

Engines for Student Game Development

A personal perspective regarding what game engine is best for getting you an interview at a games company.

Generally I don’t mind what engine the students use although something that shows extended development knowledge into the current generation of games consoles is important.  That is, something that is written in C/C++ and requires understanding of C++.

One of the problems I’ve faced is how similar demo’s look when they are sent to us using something like OGRE.  The engine often does a lot of the work so it isn’t that impressive as it used to be to see a 1st or 3rd person shooter or RPG.  Candidates shouldn’t fall into the trap of sending something that was easy to make but “looks” like a lot of work.  This also goes for students that use Unreal (or similar) to show off their game design abilities.  Although this is an great skill, it is not a key element that I’m looking for in programming graduates.

A very good understanding of maths keeps recurring as a theme when I’m interviewing.  So using an engine to show how data can be manipulated in game-centric ways is impressive.  So, for example; flocking algorithms, path-finding, multi-processing, network-play, 3D geometry manipulation (vertex/pixel shaders), vision & audio processing (FFT), animation and AI state machines and so on*.   It is unfortunate that many of the graduates I see don’t appear to have pushed themselves very far beyond simply understanding code syntax and the engine’s library calls.

Interestingly; this just popped into my RSS feed:

http://www.wired.co.uk/wired-magazine/archive/2010/01/features/rebooting-britain-teach-kids-to-see-in-four-dimensions.aspx

Hope this helps.

 

* I think a good list of the game-play techniques that game companies use regularly could be given to the students.  They could then pick one or more that they are motivated by and follow this in more depth.  Don’t simply think of a game idea and try to make it!

%d bloggers like this: