ABSTRACT

This chapter focuses on the meanings typically intended when "coding" is discussed in the public arena around computing education. In kindergarten, primary, secondary and twelfth grade, and in formal discussions, the general area in which coding is central is referred to using terms such as "computing", "computer science" and "digital technologies". To explore how these all connect, we look at these different aspects of "coding"; programming, computer science, computational thinking, and software engineering. The skill of "coding" touches on a range of issues, from more technical concepts to social practice, such as how to develop software in a team environment, and how to design it in a way that is sympathetic to the needs of the end user. A common complaint about traditional computer courses is that they have reinforced the role of a user at the mercy of the system they are using, rather than empowering them to change and create new systems.