All of us involved in teaching computer science – teachers, teacher educators, researchers, CS advocates, to just name a few – believe that for all of our students it is important to learn computer science. But, why exactly? An often-heard argument is concerned with job opportunities and a call from the industry. We need software developers, database administrators, web designers, embedded systems engineers, UX specialists â¦
All of us involved in teaching computer science – teachers, teacher educators, researchers, CS advocates, to just name a few – believe that for all of our students it is important to learn computer science. But, why exactly? An often-heard argument is concerned with job opportunities and a call from the industry. We need software developers, database administrators, web designers, embedded systems engineers, UX specialists …
When I just started teaching CS in high school some twenty years ago, I shared this view too. However, only a handful of my students ever chose to pursue such careers and a vast majority opted for something else, across the whole range of science, humanities, and engineering disciplines. Yet, they were glad to have been taught CS. Why is that? What exactly did I offer them that they perceived as valuable?
Gert Biesta, a Dutch education specialist, argues that education has three functions: qualification, socialisation, and subjectification. Qualification relates to providing learners with knowledge, skills, and dispositions needed to do something – for example, professional training to do a particular job – which is exactly the purpose of teaching CS I had in mind as a beginning CS teacher. Socialisation refers to learning “how we do things” and becoming a part of a culture and tradition. In retrospect, while I have always been concerned with the socialisation of my students, only recently have I began to make a conscious effort to introduce them to the norms and values associated with the issue being studied – be it the Zen of Python or zoom etiquette. Subjectification can be seen as the opposite of socialization as it is concerned with becoming more autonomous and independent in thinking and acting. Becoming aware that teaching CS entails this function too gave me a confirmation I was right to have encouraged discussion with my students all along. To give an example, the Dutch government intends to launch a coronavirus tracking app, and while the use of such an app is voluntary in the Netherlands, that might not necessarily be the case elsewhere or in the future. I see it as my duty as a teacher and educator to stimulate my students to critically think about this type of issues, I encourage them to discuss them and form their own opinion – and I do not outsource these discussions to my colleagues who teach civics or philosophy.
I believe it is this approach to teaching CS that makes my students feel attending a CS class is valuable to them. Even if they never come across another python script or a NetLogo model again, they will have become aware of the possibilities, limitations, effects, and desirability of all kinds of tools, techniques, and products made possible by modern technologies that are often fueled by the advances in CS.
In other words, I’m glad I contribute not only to my students’ education but also to their bildung and that I play a part to help them become demanding and critical workers, consumers, and citizens.