What should we be teaching the next generation of computer scientists?

As technology changes rapidly, how can the academy respond to the challenge of educating for an unwritten future? John Gilbey went to Silicon Valley to find out

一月 21, 2016
Computer science students working with mobile devices

It is commencement weekend at Stanford University and the sidewalks of the campus are sizzling in the full heat of a beautiful June afternoon. The lawns, mown with a precision that would shame many golf courses, are playing host to huge white marquees in which the day’s degree-awarding ceremonies are just ending. The campus has changed since my last visit, and newly sprouted buildings confuse my memory of the route to the computer science department. But by using the concrete beacon of the Hoover Tower as a guide, I manage to find the William Gates building on only my second attempt.

I’m in Silicon Valley to talk to some key local figures about the future of how we teach computer science, a topic currently high on the agenda in the UK.

The subject is a widely offered and popular undergraduate course of study. According to the latest figures from the Higher Education Statistics Agency, computer science is offered by 123 UK higher education institutions, and there were 91,565 undergraduates (of all years) studying computer science and related topics during the 2013-14 academic year. The number of students graduating each year has grown from less than 17,000 in 1994-95 to nearly 27,000 in 2013-14. This is down from a peak of more than 37,000 in 2004-05, shortly after the dot-com bubble burst in 2000, but it still accounts for 3.5 per cent of all UK graduates (see ‘Categorical variables: computer science graduates by the numbers’ box, below).

In the US, graduates from roughly analogous subjects consistently account for a lower proportion of the total graduate cohort: 2.6 per cent in 2011-12, the most recent year for which figures are available. But that still amounted to nearly 50,000 students.

Clearly, with numbers this big, we want to make sure we introduce students to materials and ways of thinking that will be both immediately useful in employment and a good foundation for future career development. But the Higher Education Funding Council for England is concerned enough about the extent to which this is happening that it has commissioned a major review to chart a way forward.

The review is not due to report until next month, but in a blog posted when it was launched in October, its chairman, Sir Nigel Shadbolt, notes that computer science has consistently had the highest rate of unemployed graduates of any subject in the UK. Shadbolt, who is professor of computer science and principal of Jesus College, Oxford, notes that there are “concerns from industry about the skills, agility and work-readiness” of computer science graduates. Other concerns include “the proportion of undergraduate computer science students who progress into low-paid or non-graduate level employment” and the “reliance our computer science departments have on international recruitment to fill their labs and postgraduate courses”.

It is essential to acknowledge the sheer importance of computer science as a profession and, hence, of the way universities prepare people to enter it. Stanford is at the very heart of Silicon Valley culture, and is a top global destination for those seeking a career in the computer industry. Huge developments have spun out around the world in the years since the university became one of the founding sites of the ARPANET – the technical precursor to the internet. From being an almost niche area of technical, scientific and business interest, computing has escaped from the concrete citadels of the mainframe computer to become almost universally networked. It now forms a vital core of connectivity to the human environment – as innately mobile as the population itself. Alex Aiken, chair of Stanford’s computer science department, describes the computing revolution as “a social experiment on a worldwide scale. These kinds of changes don’t come along very often. The printing press changed the world and we are going through a similar kind of transformation now – that is very, very clear. The implications are not entirely understood and a lot is up for grabs.”

Female participation in computer science

Female participation in computer science (21 January 2016)

He is right: advances in computing are leading to changes in the way fundamental developments in society, such as the diffusion of the line between work and leisure time, are managed – with a number of unintended consequences. Computer science graduates will be at the centre of how our world is shaped.

“A lot of decisions that affect many people are made by [the] very few technical people who are designing these systems,” Aiken continues. “Some of these decisions essentially get ‘baked in’ and become hard to change. Some do affect privacy and how people interact with each other, so these are real considerations. There is a need for computer scientists to be aware of the implications of their decisions.”

And while most computing graduates will typically be dealing with more prosaic matters than this, their decisions will still have significant social impact – from which there will be both winners and losers.

Aiken is sure that demand for graduates from the employment market will hold up. “You would hope that one of the promises of technology is improved productivity, and that essentially means fewer people doing more,” he acknowledges. “From what I can see, this is working all too well, in that – sure – more and more activities are being automated, but the demand for people with the ability to design and build such systems is insatiable. I don’t know what percentage of the world’s important software is written here in the Valley, but it is a certainly a significant fraction, and we are not producing anywhere near as many people as industry would like, [even though Stanford’s] major [in computer science] has grown by a factor of four in the past five years.”

In light of the – to me – astonishing salaries commanded in Silicon Valley by skilled software folk, it is evident that there is still a huge demand from the market, at least in California, for information systems and information technology workers.

“For a long time we wondered why more people didn’t major in computer science,” Aiken reflects. “Everyone in the field believed it was the future and that [it] represented an important way of thinking. Now the world believes us, and we have an overwhelming number of students.”

Keen to speak to some of the impressive local customers for computer science expertise, I take a cab a mile or two westwards along Sand Hill Road to the Kavli Institute for Particle Astrophysics and Cosmology, which overlooks the main Stanford campus and much of Silicon Valley. Its director, Tom Abel, explains why his teams are such heavy users of supercomputers and innovative software.

“For us in physics, the computer is the laboratory. We can’t take a neutron star and throw it at another and look how it goes,” he says. “Even if we could, we wouldn’t want to make a bunch of black holes on Earth and experiment with them. But our supercomputer is phenomenal. We can try out many things [on it]. On the data side, these types of experiments have moved from [involving] a team of, say, five people to a team of 50. Of course, with the Large Hadron Collider [at Cern] you have more like 5,000 people involved. There are many projects moving in that direction.

“It ends up being a lot of equations, and we need them to be implemented in a way that [utilises] tens of thousands of processors simultaneously – so there is a lot of skill in the way you cobble together and leverage each other’s expertise.”

UK unemployment rates, 2011-2014

 UK unemployment rates, 2011-2014 (21 January 2016)

Particle physics can reasonably lay claim to being the original home of “big data” – and it is being followed down that path by many other fields, which may potentially become major employers of computer science graduates. Data management and mining is big business and means big infrastructure – which needs new types of thinking to deliver results. This embedding of computer science within other disciplines suggests that computer scientists are going to need highly developed interpersonal, teamworking and management skills – and university courses are going to have to do even more to provide them.

Not everyone in Silicon Valley uses supercomputing in their everyday work – but that doesn’t mean they don’t have an opinion about the future of computer science teaching. In the middle of downtown Palo Alto, the Institute for the Future, a non-profit forecasting organisation, occupies a repurposed storefront. In this edgy, almost industrial space, I meet Mike Liebhold, the institute’s principal technologist, who has worked for such famous Silicon Valley names as Apple, Atari, Intel and Netscape.

I ask him what, apart from computer science itself, we should be teaching. His perspective is interesting, and reflects much less optimism than Aiken’s about the extent to which demand for human programmers will hold up. For him, the key issue is to enable future computer science graduates to keep themselves “above the Application Programming Interface” (API): in essence, how they can retain a “human” role.

“In the future of automation we’ll be able to delegate lots of tasks to networked machines. But, also, lots of human tasks are going to be algorithmically directed,” Liebhold notes, citing the example of the Uber taxi application. “There’s an algorithm that routes and dispatches the cars – people are not working for a personal dispatcher, they’re working for an algorithm. So they are all below the API.”

In his view, the speed of technological change is such that universities must take what he calls a “futures perspective”.

“I think foresight should be a mandatory course,” Liebhold says. “Everyone should learn how to systematically think five to 10 years into the future…You have to be upstream: you have to get there early. Then you have the cognitive space to shape your desired futures.”

This is sage advice that should probably be adopted more widely than just in computer science.

Another key element to the future of course design, for Liebhold, is the critical importance of “human factors” such as user experience. And a third is what is known in the field as parallelism: the ability of computers to break down problems into multiple elements and solve them simultaneously.

“I don’t believe that we naturally solve problems by factoring into multiple concurrent multi-threaded parallel processes – the human brain doesn’t work that way,” Liebhold says. “And yet we have built this wonderful global supercomputer which does that.” It seems that if they are to keep up with the machines, future graduates will need to be increasingly adept at such non-linear thinking.

Computer science as a proportion of all degrees

Computer science as a proportion of all degrees (21 January 2016) 

Simon Quellen Field has written commercial software in Silicon Valley for more than 35 years and is also a successful author. At Google, the eleventh start-up he worked for, he ran a team that taught improved programming technique. For him, the employability of developers is about much more than just technical skill.

“The best filter for selecting a developer for a job is [to ask yourself:] ‘Is this someone you are constantly going to have to tell things to? Is this someone you want to have lunch with every day and learn from? Can you get along with this person, or is the interpersonal friction going to make everything slow down?’”

Sceptics might question whether this ability to engage with other people is something you can teach. But it is certainly possible to provide an awareness of the issues, and to highlight some behaviours that can be adopted. That would be a good start.

As I leave, Quellen Field gives me an Arduino Nano computer: a tiny, single circuit board that fits neatly in my wallet. These cost just a few dollars each, and he uses them to drive art and science teaching projects that simultaneously hark back to the very origins of personal computing and offer an accessible route to anyone interested in developing skills in current software engineering.

The Arduino and its cousins, such as the Raspberry Pi, are already used in some undergraduate courses, but should be adopted more widely. Such devices give an immediacy to computer science that we haven’t seen since manufacturers stopped shipping PCs with a copy of the BASIC programming language installed. Hacking small-board computers once again gives liberty to learning – allowing you to play, explore, invent and make stuff happen in the real world.

A lot will be demanded of the next generation of computer scientists. If my wildly unscientific survey is anything to go by, opinion in Silicon Valley reinforces the view that they will require a wide range of skills. They will need to be good communicators and well-organised team players who continually refresh their knowledge and assess the direction of both the industry and society. To succeed, they will need to be at home with massively parallel, hugely complex and scalable systems – and equally aware of the increasingly intimate relationship between the end user and technology.

How do we live up to the challenge of preparing them for all this? I guess by ensuring that we academics are great communicators and team players ourselves, keenly exploring great new stuff as it appears. I’ve seen some excellent examples, but we need to keep developing what, and how, we are teaching at least as fast as the industry itself is changing.

I ride back to the airport on a computer-controlled Bay Area Rapid Transit metro train before using my web-booked e-ticket to board a flight to Heathrow. As the Boeing 747, equipped with a digital flight deck, rises over the bright lights of Silicon Valley, I reflect on how many thousands of computer science graduates have contributed to the safety, timeliness and efficiency of my journey.

Tomorrow’s graduates will face repeated challenges from both technical and social change as their careers progress. The changes we have seen in the past 20 years may one day seem trivial compared with those of the coming decades. But, thankfully, the tools and technical infrastructures that will help them to relish this changing world are improving all the time. If we as educators can also keep upgrading our own skills, then the future looks very bright.

John Gilbey teaches in the computer science department of Aberystwyth University. He writes in a personal capacity.

Students working on Apple iMac computers

Shadbolt review: ‘accreditation needs to adapt’

Graduates in science, technology, engineering and mathematics are critical to the UK economy.

Alarm bells rang when apparently high rates of unemployment were noted among graduates in these subjects. Two reviews were launched, both due to report in the next few months. One, led by Sir William Wakeham, is looking at STEM degree provision and graduate employability in general. My own review is focusing on computer science degrees, and can be seen as a template for future, more detailed reviews in other subject disciplines. Both reviews were charged with exploring how degree accreditation contributes to positive employment outcomes.

The methodology of the Shadbolt review has a number of elements. First, we have data from the Higher Education Statistics Agency that establishes the facts of graduate employment. I have blogged on some of the patterns it reveals. The best way to have a balanced discussion is to publish as much of the data as possible; this enables a wider conversation about what it says, how it should be interpreted and how good it is.

Computer science and IT degrees are unusual in that almost every institution offers courses in them. In each of the past six years, more students have started computer science courses than physics, chemistry and maths combined.

Unemployment among computer science, as measured by the Destinations of Leavers from Higher Education survey, is running at around 10 per cent (a decline since its peak in 2008-09). But the survey also reveals variations according to region, type of institution and demographic background.

A second element of the review methodology was consultation with stakeholders. This revealed a number of themes. One was the advantage conferred on students who have employment experience, and the fact that there is often a great deal of informal work experience that is not captured in the data but that nevertheless makes a difference.

The employment landscape for computer science graduates is heterogeneous. IT and computing underpins so many aspects of business across so many sectors and at all scales. SMEs and large corporations want different things from graduates. Some require hard technical skills while others prioritise broader soft skills, such as effective communication.

The computer science landscape is also fast-changing. A significant challenge to institutions is to provide agile content while securing a core of essential knowledge.

There is a recognition among those we have consulted that accreditation needs to adapt. It is not well understood by either students or the wider industry. A more flexible and lightweight approach is likely needed.

Our recommendations are still being formulated and refined. Some are likely to focus on the opportunity offered by improved data. Some will focus on what graduates need to enter the marketplace with the best chances of success. Others will look at how we understand the demand from different types of employer, and how this might change. Finally, we will be looking at how accreditation might change.

Sir Nigel Shadbolt is professor of computer science and principal of Jesus College, Oxford.

Computer programmer coding on laptop

Demand economy: the conundrum of computer science

A degree in computer science should be an attractive proposition.According to the Office for National Statistics, the UK’s IT sector creates 71,000 new jobs each year, while High Fliers’ report The Graduate Market in 2015 notes that vacancies for IT and telecommunications graduates have grown by 160 per cent since 2005.

The 2014 research excellence framework confirmed that a significant amount of the UK’s computer science research is world-leading and impacts positively on daily life. Computer science teaching in universities is not dry and purely theoretical: many courses offer work placements, work-related learning and opportunities for entrepreneurship. A recent report (Computing Graduate Employability: Sharing Practice) by the Council of Professors and Heads of Computing (CPHC) highlights the breadth and depth of employability skills development that is happening in universities across the UK, including close partnerships with industry that support both course development and research.

Yet recent data show that computer science graduates have the highest unemployment rate six months after graduation (see ‘UK unemployment rates, 2011-2014’ graph, above). Moreover, evidence from surveys and reports points to industry’s dissatisfaction with the supply of suitably skilled graduates in computer science. So what’s going on?

One view is that existing courses often don’t match industry demand. The rate of change of technology is a challenge for university departments and employers. But job adverts for expertise in specific programming languages and development tools do not necessarily signal a problem, given that expertise in one programming language can easily be transferred to a different language.

Computer science fundamentals provide a deep undercoat: the latest coding language is just a thin gloss that will be repainted every few years. Combining some agility in curricula with a greater willingness on the part of employers to offer induction to new staff could help to achieve a better balance between underlying theory and shiny new tools.

The forthcoming Shadbolt Review is exploring the data in the context of professional standards. Course accreditation presents an opportunity to test and refresh curricula. One view is that, in appealing to a diverse range of applicants, computing is the victim of its own success. There is strong demand, for instance, from those who are the first in their families to enter higher education. And a 2012 CPHC report found that in 2009-10, 25.8 per cent of computer science graduates were from a black and minority ethnic background, compared with 16.5 per cent of graduates overall; the unemployment rate for BME graduates was 20.9 per cent, compared with 14.7 per cent for all computer science graduates. This suggests that current graduate recruitment practices present more of a barrier to some graduates than others.

Another view is that we are looking at the wrong data. The figure most often used is the graduate unemployment rate. If, instead, the graduate employment rate is highlighted, computer science beats the likes of physics and biology hands down. The difference lies in the numbers who proceed to further study.

Furthermore, Higher Education Statistics Agency longitudinal data for employment prospects after three years (instead of the Destinations of Leavers from Higher Education survey’s six months) show computer science full-time employment rates are 82 per cent, compared with an overall STEM rate of 74 per cent.

So the problems – and their solutions – are far from simple. Working towards a solution that embraces diversity, that offers an attractive proposition (including to women) and that helps employers and universities work together will benefit everyone. The dialogue is under way.

Sally Smith is dean of the School of Computing at Edinburgh Napier University and chair of the Council of Professors and Heads of Computing.

Student numbers in computer science (21 January 2016)

Categorical variables: computer science graduates by the numbers

Student numbers in computer science have been on something of a roller coaster over the decades.

In the US, where the longest run of data is available, the number of students obtaining bachelor’s degrees in the subject rose exponentially from the early 1970s until the mid-1980s, before dropping steeply over the rest of that decade. Numbers then rose steeply from the mid-1990s until the mid-2000s, dropped away again, only to rise again up to 2011-12.

The UK records, which begin in the mid-1990s, show a very similar trajectory when figures for total number of computer science degrees at all levels are examined. More recently, however, numbers have fallen, reflecting significant reductions in part-time student numbers at all levels.

The overall number of undergraduate degrees awarded annually has been climbing since 2008-09, and has risen from 9,515 in 1994-95 to 16,080 in 2013-14: down from a peak of 20,205 in 2003-04. Doctorate numbers have climbed steadily since the mid-1990s, rising from 305 to 925, before falling to 795 in 2013-14.

In both the US and UK, the fluctuations are closely matched by the trend in the number of computer science degrees as a proportion of the total number of degrees obtained, indicating that the changes are not artefacts of fluctuating student numbers overall.

Directly comparable figures on trends in Australia are not available, but commencements of all degrees in information technology dipped in the early 2000s before rising sharply since 2011.

One striking fact about the figures is the disparity between male and female participation. At doctoral level, female participation in US computer science study has risen from 2 per cent in 1970-71 (three women against 125 men) to 22 per cent in 2011-12. But the proportion of women earning bachelor’s degrees in the subject in the US has been falling since a peak of 37 per cent in the mid-1980s. In 2011-12 it was just 18 per cent. And in the UK, the proportion has fallen from 27 per cent in 2000-01 to 19 per cent in 2013-14.

In a blog launching his UK review of graduate employment and accreditation in science, technology, engineering and mathematics, Sir Nigel Shadbolt notes that “computer science has consistently had the highest rate of unemployed graduates” (there is no gender difference). According to the Higher Education Statistics Agency’s Destinations of Leavers from Higher Education survey, 11 per cent of computer science graduates were unemployed between 2011 and 2014. Only one subject recorded figures higher than 8 per cent. The national average in 2013-14 was 7 per cent.

Shadbolt also notes that, according to the DLHE survey, about 65 per cent of computer science graduates who enter full-time employment within six months of leaving higher education earn less than £25,000, against 55 per cent of electronic and electrical engineering graduates and 60 per cent of maths graduates.

“When we look at the sectors of industry in which graduates are employed, a high proportion (38 per cent) work in the information and communication industry. The rest are dispersed across a range of industries; this is unusual among many STEM disciplines,” he notes.

In Australia, 18 per cent of IT graduates were unemployed four months after graduation, according to the Australian Graduate Survey 2014, conducted by Graduate Careers Australia. Only biology, maths, and visual and performing arts and “other sciences” recorded worse figures. But the median salary of recent computer science graduates, A$55,000 (£26,500), was above the average for all graduates.

Paul Jump


Print headline: Adaptive programming



  • 注册是免费的,而且十分便捷
  • 注册成功后,您每月可免费阅读3篇文章
  • 订阅我们的邮件
Please 登录 or 注册 to read this article.

Reader's comments (2)

“A language that doesn't affect the way you think about programming is not worth knowing.” - Alan J. Perlis
Could it be that Computer Science attracts a higher proportion of less-able students than other fields, who are then, despite having a degree, less able to find suitable employment?