I haven't blogged too much about my studies, but some of you might know that I'm graduating from the Norwegian University of Technology and Science with a bachelors degree in Informatics this summer. I think the coolest course I've taken through out the three years at the university is the "microcontroller system design" course. The course is all about embedded hardware and building software for devices. The course is really practical, so you get's lots of hands on assignments.
We're using the STK1000 development kit from the Trondheim based chip manufacture Atmel to learn microcontroller programming. This Friday Håvard Sørbø and Daugur Johanssonn and I delivered our third assignment in the course. It's a PONG clone running on the STK1000. The task was to install a custom Linux distribution on the device, write a kernel driver to handle buttons and lights, and to implement the PONG game. Håvard did the kernel driver for the LEDs and buttons and lights, Dagur did most of the game engine, while I did the graphics and some pair programming with Dagur on the actual game. The entire project is written in C. To make the game more fun we decided to base the theme of the game on Super Mario Brus on the NES.
I found this course really interesting since it's so far away from my everyday job as a .NET developer, working in such an high level of abstraction. On this course you get a chance to do really low level stuff, like writing C and assembly to the device, not depending on an operating system. You get to draw on the screen, one pixel at the time, and not depend on some pre-built graphics library. In all the course has been a great learning experience. I've included a YouTube video showing off the gameplay.