Today is the last day of SIGCSE, and I will be attending several paper talks, and the much looked forward to keynote on visualisation.
One interesting talk I attended today was by Mike Richards from the Open University on his introductory programming course based on the idea of ubiquitous computing (http://dl.acm.org/citation.cfm?id=329126). As a distance university, there is an obvious challenge in supporting the programming laboratories that students need, but they have extended the arduino (http://www.arduino.cc/) platform to produce a laboratory kit that gets sent out to each student. They also use Scratch as the base programming platform (http://scratch.mit.edu/), with some extensions (better string handling, file I/O, sensor handling and network support) to produce their Sense/Senseboard “lab in a box”.
Scratch is a great utility for teaching computer programming – very simple, graphical interface for composing programming constructs. But this system is designed for children, so I was a little surprised at their choice – but it is very engaging, and fun. Alice (http://www.alice.org/) is often used as an alternative for older students.
We have used Scratch before for tech school events for High Schools in SA – these have worked very well for our students, although some of our older students were reluctant to engage with Scratch after a while, as they felt it was too young and immature for them. But – I am thinking that this is mostly because of the context of those particular examples. In the tech school events, we have focussed on game development, providing some guides to the creation of some simple, and well known games. Most of the students liked these, and had a lot of fun in development, but it was certainly more difficult to engage some of the more experienced students as we went further through the activities.
I like the use of more interesting contexts here to help engage students, the example here being a high tech home management system. Certainly something that has a lot of scope, is not too juvenile, and can make good use of the sensors on the arduino board. Mike gave lots of other examples as well: live opinion polling, seismograph, games, heat and motion detection.
(More info: http://oro.open.ac.uk/26806/2/nordichi2010.pdf, http://labspace.open.ac.uk/mod/oucontent/view.php?id=439796&direct=1)
This was followed by a talk by some people from California Polytechnic State University on providing multiple context streams within an introductory programming course. There has been a lot of interest in developing game courses in CS – which are always a lot of fun, and very successful for self-selecting students. Students who like games love these courses, but what about students who don’t?
In this course, they provide multiple contexts, including mobile computing, robotics, games, computer art, and music, hoping to attract and engage students by providing a wide range of attractive tracks. But they also wanted to focus on providing an environment that targets some of the non-academic factors that impact retention. I’ll have to read the report that they cite as a good overview of this area: The role of Academic and non-Academic Factors in Improving College Retention (http://www.act.org/research/policymakers/pdf/college_retention.pdf).
The final paper in this session described an engagement approach that involved discussing current news articles relevant to CS within class sessions. The idea is to help students see how what they are doing will relate to the real world, and that Computer Science is all around us.
This reminds me of something that has been introduced in our final first year course, where a 5 minute segment of “something interesting” has been included into the lecture structure. These lectures have a very specific structure: 20 minutes for a teaching/learning activity (perhaps lecture, perhaps group work/discussion, etc), followed by the 5 minute break, and then followed by another teaching/learning activity. I don’t know whether Nick has talked about this in his blog (http://nickfalkner.wordpress.com/), but it’s a nice structure that helps the students focus their attention during class. But back to the 5 minutes – the idea here is to talk about something interesting, perhaps a historical item, or perhaps a current news item, that might be directly related to computing or might be associated with critical thinking or problem solving. The aim, as I understand it, is to help our students think about their world, to develop their critical thinking skills, to engage in discussion and debate, and to get a feeling for how what they will do as professionals matters. One nice aspect of this approach, particularly for first year students, is that it treats the students as if their opinions matter (which, of course, they do – but they rarely get asked) – building confidence, through discussion and debate, and developing respect for themselves and their peers, is a crucial factor in retention and success as a student.