Socially responsible programming: Where computing education and the market diverge
Software and IT infrastructure are increasingly influencing the way we live and work. The programmers of these tools therefore also bear a high level of social responsibility. But as an in-depth analysis by the DIPF | Leibniz Institute for Research and Information in Education and the Fernuniversität in Hagen now shows: In the programming education of computer scientists and in the job profiles of the tech companies, questions of social responsibility are considered, but different aspects are missing on both sides. The requirement to act responsibly towards society as a whole is not found at all.
The study conducted by Dr. Natalie Kiesler of DIPF and Carsten Thorbrügge of Fernuniversität in Hagen was presented at the "2023 Conference on Innovation and Technology in Computer Science Education" of the "Association for Computing Machinery" in Turku, Finland, and published in the corresponding conference proceedings.
For their study, the researchers first developed a working definition of socially responsible programming based on guidelines from professional societies and market expectations. According to this definition, programming should be done in a manner that is beneficial to all stakeholders and should be honest about the performance and limits of programs. Among other things, this requires the knowledge of respective laws and being able to assess the consequences for different groups and take them into account for technological developments. This definition served as the basis for three evaluations by Kiesler and Thorbrügge:
1. The two researchers conducted in-depth analyses of some of their earlier work. They examined expected competencies in the framework curricula for vocational training as an IT specialist and in the basic training of the computer science bachelor's degree program at 35 German universities.
2. Another existing dataset from a scientific team at Kiel University led by Gregor Große-Bölting was analyzed again. The focus was on the curricula of specific ethics courses in computer science studies at 67 universities.
3. In a completely new investigation, the study team also analyzed 30 job advertisements for software engineers. They looked at two ads from each of the 15 largest international tech companies (by revenue and market value).
Using this data, the researchers identified six levels of socially responsible programming: act responsibly towards (1.) the data and any bias it may contain, (2.) government requirements, (3.) the company, (4.) direct team colleagues and project members, (5.) customers and users, and (6.) one’s self. They then compared these categories in the above-mentioned teaching contents and job profiles in a qualitative study of the data sets.
Results:
As core findings of the analyses, Kiesler and Thorbrügge state: "The education of programmers and the job descriptions of the IT industry do not integrate all the aspects of social responsibility we have identified - with different gaps on each side." For example, the specifications in vocational training and at universities lack responsible handling of data as well as company regulations. But these aspects are expected by companies in their job profiles. Conversely, educational programs address a responsible approach to one's own needs in basic terms, but this aspect does not appear in the job advertisements.
What both sides have in common is that they integrate a responsible approach to one's own team and project partners, to customers and users, and to government requirements. However, what stands out as a general gap and was therefore not included as a comparative category: "Neither in the computing education nor in the job advertisements does it occur to also act responsibly towards society as a whole when programming," according to Kiesler and Thorbrügge.
With regard to the educational pathways, the study also revealed other problematic aspects: For example, legal requirements were part of the vocational training and ethics courses at the universities, but not of the basic computer science courses there. In addition, 34 of the 67 universities do not offer ethics courses at all, as the evaluation of Kiel University had already shown. Yet these courses can help to focus on the topic of socially responsible programming. In 24 cases, they exist as optional offerings, and only at 9 universities are they mandatory.
Implications:
As a central conclusion from these results, the researchers see that computing education and job profiles of tech companies should integrate the missing aspects of social responsibility. "It's not just about matching supply and demand in the job market. Considering the high importance of software and IT infrastructure, it is also a matter of systematically placing socially responsible programming more firmly as a topic overall," explains Natalie Kiesler. Carsten Thorbrügge adds: "Socially responsible programming should not only be part of basic education at universities but should be supplemented by more advanced ethics courses."
However, the study authors point out that the scope of their analyses is limited. Among other things, the study refers only to normative teaching requirements and does not take into account actual teaching practice in vocational training and at universities. In addition, the number of job ads used was relatively small and did not include ads from small and medium-sized companies with possible local differences.
The full scientific paper on the study is available online.
Press contact: Philip Stirm, DIPF, +49 (0)69 24708-123, p.stirm@dipf.de, pr@dipf.de
Wissenschaftlicher Ansprechpartner:
Dr. Natalie Kiesler, DIPF, +49 (0)69 24708-534, n.kiesler@dipf.de
Carsten Thorbrügge, Fernuniversität, +49 (0)2331 987-4352, carsten.thorbruegge@fernuni-hagen.de
Originalpublikation:
Kiesler, N. & Thorbrügge, C. (2023). Socially Responsible Programming in Computing Education and Expectations in the Profession. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education Vol. 1 (ITiCSE 2023, pp 443-449), New York, NY: Association for Computing Machinery. https://doi.org/10.1145/3587102.3588839