Archive for the ‘Computer science’ Category
HEA STEM Workshop: “Rethinking The First Year Computing Curriculum”
In the context of recent (and ongoing) curriculum and qualifications reform for computing education in UK schools, I am hosting a one-day Higher Education Academy workshop in Cardiff in May entitled: Rethinking The First Year Computing Curriculum.
This workshop is being held under the auspices of the HEA Computing discipline area, as part of the HEA STEM workshop series:
HEA STEM (Computing): Rethinking the First Year Computing Curriculum
24th May 2013, 10am-4pm
Department of Computing & Information Systems, Cardiff Metropolitan University, Western Avenue, Cardiff, CF5 2YBThere have been profound changes to computing education in UK schools over the past two years, with significantly more to follow; soon we will see applicants to higher education courses with 4+ years of rigorous computing education at school. How will this affect the first year university computing curriculum?
This workshop will offer a forum to discuss this and related themes:
- What are the potential issues with the new focus on computing in schools?
- What changes do we envisage to the content and level of the first year computing curriculum?
- How will the new GCSEs in Computer Science affect the pipeline of students coming through to university?
- How can we change the perception of A-Level Computing, especially in light of proposed A-Level reform?
- Getting kids coding: can we expect a better understanding or aptitude in programming?
- How can universities encourage and support the teaching of computer science in UK schools (e.g. CAS/BCS Network of Computer Science Teaching Excellence)?
- Are we doing enough outreach and public engagement activities for computer science, compared to other STEM disciplines?
Registration for this workshop is online (N.B. the cost is £50 for attendees from HEA subscribing institutions).
The Complete University Guide 2014: Computer Science
Today saw the publication of The Complete University Guide 2014, one of the many university ranking guides, and the start of the university ranking season in the UK.
Comparing against the 2013 university league tables, especially last year’s Guide, there are two new entrants in the top 10 UK institutions for Computer Science:
| Ranking | 2013 | ||
| 1. | ↔ | University of Cambridge | (1st) |
| 2. | ↑ | Imperial College London | (3rd) |
| 3. | ↓ | University of Oxford | (2nd) |
| 4. | ↑ | University of Glasgow | (9th) |
| 5. | ↓ | University of Bristol | (4th) |
| 6. | ↑ | University of Exeter | (15th) |
| 7. | ↑ | University of Birmingham | (16th) |
| 8. | ↓ | University College London | (6th) |
| 9. | ↑ | University of York | (10th) |
| 10. | ↓ | University of Warwick | (8th) |
As always, the rankings for Wales institutions in Computer Science were of particular interest to me:
| Ranking | 2013 | ||
| 27. | ↑ | Cardiff University | (35th) |
| 32. | ↓ | Swansea University | (30th) |
| 35. | ↓ | Aberystwyth University | (34th) |
| 58. | ↓ | Bangor University | (49th) |
| 76. | ↓ | University of Glamorgan | (63rd) |
| 89. | ↓ | Cardiff Metropolitan University | (88th) |
| 93. | ↓ | Glyndŵr University | (72nd) |
N.B. no data was available for Swansea Metropolitan University or the University of Wales Trinity Saint David (who merged in 2012), or for the University of Wales, Newport (who recently merged with the University of Glamorgan to form the University of South Wales.
The Complete University Guide’s methodology for the subject league tables are based on four measures: Student Satisfaction, Research Assessment, Entry Standards and Graduate Prospects. To qualify for inclusion in a subject table, a university has to have data for at least two of the four measures; a blank in the Entry Standards and Graduate Prospects columns is not a zero score but rather denotes that no valid data were available.
NANDputer: a computer built entirely from NAND gates
What is a NANDputer? It’s obviously a computer built entirely out of NAND gates. NAND logic (along with NOR) is functionally complete, so it is possible to construct all other logic gates using just NAND gates. But why? Well, like any good hardware hack: to see if it could be done.
Taking Kevin Horton nearly two months to design and make, every part of the build apart from the peripheral board is based on NAND gates (hence why the point-to-point wiring is…crazy). The basic architecture of the computer is fairly conventional, with an accumulator, a full ALU, 8 bit registers, separate RAM/ROM areas (Harvard architecture), instruction skipping for decision making, bit set/clearing, a three-level stack and even an interrupt.
It takes 96 clock cycles to run a single instruction, giving just over 100kIPS (thousands of instructions per second) with the clock running at 10MHz. Not great (roughly 2-3x slower than a Commodore 64 at 250-300kIPS), but not bad considering the hardware engineering. For example, it’s faster than a TMS1000!
The image below shows all of the NANDputer boards installed into the backplane; check out the images of the other PCBs, as well as the NANDputer running its first program.

(N.B. If you’re still curious about how a NAND-based computer works, then try this online course.)
Interview with ITWales
I was interviewed last month by ITWales, to talk about computer science education, CAS Wales, the Technocamps project and the future skills and expertise required to underpin the digital economy in Wales.
(full interview here)
2013 University Guides: Computer Science
With the impending start of the 2014 university guide season, here’s an aggregation of the four main UK university guides in 2013 for Computer Science:
- The Complete University Guide 2013 (April 2012)
- The Guardian University Guide 2013 (May 2012)
- The Times Good University Guide 2013 (June 2012)
- The Sunday Times University Guide 2013 (September 2012)
We’ve sold Computer Science, now we have to sell what it means to be a Computer Scientist…
Last week was an exceptional week for computer science education in the UK: Google donating 15,000 Raspberry Pis to UK schoolchildren, Microsoft calling for computer science to be taught from primary school, the Department for Education including computer science in the EBacc as the “fourth science” and UCAS 2013 entry statistics showing the highest increase in total applications for Computer Sciences (up 12.3%). This follows on from the launch of the CAS Network of Computer Science Teaching Excellence in September, the publication in November of the draft ICT Programme of Study for England and the announcement in January of a review of the ICT curriculum in Wales, reporting back in June.
So it appears we’ve sold the rigorous academic discipline of computer science; but not to simply increase the supply of programmers for the IT industry or to get more people to study computer science at university — the rationale has always been based upon computer science being of wider educational value to everyone, in the same way as we value physics and mathematics. But after a discussion with Pete Yeomans (@ethinking) at the CAS fringe event at Bett 2013 last week, it appears that we are now facing a more subtle and refined challenge:
We need to do more than ‘sell’ computer science as a discipline…we need to sell what it feels like to be/think like a computer scientist.
— Dr Tom Crick (@DrTomCrick) January 31, 2013
This is the real marketing challenge: to truly change the wider perception of the discipline, we now have to sell what it really means to be a computer scientist, how to think like a computer scientist and the universal potential of this mindset.
And everyone needs to understand and value this.
There are 10 types of people in the world
Originally from reddit:
There are 10 types of people in the world, those who understand binary, and those who dont, and those who weren’t expecting a base 3 joke.
— Kevin Fox (@kfury) December 26, 2012
Remembering the Atlas: the UK’s first supercomputer
An excellent post on the Google Europe blog describing the 50th anniversary of Atlas, the UK’s first supercomputer.
Programming is the start not the end: let’s develop computational thinking and problem solving skills
(N.B. This is the original unedited version of an article published online today in The Telegraph)
I wholeheartedly support the high-profile initiatives to get more children programming, especially as part of the rethinking of the ICT curriculum in UK schools. The publication of the Royal Society’s report Shut down or restart? in January highlighted the unsatisfactory state of ICT education in the UK, recommending that every child should have the opportunity to study the rigorous academic discipline of computer science. With the disapplication of the existing ICT Programmes of Study and the development of a new programme of study as part of the National Curriculum Review in England, we are at an exciting crossroads, with a real opportunity to make computing and technology a key focus of our education system. But if there’s one lesson we should take away from the problems of the past 15 years it is that we must not focus on transient and superficial technology skills. Computer science is not programming (and vice versa) and we should be wary of teaching programming just for the sake of teaching programming, without thinking about why we want to get kids to program.
When Michael Bloomberg, Mayor of New York City, tweeted in January that he was going to learn how to program, there were strong opinions expressed implying that programming is not for everyone. This is untrue. One of the reasons that programming is increasingly perceived to be a 21st century literacy in our technology-dependent society is because it is ultimately empowering, developing the ability to manipulate and control your digital world. But the key message is that learning how to program is not the endpoint, but part of the journey of equipping children with the necessary digital skills to solve problems. Our high-level aim should be to develop technology-independent skills and techniques, such as data literacy and computational thinking.
Computational thinking is a way of solving problems, designing systems and understanding human behavior that draws on concepts fundamental to computer science. Computational thinking includes a range of mental tools that reflect the breadth of the field of computer science. Computational thinking means creating and making use of different levels of abstraction, to understand and solve problems more effectively; it means thinking algorithmically and with the ability to apply mathematical concepts to develop more efficient, fair, and secure solutions; it means understanding the consequences of scale, not only for reasons of efficiency but also for economic and social reasons. And this is why it is important to teach computer science in schools: we need to embed principles and theory to develop a deeper conceptual understanding of how technology works and how it can be leveraged to solve problems. There is a quote commonly misattributed to Edsger Dijkstra: “Computer science is no more about computers than astronomy is about telescopes.” — this is where computational thinking fits in, abstracting away the technology.
Hence, there is an important balance to strike between focusing on developing practical programming skills (i.e. being able to write code for a specific task) and embedding a deeper understanding of languages and constructs: principles of programming. We know technology changes quickly, so we need to make sure that when “Technology X” appears, we have transferable knowledge and a deeper conceptual understanding of how it works and how it can be used.
But there are significant challenges ahead in changing the status quo and enthusing and engaging children in schools. Programming is a creative endeavour and offers a tangible way for children to express themselves by hacking, making and sharing. We now have the hooks to use in schools e.g. Raspberry Pi, Arduino, .NET Gadgeteer, LEGO Mindstorms, etc, offering opportunities for embedding computing across the curriculum. But we also have to recognise the importance of developing this deeper conceptual understanding, the problem solving and analytical skills, as well as knowledge of the underpinning theoretical foundations of computing.
So let’s change the focus from just writing code to developing the crucial thinking skills and the ability to solve problems. To quote Jeannette M. Wing, Professor of Computer Science at Carnegie Mellon University: “Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing and arithmetic, we should add computational thinking to every child’s analytical ability.“
Sunday Times University Guide 2013: Computer Science
Yesterday saw the publication of the Sunday Times University Guide 2013 (£), one of the many university ranking guides in the UK (in fact, we are very much in university ranking season, with the news that UK universities are slipping down the world rankings).
As with the 2012 Guide (£), as well as the Guardian University Guide 2013 published in May and The Times Good University Guide 2013 published in June, there were some familiar institutions in the top 10 for Computer Science:
| Ranking | 2012 | ||
| 1. | ↔ | University of Oxford | (1st) |
| 2. | ↔ | University of Cambridge | (2nd) |
| 3. | ↑ | Imperial College London | (4th) |
| 4. | ↑ | University of Birmingham | (12th) |
| 5. | ↓ | University of Bristol | (3rd) |
| 6. | ↔ | University of Bath | (6th) |
| 7. | ↑ | University of Sheffield | (14th) |
| 8. | ↓ | University of York | (7th) |
| 9. | ↔ | University of Warwick | (9th) |
| 10. | ↑ | University of Glasgow | (15th) |
As always, the rankings for Computer Science in Wales were of particular interest:
| Ranking | 2012 | ||
| 28. | ↓ | Cardiff University | (21st) |
| 41. | ↓ | Swansea University | (33rd) |
| 52. | ↑ | Aberystwyth University | (58th) |
| 63. | ↓ | Cardiff Metropolitan University | (50th) |
| 73. | ↓ | Bangor University | (41st) |
| 74. | ↑ | University of Glamorgan | (81st) |
| 94. | ↓ | University of Wales, Newport | (40th) |
| 103. | ↓ | Glyndŵr University | (68th) |
| 104. | ↓ | University of Wales Trinity Saint David | (88th) |
(N.B. no data was available for Swansea Metropolitan University)
The Sunday Times’ methodology differs somewhat from the Guardian’s methodology (and even The Times‘!), especially with respect to research, but with less focus on academic services and student facilities.
However, this clearly highlights the quirks of having three newspapers publishing university league tables (as well as The Complete University Guide, the Times Higher Education World University Rankings and the QS World University Rankings) with widely different metrics and weightings. It begs the question: does all of this information help prospective students make more informed choices about where to study Computer Science in the UK?

