With the intimate entanglement of digital technology with humans and their social way of being, computer science has changed. While some of the problems we deal with are (still) well defined and mostly computationally solvable, many problems are now found to be wicked and ill defined. People and technologies are now part of an interwoven socio-material web in which humans are not the only actors anymore. This pervasive complexity raises challenges for computer scientists and technologists that go well beyond of what could be addressed by a traditional understanding of engineering the most efficient computational tools. It requires us to rethink what must be the core competencies of future computer scientists. New skills stemming from the social sciences or philosophy need to complement engineering skills to create digital technologies within lived experiences. With it comes a major shift in responsibility. In a New York Times article, Farhad Manjoo argued why 2017 could be seen as a turning point for big technology companies as they "began to grudgingly accept that they have some responsibility to the offline world."a Technologists, whether working in dominating corporations, small start-ups, or within academia, can no longer pretend they only solve tech problems. They are required to engage in a moral discourse as most of their products or results are essentially social interventions.
So how can we facilitate such a shift in the thinking as well as in the culture? In a recent workshop we co-organized on "Values in Computing," a group of leading experts in the field of human-computer interaction discussed this question. The outcome was distilled into the Denver Manifesto,b which calls for a shift in the education of future researchers and practitioners to ensure they can not only write software, but are also critically reflecting on their moral positions and their contribution to society.
With this article, we want to report on our efforts to respond to this call and discuss a new entry-level course for students of informatics at TU Wien, Austria.c Its core premise is to enable students to think about problems in computer science (CS) in different ways and from different perspectives. The aim is to plant the seed of critical reflection and equip students with the intellectual tools to see everything they hear subsequently as part of something bigger. Consequently, we have called this new course "Ways of Thinking in Informatics."
We have developed the syllabus over the course of one year and introduced it to over 960 bachelor students in the fall semester 2017. Here, we describe the context in which this course took place, discuss related literature, the rationale for its structure and fundamental concept, report on some of the practical challenges of teaching such a high number of students, and reflect on our experience from this first year.
TU Wien is the largest technical university in Austria with close to 30K active students. The Faculty of Informatics, with over 5K students, is the second largest in the university with an annual intake of 580 students. We offer five Bachelor programs with foci on visual and human-centered computing, medical informatics, software and information engineering, computer engineering, and business informatics. There is substantial overlap between these in foundational courses, particularly within the first semesters, covering programming, mathematics, logic, algorithms and software engineering. As the background of our students varies, depending on the type of school they attended, these foundational courses establish a common ground and basic knowledge to be built on. Ways of Thinking in Informatics became one of the compulsory courses for first-year students of all programs. This means an annual cohort of 700–1000 students taking this course every fall as additional students from other studies register for our course and some are repeating the course.
The faculty decided to introduce this course as an orientation and to highlight the diversity and potential of CS in a rapidly changing world. We were inspired by UC Berkeley's introductory course "The Beauty and Joy of Computing,"d which was one of a series of pilot courses that aimed to teach CS's big ideas and the most important computational thinking practices.20 However, we also felt the focus on computational thinking maybe is only part of a bigger picture, which is how we set out to build a curriculum that emphasized the diversity of thinking styles. Importantly, we also wanted to follow our university's leitmotiv "Technik für Menschen" (Technology for people) and situate these thinking styles within the context of society.
The need for including aspects of societal impacts and ethics into CS curricula was laced into the ACM/IEEE CS Curriculum 27 years ago.22 However, as Goldweber et al. note, the uptake and implementation of such themes in the CS curriculum has been slow. In their survey, they point out that while most institutions teach relevant topics, most narrowly focus on ethics or computing history and teach them relatively late and detached from other topics.4 Considering the recent surge in relevant courses being taught at many universities,e this may be slowly changing in response to the public discourse around societal impacts of digital technology.
However, Ways of Thinking does not aim to be a course about societal aspects of CS. Rather, we argue CS is inherently social and no social aspects can be meaningfully separated from CS. Consequently, we teach very fundamental concepts such as abstraction, cryptography or complexity theory alongside and interwoven with algorithmic bias, the historical role of women in programming, or questions of privacy. This resonates with Skirpan et al., who recently argued that ethics education in CS must be continuous, in-situ, and perspectival.19 In other words, talking about ethics must be part of talking about CS, which in turn requires the ability to take multiple perspectives on computing problems.
The key premise of the course is to enable students to apply different lenses on problems of CS, situated in the world. Each such lens, or way of thinking, frames these problems differently, provides different theoretical foundations, and brings with it a unique orientation for questions and methods through which they can be explored. The sequence of Ways of Thinking is designed to be semi-historical and somewhat follows a logic increasing complexity. However, we emphasize that these ways of thinking are neither qualitatively ranked, nor mutually exclusive. In fact, the final assignment to students asks them to analyze one given context through multiple lenses with the aim to reveal the benefits of applying different ways of thinking at the same time.
We also acknowledge that the range of thinking we cover in this course is neither complete nor the only possible way of categorizing the perspectives one could take. In fact, we would encourage educators in the field to develop other ways of organizing such a course that teaches perspective-taking as a prerequisite for becoming a reflective practitioner or researcher. Based on initial feedback and on our experience teaching the course, we believe that our choices have been effective in this respect.
The aim [of this course] is to plant the seed of critical reflection and equip students with the intellectual tools to see everything they hear subsequently as part of something bigger.
Here, we walk through 10 different ways of thinking and have included three cross-sectional topics that are interwoven with them. We also provide brief accounts of all chapters of the course.f
Subsequently, we introduce the work by Kuhn8 on scientific revolutions. As an example for the notion of paradigm shifts, we discuss the three "waves" in human-computer interaction (HCI), starting with the classic human-factors approach, leading to the cognitive science perspective, and to situated and embodied HCI.6 This leads us to the main ontological and epistemological positions of (post-) positivism, critical theory and constructivism as philosophical orientations towards science.5 Importantly, we develop a view on what doing "good science" means within these paradigms and highlight the link between one's paradigm stance and the possible questions that could be asked about a problem.
In the typical mathematics course, the value of these concepts gets buried under an overwhelming avalanche of practical exercises and theoretical test taking. We show students the ideas behind those concepts and why they make sense in the specific perspective of mathematical thinking. For example, by understanding the difference between a proof and mere evidence, students can see the unique benefit they get from approaching problems with the toolset of mathematics. At the same time, they can see the price they have to pay when abstracting complex real-world problems full of interdependencies and inherent contradictions to come to mathematical expressions.
In the course, we discuss examples like the one mentioned here. We stage a session of live coding where the difficult to understand solution to the Monty Hall problem18 becomes accessible not only through running a computer simulation, but more importantly by carefully reading the code itself. Following this line of argument, we explore aspects of code as knowledge representation. Starting with the cognitive developmental stages of code understanding by Lister,11 we show that code can be much more than instruction to a machine; it represents knowledge and can even be used to make an argument. Again, this offers an additional layer of meaning for students to think about code and coding, which they will be doing a lot during their studies.
For many students, this way of thinking bears a particular challenge to accept and understand. On one hand, they can appreciate the value of good design from successful products on the market, with Apple being the obvious model example, for better or for worse. This creates an interest in design, insofar as they see it as a crucial element of their future work. On the other hand, to understand the consequences of the "wicked" nature of design problems16 is more difficult to embrace, as it questions the traditional problem solving strategies of informatics as well as of engineering in general. Our goal is to foster an understanding that most problems are not "given" or even defined apriori, but rather emerge from an interwoven process of problem solving and problem framing that requires a special way of thinking.
We then explore two main areas of moral import for future computer scientists: ethical conduct in science, and responsible research and innovation (RRI). Going through classic examples such as the Milgram experiment and the Tuskagee study, and linking back to the Nuremberg trials, we derive some fundamental principles such as informed consent, respect, fairness, or judging the balance between knowledge gain and risk to participants. Within a broader picture, we pick up the RRI framework implemented by the European Union21 to discuss central pillars for a reflective and responsible practice.
Cross-sectoral topics. In addition to the main ways of thinking chapters, three cross-sectional topics are included: History of computing, computers and society, and gender and diversity in informatics. We see the history of computing as a necessary foundation in order to understand the discipline, helping students to make sense of the discourse around current trends and issues. In our presentation, we emphasize the history of thought over the history of technologies or the history personalities as, for example, discussed in the works of informatics historian Jörg Pflüger.14,15
The contents for computers and society are selected from current developments and press coverage of science, practice and politics concerning informatics. We use a weekly recurring format of the best and worst of informatics where we present the most interesting and encouraging stories, as well as scary news from scientific literature and news. The selected stories are discussed using the perspectives and concepts of the different ways of thinking covered so far. Questions of privacy, surveillance, copyright, and security are popular themes.
Additionally, areas of tension from society and technology as well as aspects of gender and diversity are interwoven whenever there is opportunity to do so. For example, in economical thinking we discuss the toxicity of the "bro" culture in startups that became evident in scandals surrounding Uber;g in critical thinking we broach the issue of the manipulation of Google's search result sorting in the wake of the U.S. election;h in criminal thinking we discuss the (ab)use of data from social networks to target vulnerable teenagers with ads.i
As with the core chapters in this course, we aim to relate fundamental issues, principles, or theories to recent points of discussion in the general public, which in turn creates a meaningful link to the lived experiences of students.
For most of the chapters mentioned here we provide an assignment that students work on individually or in groups and hand in online. Each assignment typically comprises a series of tasks that include formulating responses to discussion items on the basis of online research, reading scientific articles, conducting interviews, and/or doing some practical work such as designing an infographic, conceptualizing a user interface, or play a learning game. Each assignment ends with a task in which students are asked to reflect on their learning outcomes. To facilitate the assignments, we use a format we developed over the last few years (for example, see Luckner and Purgathofer12) that allows students to choose from multiple alternative exercises across each chapter, staged sequences of tasks, and double-blind peer reviewing among students as a way to learn how to offer and appreciate criticism. The evaluation of the work handed in by students individually as well as the quality of reviews they write makes up for 65% of their final grade.
The double-blind peer-reviewing aspect of their evaluation can also be seen as a constructive alignment1 with the Ways of Thinking in Informatics. One of the learning outcomes is the critical reflection of students' own practice; they write and receive reviews that critically reflect on their own work as well as the work of other students; additionally we practice critical reflection during the lectures based on their input within the best and worst of informatics format.
Computer science is inherently social and no social aspects can be meaningfully separated from computer science.
The remaining 35% of their grade comes from the evaluation of a group work project where students analyze and discuss a speculative video about technologyj from the different perspectives offered by the course. Each member of a team of three or four students selects one of the main chapters of the course and discusses the content of the video through the chosen way of thinking. We support this by offering a number of lead questions for each chapter. The group then meets, debates commonalities and conflicts between the different perspectives, and documents the individual perspectives as well as the outcome of the discussion in a common paper. This paper is handed in, graded, and discussed with a tutor in a brief meeting.
Slightly more than three quarters of the students successfully completed the course. Of those 23% who failed (193 of 845), all dropped out during the semester and did not complete all challenges. While the formal course evaluation survey has not drawn many responses,k the final challenge included a task that probed for students' overall experience and reflections. Alongside with informal feedback in the classroom, these painted a rather positive picture of the course's reception.
One of the goals we pursue with this course is to offer students tools and structures to help them make sense of the rest of their studies. Based on a largely constructivist learning theory, we believe that what you learn is to a great extent determined by the diverse and holistic ways you are enabled to think about a subject matter. Quotes such as these suggest this was on offer:
It gave me a good overview and served as a reminder to critically engage with future content in my studies. (Final reflections, translated)
By seeing larger ordering principles, students are invited to build cognitive equivalents of shelves or drawers for future knowledge to be organized by. For example, by exposing the inherent meaning of some mathematical terminology, we offer a new layer of meaning for students to organize what they learn in their mathematics courses. If they can appreciate the special nature of the mathematical proof, they can understand its value in the implementation of dependent systems.
We offer students different ways of thinking in informatics that can become ways to look at problems, ways to ask questions, ways to see deficits in the narrow and one-dimensional approaches we often find in overspecialized subject areas. In effect, we want to enable students to develop a reflective practice that suggests taking a step back from focused learning goals in an attempt to see the bigger picture. This was also perceived as a skill being taught in this course:
Importantly, constantly being asked to reflect on content will be valuable skill for my studies and future career. (Final reflections, translated)
Such a practice affords connecting knowledge at different levels and from different perspectives that will ultimately be the key skill for future technologists, whether in research or industry, to tackle the unknown challenges of the future. This quote from one of our students speaks to this:
Initially, I could not figure out what I have learnt from this course ... Later, with more reflection, the value became more apparent and with the final challenge I really realized what I can take away from it—much more than I thought. (Final reflections, translated)
Another goal of the course was to help students in understanding the rationale for our curriculum. Ways of Thinking in Informatics is part of an introductory/orientation phase of the program. By offering apriori meaning for many of the courses they visit later, we supply an opportunity to see purpose in the curriculum.
We believe that what you learn is to a great extent determined by the diverse and holistic ways you are enabled to think about a subject matter.
We ran this course in its entirety for the first time during winter semester 2017. With over 800 registered students, it has been a tremendous challenge, not only to design the content and the pedagogical approach, but also to find innovative solutions to the logistics of teaching such large numbers of students. We can confidently say this experiment has been a success as evidenced by the largely positive feedback we received from students. What the longer-term impact is—that is, the ways in which we enabled students to think differently about what they will learn in the remainder of their studies—remains to be seen, but we are inspired by the students' engagement with this course, and are hopeful that it has created a new quality of foundations to their studies.
As computer scientists and educators, we also are humbled to be given the opportunity to plant this seed in so many students at a crucial juncture of their development—at the start of their studies. While the task to teach a new introductory course in informatics to hundreds of students hardly ever draws many volunteers among a faculty, our experience was that it results in no small gratification to have made a, maybe small, but significant difference in shaping what so many future technologists see as their role in the world.
1. Biggs, J. Enhancing teaching through constructive alignment. Higher Education 32, 3 (1996), 347–364.
2. Buxton, B. Sketching User Experiences: Getting the Design Right and the Right Design. Morgan Kaufmann, 2007, ISBN 978-0123740373.
3. Gedenryd, H. How designers work–Making sense of authentic cognitive activities. Ph.D. thesis. Lund University, 1998.
4. Goldweber, M. et al. Enhancing the social issues components in our computing curriculum: Computing for the social good. In Proceedings of the 2010 ITiCSE Working Group Reports. ACM, New York, NY, 2010, 117–133, ISBN 978-1-4503-0677-5.
5. Guba, E.G. and Lincoln, Y.S. Competing paradigms in qualitative research. Handbook of Qualitative Research. N.K. Denzin and Y.S. Lincoln, Eds. Sage Publications, London, U.K., 1994, 105–117.
6. Harrison, A., Tatar, D. and Sengers, P. The three paradigms of HCI. In Proceedings of alt.chi. ACM SIGCHI, 2007.
7. Kramer, A.D.I., Guillory, J.E. and Hancock, J.T. Experimental evidence of massive-scale emotional contagion through social networks. In Proceedings of the National Academy of Sciences 111, 24 (June 17, 2014), 8788–8790, ISSN 0027-8424.
8. Kuhn, T.S. The Structure of Scientific Revolutions. 2nd Edition. University of Chicago Press, 1970, ISBN 0-226-45803-2.
9. Lawson, B. How Designers Think. Routledge, 2005. ISBN 978-0750660778.
10. Light, A. et al. Special topic: Taking action in a changing world. Interactions 25, 1 (Dec. 2017), 34–45, DOI 10.1145/3169128.
11. Lister, R. Toward a developmental epistemology of computer programming. In Proceedings of the 11th Workshop in Primary and Secondary Computing Education (Münster, Germany, 2016), DOI: 10.1145/2978249.2978251.
12. Luckner, N. and Purgathofer, P. Exploring the use of peer review in large university courses. IxD&A 25 (2015), 21–38.
13. Nissenbaum, H. How computer systems embody values. Computer 34, 3 (2001), 120–119, DOI 10.1109/2.910905.
14. Pflüger, J. Konversation, manipulation, delegation: Zur ideengeschichte der interaktivität. Geschichten der Informatik. H.D. Hellige, Ed. Springer, Berlin, Heidelberg, 2004; https://doi.org/10.1007/978-3-642-18631-8_15.
15. Pflüger, J. Writing, building, growing: Leitvorstellungen der Programmiergeschichte. Geschichten der Informatik. H.D. Hellige, Ed. Springer, Berlin, Heidelberg, 2004; https://doi.org/10.1007/978-3-642-18631-8_12.
16. Rittel, H.W.J. and Webber, M.M. Dilemmas in a general theory of planning. Policy Sciences 4, 2 (1973), 155–169, DOI: 10.1007/BF01405730.
17. Schön, D.A. The Reflective Practitioner: How Professionals Think in Action. Basic Books, New York, 1983.
18. Selvin, S. A problem in probability (letter to the editor). American Statistician 29, 1 (1975), 67–71.
19. Skirpan, M. et al. Ethics education in context: A case study of novel ethics activities for the CS classroom. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education. ACM, New York, NY, 2018, 940–945, DOI: 10.1145/3159450.3159573.
20. Snyder, L. et al. The first five computer science principles pilots: Summary and comparisons. ACM Inroads 3, 2 (2012).
21. Stilgoe, J., Owen, R. and Macnaghten, P. Developing a framework for responsible innovation. Research Policy 42, 9 (Nov. 2013), 1568–1580, DOI 10.1016/j.respol.2013.05.008.
22. Tucker, A.B. Ed. Computing curricula 1991. Commun. ACM 34, 6 (June 1991), 68–84; DOI 10.1145/103701.103710.
23. Willingham, D. Critical thinking: Why is it so hard to teach. American Federation of Teachers 31 (2007), 8–19; https://doi.org/10.3200/AEPR.109.4.21-32.
24. Wing, J.M. Computational thinking. Commun. ACM 49, 3 (Mar. 2006), 33–35, DOI 10.1145/1118178.1118215.
b. http://www.valuesincomputing.org/the-denver-manifesto/
c. http://informatik.tuwien.ac.at/English
d. http://guide.berkeley.edu/search/?P=COMPSCI%2010
e. See, for example, the collection of ethics related courses started by Casey Fiesler; https://bit.ly/2IZ2L3O
f. A full English version of the syllabus with additional resources is available at https://wot.pubpub.org
j. "Uninvited Guests" by Superflux Lab; http://superflux.in/index.php/work/uninvited-guests/
k. Low numbers of responses in these surveys are the norm at our university.
We invite everyone to leave inline comments on any part of the full syllabus at http://wot.pubpub.org
Copyright held by authors/owners. Publication rights licensed to ACM.
Request permission to publish from [email protected]
The Digital Library is published by the Association for Computing Machinery. Copyright © 2019 ACM, Inc.
No entries found