“So this is what you’re all going to be doing for the rest of your lives,” one lecturer joked to a class of first-year Computer Science students some years ago. One of the people in the class was Kevin H, who was already seriously questioning his decision to study the subject. Speaking to Trinity News, his immediate response to the joke, he says, “was to think, ‘nope’”. It was this moment, in his view, that consolidated his decision to leave his computer science course: “There wasn’t any going back from that.” He left the course in October of his first year.
He is one of a very large number of students who have dropped out of computer science related courses in Trinity. According to Higher Education Authority (HEA) figures published in the Irish Times recently, the rates for non-progression in these courses are typically double the average drop-out rate in College. Computer science has a non-progression rate of 28%, computer science and business 17%, and computer science and languages a massive 50%, while the average across all courses in Trinity is just 9%.
Finding an explanation
Discovering why these numbers are so high, and how they can be reduced is a task occupying a number of Trinity staff members. The class that made Kevin’s decision final was in double programming. It is widely acknowledged that this subject in particular can be very troublesome for students who have to engage with it. Meriel Huggard is behind the establishment of a dedicated programming centre to help students with programming. In 2003, she says, she could see that there was a clear need for it: “Problems with programming are worldwide”.
She noticed the success of maths and programming support centres in the UK, and suggested that Trinity set up something similar. “We were one of the first,” she says, “but almost every university in Ireland has one at this stage.” Since then a lot has changed, especially in the computer science and programming world. “When it started off programming was something fairly new and fairly alien to most people”, Huggard explains. “Most people coming through now have some experience of some aspect of it”.
Ciarán McGoldrick is a lecturer in engineering, and teaches at the centre. He is keen to emphasise that the reason for the high drop-out rates are not all related to programming itself, and student motivation is a hugely significant factor. This is certainly true of Kevin, who admits that when deciding to study computer science, “I didn’t really give it a whole lot of thought”. His decision was motivated by ideas that were not really related to the reality of the course, but in “the coupling of my vague interest in computers with the word on the street that there is a lot of money to be made from them”.
His previous experience of computers in no way prepared him for the challenging reality of what he needed to learn. “There’s a huge difference,” he says, “between using a computer and understanding how it operates. I think people get lost somewhere in the space between those two things.”
This chimes well with McGoldrick and Huggard’s day-to-day experience of the disconnect between people’s previous computer experience, their reasons for studying the subject, and the immediacy of needing to solve problems using the alien language of computers.
“People might really want to be a games programmer or something,” explains Huggard, “but there’s a slight disconnect between playing a lot of computer games, and learning the skills needed to create those games.”
Even more problematic can be the people that come in not because they have a genuine interest in programming or computers, but because they have been pushed to do so, often by parents who, in McGoldrick’s words, “have a strong perception of where their children should be going.” They have both experienced the phenomenon of parental pressure at open days, where, he says, “the number of parents that are coming in have increased exponentially in the past few years.”
In some cases it seems as though the parents are, if not actually putting pressure on a student, at least nudging them towards what they perceive to be the right direction: “Often you will be asked many more questions by the parent than by the student,” Huggard adds.
That a student might not be truly motivated in what they are learning is a problem in any area of study, but particularly in programming, where an unsolved problem is not only an academic issue, but an emotionally draining experience, according to those who have intimate experience with these problems. Sessions at the programming centre are deliberately scheduled so as not to coincide with the day an assignment is due. This is because, McGoldrick says, “we want to discourage that kind of last-minute dependency. You get a situation where people are slightly more emotional, slightly overwrought.”
Huggard explains that the nature of a programming problem inevitably makes an issue harder to handle: “You may have simply left out a semicolon or forgot to close a bracket somewhere, and everything else could be perfectly correct. The fact that the computer then spits it back at you and just says it’s wrong – that can be incredibly frustrating.” This has led to some unexpected teaching tools: “We used to have a box of tissues in the centre!” Huggard adds, although McGoldrick does insist, “It’s not that we’ve got groups of crying or hysterical men and women in there, it’s not like that – it’s just people are a little more uptight, more tense.”
Because of the investment that people need to put into solving any problem in programming, it requires a special kind of dedication. In Kevin’s view, it is especially important that people know what they are getting into, and that they will be prepared to commit to what the course will ask of them. “I think potential applicants need more information really,” he says. “The maths content of those courses can be quite problematic for people too. I don’t think people really get what they’re letting themselves in for.”
When people are truly committed, however, the outcomes can be extremely positive. McGoldrick points out that not all of the drop-outs from computer science related courses are due to a lack of ability; on the contrary people might be very skilled and leave instead because, “Students get very attractive offers and leave to pursue those. I wouldn’t underestimate the power of a very attractive salary with a high-profile company and good career prospects. It is the case that we do lose some students to job opportunities.”
The outlook is not entirely a source of worry: with the right resourcing, McGoldrick contends, “It should be well within the remit of any of our students coming in who satisfied the basic requirements. It comes down to motivation. Programming does require a lot of effort.” It is an effort that can repay great dividends, but this takes time and continued persistence. Huggard likens it to a skill such as being able to play a musical instrument: “To become an expert programmer takes many years, it’s like becoming an expert musician. You can’t decide to be a concert pianist tomorrow and just start learning the piano today. When you first start learning your fingers might fumble.”
McGoldrick says that programming is best described as a creative skill. “I did engineering years ago, before I moved across to computer science. Some of the people I was in college with back then currently work as programmers for Oracle and Google, and they would refer to the ‘craft’ of programming. You’re always learning and developing.”
Illustration by Mubashir Sultan.