Teaching Programming Using Arduino

As a PhD student I seem to spend substantial amounts of time teaching, marking or writing worksheets and practicals. Although I should probably be spending this time writing my thesis or doing other research work, teaching is something I’ve always enjoyed.

This year at Aberystwyth we completely reorganised our first year. One of the big changes was to move from Java to Arduino (C / C++) as the language used in our introductory programming module. Now there are many arguments about the positives / negatives of teaching programming via object orientation, which I won’t go into. Personally, I think it was a good move. For people that have never programmed, OO concepts seem to get in the way of learning basic syntax and getting to grips with the sort of logical thinking required when programming. For all the people that agree with that sentiment, I’m sure plenty of people would tell me I was completely wrong. Anyway, the changes were made and we’ve almost made it to the end of the semester.

The module is split into two parts. The first part consisted of 5 intensive weeks of  lectures and one, two hour practical per week. In the second half, students are split into 4 groups based on degree scheme. Each group then has a further 5 weeks of practicals, the amount increased to 5 hours per week, and a reduced lecture load. Each student is given an Arduino Uno (and USB cable)  and a different shield that matches their degree scheme. There are robotics shields, networking shields, vision / games shields and a generic computer science shield.

Students seem to have enjoyed the new module and have made fantastic progress. The popularity of the Arduino platform has meant that many students have come up with their own projects in their spare time. One danger of using the Arduino platform is that we needed to be careful to not replace the OO concepts of Java with low-level complexities of working with microcontrollers. I feel like we’ve walked the fine line quite well.

I’ve been fairly involved with the module, doing quite a lot of demonstrating, and noticed that a few students were feeling a bit left behind. Something that seems to be quite popular at the moment are tutorial videos, so I thought I would give it a shot. I recorded myself working through a number of worksheets (non-assessed ones). Each video is around 30-40 minutes long and consists of me live programming through the worksheet and describing what I’m doing and why. The response has been fairly good, with several of the videos getting 100+ views so I may try to continue this in the future.

For anyone interested the link to the playlist is here: Youtube.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: