Five things that made my first-year programming course better.
Posted: January 8, 2012 Filed under: Uncategorized | Tags: education, higher education, teaching, teaching approaches Leave a commentWe’re always looking for ways to make our teaching better – more effective, more engaging and the kind of class that students fight to be in. I recently got the chance to write a new first-year course from scratch and, based on my previous experience, there were five things I did that, from early results, appear to have made a positive difference. Caveats: As always, there’s always the risk that any change will bring about an improvement or that this is cohort variation or many other factors. I’m basing this list on the intersection of things that I did and the things that my students thought made a difference.
- Modern, appealing design of all course materials. The course materials had the same look and feel, based on a modern design template that used simple typefaces (Helvetica Neue and Courier New) with a straightforward colour scheme. When the lecture approach changed, as we’ll discuss shortly, there were strong cues in the material to indicate that we were in a different mode. My students are surrounded by good design all day, every day: advertising, games, magazines, TV, films, … If the most boring, listless and dull thing they see all day is my visual aids, there will be an association.
- Lectures had two sections of content, one more lecture-y, one more tutorial, with a five minute break in the middle where we discussed topics of interest from outside the classroom. Every lecture hour contained coursework material, the chance t practice it and the opportunity to see how it all fitted into a bigger picture. Students were very positive in their support of the five-minute ‘distraction’ and it also provided an excellent transition point from ‘lecturing with participation’ to ‘student-focused peer-level activity with lecturer overview’.
- Giving the students their own ‘interesting things’ space on the electronic forums. We had standard information fora, student questions and a couple of others where students could just chat about things. Participation in the ‘offside’ forums was optional although all students were enrolled at the start. It is some 3 months since the last class and there is still occasional traffic on the interesting things fora. It kept the main lines of communication clear but allowed, in much the same way as the five-minute diversion, space for expansion and thought.
- We increased the difficulty of the practical work, once we had confirmed basic skills and provided practice in the skills required to approach the harder programming work. After several weeks of small ‘1 week’ scale C++ programming exercises, we dropped a deliberately loosely-spec’d problem onto the students that required them to carry out a proper design, plan their testing and write their code efficiently, over a two week timeframe. Before this we had rewarded design with a few marks and also had the in-class demonstrators discuss and encourage testing, as well as presenting it in lectures. Student feedback on this prac was very positive – challenging but highly rewarding. The code standard of the class jumped up after this. Also, students who had wondered why had been preaching design for such ‘simple’ problems indicated that they now understood that they had been practising design as a process, at the same time that they were practising coding. This startled some of them because we had apparently been thinking hard about the design of the course itself. (Which we had, but it’s nice when people realise it.)
- We encouraged and rewarded student reflection on process with cold, hard marks. Student were required to provide a written reflection on their software development process at two stages, just after the hard prac and at the end of the course. Both times, most marks were awarded for clarity of communication and addressing key points, rather than any definition of a ‘right answer’. As a result, the final reflections were written at a very high level, showing a clear understanding of the requirement for design and testing, as well as having almost no syntax or grammar errors and, for the most parts, clearly showing evidence of thought and editing.
The class in question did very well but, regrettably, they should have anyway because they were all self-selected high achievers in a small class. There is no quantitative strength in a numerical discussion here (I have measurement elements in place but there is no significance in the results, yet). The qualitative approach is far more interesting, because the student feedback clearly shows participating, engaged and self-aware students who can communicate verbally and in writing. The hardest prac in the course was the most popular, because of the challenge, but it was an achievable challenge. We set the bar higher, the students climbed higher. Most, if not all of them, now realise the reason that we talk about design and testing so much, and how you can use one or both to reduce your development time by reducing your bug load in later phases. That’s not bad at all for the end of their first 12 months and only their second computing course after a rapid-fire grounding in OOP in C++ in a previous semester.
I look forward to running this course again next year with 130 students from a broad range. Let’s see what happens.
SWEDE: Scale Will Eventually Demolish Everyone
Posted: January 4, 2012 Filed under: Uncategorized | Tags: education, higher education, learning, SWEDE, teaching, teaching approaches 1 CommentYes, I like acronyms – a good acronym is memorable, meaningful and it makes you think. I wanted to explain why measurement was so important in the previous post but I neglected to tell you why I thought that we had to consider changing our learning and teaching approaches in the first place. So here’s my next higher ed teaching maxim – Scale Will Eventually Demolish Everyone. Even if we don’t change what we do, we have to be aware of why change should be considered and I want to give you a reason that doesn’t require you to have a fervent commitment to the nature of assessment or new technology. I’ll appeal to your existing knowledge – that you’re already too busy and things are getting busier.
Why do we even have to think about change? The first reason is that things change. New technologies become available, student expectations change, materials change – things change. The second reason is that we now have a lot of students in tertiary education and, if your government is anything like mine, the goal is to increase that number. We may not necessarily have more students in a given classroom, although that is a likely outcome, but we may certainly be teaching more students. We are already teaching a very large number of students and we are a long way from sitting around the agora in small groups, listening to someone who, through Socratic technique, will take three to four years to guide us towards mature and complete knowledge. Some techniques just don’t scale and we have to recognise this, while still providing as many, if not all, the benefits of our knowledge to our students, regardless of how many are in our classes.
I have taught classes as small as 7 and as large as 360, I know that some of you handle much larger and you have my deepest sympathies, and I cannot apply the same techniques in both and expect the same results, unless I work out how to handle the scale. An individual only has 168 hours in each week, fewer if they have the audacity to sleep or eat. Even if we were devoted beyond belief, lecturing, assessment and marking load will eventually reach a point where we cannot handle any more. Reduce this 168 to a (marginally) manageable 70-80 hours to allow for sleep and some outside activities and we can handle half the students. But I still need to pass my knowledge on, encourage them, give them feedback, provide assignment work and examinations, mark everything, give it back in a timely fashion and be what I am supposed to be, doing what I’m supposed to do.
Sometimes we handle scale through the use of other people – TAs, marking teams – and this certainly works. But it’s usually not the same as us, the lecturer, being there, unless you’re very lucky in the way that your teams are made up. There should be a reason that we’re there, that the students want to come and listen to us, to discuss the knowledge with us, to learn from us and while there is certainly a place for other people, including using students themselves, we have to think about how we are going to do it properly and in a way that scales to the right level while providing everything that the students need. This places an obligation on us to provide quality control for external marking, to provide strong guidance and rubrics for markers, for learning how to control the class when it moves in and out of ‘nearest neighbour answer checking’, to think about all of the techniques that could be used to increase the quality of our teaching while recognising the pragmatic limitations imposed upon us by the tyranny of scale. Among many, many other things.
We can handle scale if we make sensible use of existing techniques, actively search out new ones (whether philosophical, pedagogical or electronic), assess how we are meeting (or not meeting) our goals and we are clear about what our teaching goals actually are. Frankly, you’re probably already too busy – too many of you are reading this on your phone as you sit on the bus or while you chew your dinner. You don’t need to make things harder for yourself when new approaches come along that can allow you to do the same, if not better job, with less effort. If we don’t choose to handle scale and balance this with our requirements to provide teaching, then eventually we risk reaching a point where we won’t be able to provide any teaching at all – because our time to do everything will blow out so far that even if we are phoning it in, we just won’t get the marks processed in time, or assignments back.
Despite me talking about quality control and our requirements, protecting ourselves from the expenditure of unnecessary effort is the only sensible way to approach a time-consuming, difficult but very enjoyable job. We want to use our individual effort in a way that maximises our results – this is where measurement, process awareness and honesty comes back in, reinforcing my previous post. This is where being open to change, to assessing what you need, to finding new techniques and from doing it properly comes in. Because we have to.
Because, ultimately, SWEDE – Scale Will Eventually Demolish Everyone.
