People of ACM - Michael E. Caspersen
July 25, 2023
What was the idea behind starting It-vest, and what is the main goal of this initiative?
It-vest was established in 1999 as a response to high demand in information technology (IT) job openings. A new two-year computing degree, MSc in Information Technology, was created to complement existing MSc degrees in Computer Science, Software Engineering, Computer Engineering, and Information Science.
Contrary to the existing MSc degrees, which all have similar BSc degree as a prerequisite, the MSc in Information Technology was designed to recruit students from any Bachelor’s degree. This served two purposes: (1) to educate graduates with a dual degree enabling them to integrate IT in other domains, thus facilitating a broad digital transformation in society, and (2) to quicker produce graduates for the work force (two years instead of five).
The initiative has been highly successful. In the past ten years, 40 % of all MSc graduates in computing are MSc in Information Technology. More than 50 percent of all graduates are women, and in the last couple of years, almost 70 percent are women.
A second aim was to establish part-time master’s programs to further increase competences for employees in the IT sector. In 2006, we established the part-time Master of IT for practitioners working in the IT sector. The program is highly flexible and dynamic, and the participants can create their own program at their own pace, choosing from a buffet of courses provided by the universities in the It-vest network. So far, more than 2,000 students have been enrolled in the program. A third aim was to recruit more students to the various IT programs at the universities. Since 2002, the number of students enrolled in IT bachelor programs has increased by a factor 3.4 (due to many different factors). Since 2002, the number of students enrolled in MSc in Information Technology has increased by a factor of four.
Much of your research is on introductory programming education and on emphasizing the process of programming. You also served as a co-editor of the 2008 book Reflections on the Teaching of Programming, and you have contributed a chapter, “Principles of Programming Education,” to a book on CS education. What is the most significant way the teaching of programming has changed since you began working in this field? What is an emerging innovation that is changing how programming is being taught today?
In some ways, programming education has changed dramatically over the past more than fifty years. We have experienced a rich and successful development in programming language technologies and an accompanying development of teaching practices and various tools to support the learning process (e.g., visualisation tools, test-driven methods, and automatic grading systems).
In other ways things have not changed that much, and typical introductory programming textbooks still devote most of their content to presenting knowledge about a particular programming language. But teaching programming is much more than teaching a programming language. Knowledge about a programming language is a necessary but far from sufficient condition for learning the practice of programming. Students also need knowledge about the programming process, and they need to extend that knowledge into programming skills and practices. David Gries wrote about this in a 1974 article. Judging by almost every introductory textbook on programming (e.g., Introduction to Programming in X ), the practice is as it was 50 years ago—teaching the constructs of language X in some bottom-up fashion, and for each new construct present a program or two that uses the introduced construct.
From the viewpoint of a student, the showcased program has been developed in a single step, starting from a problem specification, and resulting in a working solution. This pattern of teaching programming creates the illusion that programming is trivial and straightforward. When we start addressing a programming problem, we start with incomplete and incorrect programs which we then gradually modify by extending, refining, and restructuring our implementation until we arrive at an acceptable solution. While the ultimate solution to the problem is explained in detail, how we go about developing the solution is almost entirely neglected in textbooks and beginners’ courses. Essentially, programming is one of the best-kept secrets of programming education.
The education I received back in the early 1980s was very different and indeed focused on methods for systematic program development. It planted the seeds for my future research-based approach to promote a systematic, model-based, and learning-theoretic approach to programming education based on stepwise improvement I wrote about this in my dissertation, as well as another article I co-authored in 2007, and a 2009 article.
However, for the global community there are only few indications of changing the prevailing habit, which seems to have become an ingrained part of the global culture of teaching introductory programming. This is a grand challenge. And with computing/informatics education becoming general education in K-12, the challenge not only persists but is reinforced.
In your work with ACM Europe, Informatics Europe, and the Informatics for All coalition, what is an example of an effort that has been especially effective?
ACM Europe and Informatics Europe have worked together for more than 10 years to provide informatics education for all in Europe, initially in the context of Committee on European Computing Education (CECE). A landmark report was published in 2013, and a more substantial report was published in 2017 which mapped the status of informatics in school across Europe.
In March 2018, the coalition Informatics for All was formally established, initially by the ACM Europe Council, Informatics Europe and CEPIS (Council of European Informatics Societies) and later joined by IFIP (International Federation for Information Processing). At the same time, the report “Informatics for All: The Strategy” was presented and discussed in Brussels on a panel of leading informatics educators, computer scientists, and European Commission leaders.
So far, the most influential and effective effort of the Informatics for All coalition has been development of the Informatics Reference Framework for School. The document was developed to provide a coherent vision and shared terminology related to providing informatics for all in Europe as requested by the European Commission in its Digital Education Action Plan.
An interim version of the framework was used for analysis of data and presentation of results in the substantial report, “Informatics Education at School in Europe” published by the European Commission in September 2022. In April 2023, the European Commission published two proposals for Council Recommendations on digital education which are now being negotiated with the European Council (the governments of the 27 Member States). Among other things, the proposals recommend that Member States support high-quality education in informatics at school as a separate subject and ensure that teaching and learning of informatics is supported by qualified and specialized teachers with access to quality and accessible learning resources.
In the 2018 report, “Informatics for All: The Strategy,” preparing teachers is listed as an important goal. How are European countries doing in terms of developing a pipeline of informatics teachers?
This is indeed one of the grand challenges of implementing informatics for all. There is no “silver bullet” for this problem, but we recommend an incremental approach. England developed a national curriculum in 2013 and decided to roll it out in 2014 without proper preparation for teachers or of learning materials. Two years down the road, the Royal Society published the report, “After the Reboot: Computing Education in UK Schools,” which explored the challenges and issues facing the subject in primary and secondary schools since the subject was introduced.
The incremental, stepwise improvement approach we are recommending recognizes that competence and capacity building is a long-term effort that will take years, and also that a “waterfall approach,” where teachers are first fully educated would be inappropriate. One of the huge advantages of an incremental, stepwise improvement approach is that teachers and teacher educators themselves gradually become empowered to contribute to a proper and viable development and implementation of the subject. ”Scaffolding and fading” are important keywords for the process—therefore, early competence and capacity building high in the supply chain is of utmost importance.
Michael E. Caspersen is the Managing Director of It-vest, an information technology educational and scientific network which connects three universities in western Denmark. He is also Honorary Professor at Department of Computer Science at Aarhus University. Caspersen has authored more than 70 papers on various aspects of computing education, and his publications include a two-volume textbook on programming.
He is co-founder and chair of the steering committee for the Informatics for All coalition, co-chair of Informatics Europe’s permanent education research working group, and was co-chair of the Committee on European Computing Education established jointly by ACM Europe and Informatics Europe. Recently, he also served as special advisor on digital education and skills to the Executive Vice President of the European Commission.
Caspersen is the recipient of the 2022 ACM Karl V. Karlstrom Outstanding Educator Award for his contributions to computer science education research, his policy work at the national and international levels to advance the teaching of informatics for all, and his outstanding service to the computing education community.