Irish Computer Science Leaving Certificate Curriculum Consultation Update

Last Tuesday I attended a consultation session for the Leaving Certificate Computer Science Curriculum. This is Ireland’s shot at putting CS on the pre-university curriculum, specifically the Irish Senior Cycle – which leads right up to where secondary school and university meet. I am particularly interested in this as I teach, research, and am pretty much obsessed with CS1 – the first programming course that CS majors take at university. I am also teaching this year on a new programme at my university, University College Dublin (with support from Microsoft), that is one of the first (if not the first) teacher training programmes specifically for this new curriculum.

The event was hosted by the National Council for Curriculum and Assessment, and was addressed by Irish Minister for Education and Skills, Richard Bruton. It was an engaging and lively day of discussion and it was really good to see so many different stakeholders in attendance. I was in one of I believe 6 (or more) focus groups, and we had university professors, industry leaders (including Apple and Microsoft), current (and former) school teachers, and a member of the curriculum development team in the room, (and I am missing a few people here).

There is another consultation event on September 16 at Maynooth University, hosted by the Computers in Education Society Ireland (CESI). The consultation officially closes on September 22, and a final draft of the curriculum is expected soon thereafter.

Irish Leaving Certificate in Computer Science: Draft Specification

follow 3 pngAny regular readers of this blog know that Computer Science has been mooted to become a Leaving Certificate subject in Ireland for some time, with any details speculated upon and often vague, and/or changing. However, last week things moved one step closer towards a concrete reality with the unveiling of the draft specification for the Computer Science Leaving Certificate by the National Council for Curriculum and Assessment (NCCA).

Computer Science is set to be added to the list of leaving certificate choices for fifth-year students from September 2018, with the first exams being held in 2020. The draft contains details on the syllabus and assessment, with 30% of the marks in the final exams going towards a computing project done during school, and the other 70% taking place in the traditional June assessment. However, for the first time, the two and a half hour June assessment will be computer-based instead of the traditional written paper or combination written/aural. The State Examinations Commission will set and grade the project as it does with other Leaving Certificate coursework assessments.

The NCCA has also announced a consultation period running through September before the final specification is agreed. This includes a Computers in Education Society of Ireland (CESI) consultation event on September 16.

Below I have extracted some of the salient parts of the draft specification to give readers a quick overview, along with some road-mapping for those unfamiliar with the Irish Leaving Certificate. Readers are directed to the full draft specification for details.


The draft specification sets out the objectives of Leaving Certificate Computer Science as enabling students to:

  • develop an understanding of how computing technology presents new ways to address problems, and to use computational thinking to analyse problems and to design, develop and evaluate solutions
  • read, write, test, and modify computer programs
  • develop an understanding of how computers work; the component parts of computer systems and how they interrelate, including software, data, hardware, communications, and users
  • appreciate the ethical and social implications relating to use of computing technology and information and identify the impact of technology on personal life and society
  • understand how information technology has changed over time and the effects these changes may have on education, the workforce, and society
  • evaluate the accuracy, relevance, appropriateness, comprehensiveness, and bias of online information sources
  • work independently and collaboratively, communicate effectively, and become responsible, competent, confident, reflective, and creative users of computing technology.


The specification sets out three strands: 1. Practices and Principles, 2. Cross-cutting Core Concepts and 3. Computer Science in Practice.

1. The overarching practices and principles of Computer Science are the behaviours and ways of thinking that computer scientists use.

2. The cross-cutting core concepts of Computer Science represent the major content areas in the field of Computer Science: abstraction, data, computer systems, algorithms and evaluation/testing. Students engage with the crosscutting concepts theoretically in this strand and apply them practically in Strand 3.

3. Computer Science in practice provides multiple opportunities for students to apply the practices and principles and the cross-cutting core concepts. To reflect the emphasis on project management in real-world Computer Science, students work in groups to carry out five projects over the duration of the course, each of which results in the creation of computational artefacts. Computational artefacts are defined as anything created by a human using a computer. An artefact can be, but is not limited to, a program, image, audio, video, presentation, or web page file.

Time Allocation

The curriculum is designed for 180 hours of class contact time. There is time for introductory classroom-based theory and revision, but most of the teaching and learning will take place in the practical application of the concepts through project work in Strand 3. Each project should take approximately six weeks to complete.


The Leaving Certificate in Ireland is differentiated by two levels, ordinary and higher. The Leaving Certificate specification for Computer Science sets out the following “differentiation through the learning outcomes of the specification”. I have underlined (ordinary) and set in bold (higher) the differences below.

Ordinary: Students engage with a broad range of knowledge, mainly concrete in nature, but with some elements of abstraction or theory. They will be expected to demonstrate and use a moderate range of practical and cognitive skills and tools and to plan and develop simple investigative strategies. They will be expected to select from a range of procedures, and apply known solutions to a variety of problems in both familiar and unfamiliar contexts. They will design and produce computational artefacts that serve a useful purpose.

Higher: Students engage with a broad range of knowledge, including theoretical concepts and abstract thinking, with significant depth in some areas. They will be expected to demonstrate and use a broad range of specialised skills and tools to evaluate and use information, to plan and develop investigative strategies, and to determine solutions to varied, unfamiliar problems. They will be expected to identify and apply skills and knowledge in a wide variety of both familiar and unfamiliar contexts. They will design and produce computational artefacts that serve a useful purpose.

In addition, there is differentiation in teaching and learning, and in assessment. See the draft specification, page 19 for details.

Topics and Learning Outcomes

The draft specification sets out a full set of topics and learning outcomes for each of the three strands above, for both ordinary and higher levels. These are too lengthy to go over here. Readers are directed to the draft specification, page 21.


There are two assessment components at each level, an end-of-course examination (70%) and coursework (30%). The end-of-course examination is broken down into: short answer questions (20%),  practical question (30%) and structured questions (20%). The coursework assessment consists of one computational artefact and report for the full 30%.

Assessment Programming Language

Leaving Certificate Computer Science does not require a specific language. However, for the initial years of the subject, Python and JavaScript will be the languages used in the end-of-course assessment; this will be reviewed on an ongoing basis. There is no restriction in choice of language used in the projects or in the coursework assessment.


You can get involved in the consultation in any of four ways:

  1. Email a submission to
  2. Request to participate in a focus group by contacting
  3. Attend the CESI Computer Science Consultation Event on September 16th
  4. Complete an online questionnaire which will be available from 15th July, 2017.

The full draft specification can be found here.


Introducing programming to the Irish primary and secondary curricula

follow 3 pngYesterday the Irish government anounced more strategy for their plan to introduce programming to the primary and secondary curricula. As currently set out, this will take place through the mathematics curriculum (at least at the primary level). As part of the wider plan, Computer Science will be introduced as a secondary level (high school) subject, a development I have also been following recently.

The Digital Strategy for Schools 2015-2020 plan for 2017, which was launched by Minister for Education Richard Bruton yesterday, seeks to increase the use of ICT (information and communications technology) in Irish schools and includes the introduction of a benchmarking system from this September to allow teachers to track their progress in using digital technologies when teaching.

I have read the Department of Education press release, and the Digital Strategy for Schools 2015-2020 Action Plan 2017 (both cited by The Irish Times yesterday) as well as the Digital Strategy for Schools 2015-2020 Action Plan cited by The Times (London) yesterday. It seems at this point there are plenty of  “details” but not many details.

So I dug into the references of the Digital Strategy for Schools 2015-2020 Action Plan and found Programming and Coding -Draft Specification for Junior Cycle Short Course. This (although not specifically part of the 2015-2020 Action Plan, or the Action Plan 2017) had some interesting details. Note: this dates from October 2013 and was published by the National Council for Curriculum and Assessment, one of the many chefs in a busy kitchen. The Junior Cycle is the first three years of second-level education, set at level 3 of the National Framework of Qualifications. The closest analogue in the US would be Junior High School. Under Strand 1 Computer science introduction it is stated that students should learn about My digital world: The importance of computers in modern society and my life Being a coder – step by step: How to start programming and develop basic algorithms. The following learning outcomes are listed:

1.1 present and share examples of what computers are used for and discuss their importance in modern society and in their lives
1.2 describe the main components of a computer system (CPU, memory, main storage, I/O devices, buses)
1.3 explain how computers are devices for executing programs via the use of programming languages
1.4 write code to implement algorithms
1.5 test the code
1.6 develop appropriate algorithms using pseudo-code and/or flow charts
1.7 discuss and implement core features of structured programming languages, such as variables, operators, loops, decisions, assignment and modules
1.8 evaluate the results in groups of two or three

Under Strand 2 Let’s get connected it is stated that students should learn about Making connections: Computers are communication devices and Bits and bytes: How computers store data. The following learning outcomes are listed:

2.1 discuss the basic concepts underlying computer networks
2.2 describe how data is transported on the Internet and how computers communicate and cooperate through protocols such as HTTP
2.3 build web pages using HTML and CSS
2.4 explain how search engines deliver results
2.5 explain how computers represent data using 1’s and 0’s
2.6 investigate how drawings and photos are represented in computing devices

Under Strand 3 Coding at the next level it is stated that students should learn about More advanced concepts in programming and computational thinking and
Documentation and code analysis. The following learning outcomes are listed:

3.1 creatively design and write code for short programming tasks to demonstrate the use of operators for assignment, arithmetic, comparison, and Boolean combinations
3.2 complete short programming tasks using basic linear data structures (e.g. array or list)
3.3 demonstrate how functions and procedures (definition and call) capture abstractions
3.4 describe program flow control e.g. parallel or sequential flow of control – language dependent
3.5 document programs to explain how they work
3.6 present the documented code to each other in small groups
3.7 analyse code to determine its function and identify errors or potential errors

Under Strand 4 Problem solving in the real world it is stated that students should learn about Real world problems: Computer Science inspiring me and computational thinking and Putting the pieces together: Build a final software project that incorporates concepts learnt in the previous strands. The following learning outcomes are listed:

4.1 identify a topic or a challenge in computer science that inspires them
4.2 conduct research on the topic/challenge
4.3 work in teams of two or three and decide on a topic or challenge on which to build a final software project
4.4 brainstorm ideas in the requirements-gathering phase
4.5 discuss aspects of user-interaction design for the project
4.6 design, implement and test a solution
4.7 document team contributions and document the code
4.8 present to peers for feedback
4.9 assess the feedback
4.10 based on feedback, complete the software project and present a convincing argument for the final proposal to their peers

Now, that’s meaty! I have to admit I found this most intriguing: 3.4 describe program flow control e.g. parallel or sequential flow of control – language dependent. The report goes on to discuss assessment also. I won’t analyze that here, but I’ll copy the ‘Features of Quality’ for Strand 3 Coding at the next level:

Achieved with Distinction (90-100%): There is evidence that the programming tasks are executed with complete confidence and there is a very high level of creativity demonstrated. The tasks demonstrate an excellent understanding and comprehensive knowledge of the advanced concepts of programming and computational thinking. There is evidence that very good connections are made between team members and effective and communicative team working is demonstrated.

If this could be accomplished by the age of 14 or so we would be cooking with gas! Let’s not forget though, this is a 2013 draft specification and afor now we have no idea if any of this will become reality.

Back to the Digital Strategy for Schools 2015-2020 Action Plan 2017. Below I have included ‘Key Elements of the Plan’ and ‘What does success look like’. Of these, I found this to be particularly interesting: All students [will] have a digital portfolio with self-created content across the entire curriculum and a recognised capacity in discerning the ethical use of digital technologies.

Key elements of the plan include:

  • A new clustering programme, through which schools across the country will collaborate with each other on innovative projects for using digital technology in teaching and learning. This will be an important means of encouraging schools to innovate in this area, and also for the system as a whole to develop new method
  • A programme of curriculum reforms will see ICT embedded in all emerging curricular specifications and intense preparation for the phased introduction of Computer Science as a Leaving Certificate subject option from 2018 and coding as part of the primary school maths curriculum
  • A new Digital Learning Framework will be trialled in the new school year and will allow schools to evaluate their progress and measure how they stand against benchmarks of highly effective practice of using digital technologies in teaching and learning. Examples of good practice will continue to be captured and shared amongst the teaching community.
  • Provision of a range of professional learning programmes for teachers and school leaders to enable them engage effectively in whole school planning and self-evaluation to support them to embed digital technologies in teaching, learning and assessment
  • A full suite of content and exemplars of good practice available through an online portal which will also facilitate the sharing of good practice between teachers.
  • The continuing rollout of a €210million capital investment programme backed by the dissemination of research on best practice in equipment selection, collaboration and technical support
  • A progressive programme of high-speed broadband connectivity
  • New ways of business and industry supporting schools in embedding digital technologies in all aspects of their activities
  • Reviewing policy on the ethical use of the internet and online safety for young people

What does success look like?

1.   All functions of teaching and learning in  schools are fully digitally supported and enabled, with full engagement across the entire school community

2.   All subject specifications support a constructivist learning model and reflect the role of digital technologies in facilitating this model

3.   All students have a digital portfolio with self-created content across the entire curriculum and a recognised capacity in discerning the ethical use of digital technologies

4.   All schools can demonstrate effective or highly effective practice as described in the Digital Learning Framework, underpinned by a whole-school approach to e-planning

5.   All teachers have upskilled and embed digital technologies in their teaching practice

6.   Our Providers of Initial Teacher Education have become recognised leaders in innovative learning for quality outcomes

7.   An increasing number of schools participating in clusters each year leading innovation in the use of digital technologies that can be disseminated to all schools

8.   Good protocols are in place to assist schools in managing their digital resources with robust relationship with industry, business and higher education institutions

9.   All schools have high speed broadband connectivity

10. Schools use a variety of ICT equipment and delivery models for supporting their learning activities with demonstrable cost effectiveness and shared learning

Sources: Irish Times, The Times (London), the Department of Education (Ireland), Digital Strategy for Schools 2015-2020 Action Plan 2017, Digital Strategy for Schools 2015-2020 Action Plan, and Programming and Coding -Draft Specification for Junior Cycle Short Course.

Computer science in China: high employment, highest satisfaction and salaries

Each spring I teach on University College Dublin‘s Software Engineering and Internet of Things Engineering Degrees in Beijing. The degree is offered by the Beijing Dublin International College (Chinese language link), a recognised college of UCD and the Beijing University of Technology.

Back in October, I reported on China topping the list of best programming nations. As I am shamefully monolingual (course delivery is in English), my news consumption is limited to English, and it’s not every day that I see English language reports on the state of computer science in China. That report back in October was the last I think I came across until today, when I was pleased to learn that Computer Science is the second most fruitful degree in China in terms of employment prospects from this article.

For those with a bachelor’s degree in computer science, the employment rate was 93.9 percent in 2016 – slightly trailing electrical engineering’s 95.5 percent, according to a report published by MyCOS, a company specializing in higher education data analytics.€

Computer Science also came out on top in terms of income potential, with computer science graduates earning 5,452 yuan ($792) a month, half a year after graduation. This is over 800 yuan ($116) more than finance grads, who came in second. After three years at work, computer science graduates are earning 8,665 yuan ($1,257), almost 1,000 yuan more than finance graduates.

Refreshingly, Chinese computer science graduates are also most satisfied with their jobs, with 75% reporting job satisfaction six months after graduation.

In Ireland, computer science/ICT grads also earn the most of any discipline, with 62% earning €29,000 a year or more which equates to 18,629 yuan per month. This data is for 2014 graduates, so most comparable to the Chinese figure of 8,665 yuan per month meaning that Irish computer science grads are earning more than double their Chinese counterparts in China.

in the US, computer science grads with 1-4 years experience are earning $63,281 a year, or $5,273 (36,323 yuan) per month which is over four times the Chinese salary, and double the Irish salary.

Of course, this all only matters in when the cost of living is taken into account. I just had dinner and drinks with 5 people in Beijing and the bill was $8 each. However, the average rent in Dublin for a one bedroom apartment is well over $1,000 and in Beijing it is just under that ( Let’s hope that the graduates living in the big cities earn more than the average.

Irish computer science dropout rate falls

The number of students dropping out of Irish computer science courses before beginning their second year has fallen for the first time in several years.

This is welcome news, particularly as in recent years, Computer Science courses have had some of the worst progression rates of all courses. This year* their progression rate has risen from 80% to 84% for honours degree (level 8)** programmes. For university courses the figure is 88pc, compared with 80pc at institutes of technology.

The problem of high dropout rates in Computer Science courses is not limited to Ireland, and has been a big problem in many, if not most countries.

Overall, there has been a small decrease in drop-out rates, although more than 6,200 (nearly one in seven) first year students in 2013/14 did not continue into second year. Interestingly and encouragingly, students from farming backgrounds, and female students, are least likely to drop out before second year.

The source of these figures is a newly published report from the Higher Education Authority (HEA), A Study of Progression in Irish Higher Education, 2013/14 to 2014/15. Figures in the report show that 85% of first years in 2013/14 progressed to second year, up from 84% in the previous year.

HEA chief executive officer Dr Graham Love attributed the improved progression rates in computer science to additional funding for retention initiatives such as maths enabling courses, peer mentoring and tutorials.

*The report detailed here is for students who began their course in 2013/2014.

**For international readers, “honours degree, level 8” courses are ‘traditional’ degree courses, typically 4 year BSc courses. See here for more.

Computer Science to be offered in Irish secondary curriculum by 2019

According to RTE news, the Irish Minister for Education has said that Computer Science, including programming, will be a Leaving Certificate subject by 2019, paving the way for Irish students to have the option to study the subject at secondary school. However the nature of the curriculum has not been settled, nor is not known how many schools will offer the subject. The rules in Irish schools vary, but most require students to take seven subjects for the Leaving Certificate. Some students may take fewer, for example, those who are not taking Irish. Other students may choose to take more. There is no specific rule about how many subjects a student should take, however students must pass six subjects in the Leaving Certificate in order to be eligible for NFQ Level 8 (honours) undergraduate degrees, and the CAO uses a student’s best six subjects to determine CAO points (which determine eligibility to study at the undergraduate level). Every student must take English, mathematics and Irish, unless they have an exemption from Irish. Students will normally choose another four subjects [1].

The UK’s computing curriculum, as part of the UK National Curriculum, has been running since September 2014 for students in primary and secondary school. The road to this curriculum was long and winding, which Neil C. C. Brown and colleagues document in this ACM Transactions on Computing Education paper.  In the US, the CS4all initiative is helping organise efforts to bring computer science to primary and secondary schools, where the landscape is complicated due to primary and secondary schooling being overseen largely at the state level. According to, only 33 states allow students to count Computer Science courses toward their high school graduation requirements, leaving them to take classes, if they’re offered, as electives. However, Computer Science classes still aren’t even an option for high school students in many districts. See the last link for an interactive map that summarises the status of Computer Science efforts in each state. This week, as part of Computer Science Education Week, the White House announced efforts in two federal agencies to expand access to and quality of computer science education in US K-12 schools [2].