Philosophy
"Low floors, High Ceilings, Wide Walls"
- Mitch Resnick
Why Teach Coding?
“On a functional level, a basic understanding of code allows people to understand the design and functionalities that underlie the interfaces, technologies, and systems that we encounter daily. On a political level, understanding code empowers people and provides resources for examining and questioning the design decisions that populate our screens. Finally, on a personal level, everyone needs code for expressive purposes to communicate and interact with others and build relationships”
(Kafai and Burke, Connected Code, 2014, p. 135)
Playgrounds - not Playpens
Dr. Marina Bers describes the Playground vs Playpen mentality.
This clip is derived from her TED Talk here.
Coding as a Literacy
“Reading and writing are Technologies of textual literacy, while coding is a technology of computational literacy.” (Bers, 2018, p 24)
“Literacy, like coding, assumes the ability to produce an artifact detached from its creator. There is a producer with an intention, with a passion, with a desire to communicate something. Writing, like coding, is a medium for human expression.” (Bers, 2018 p. 28)
“The goal of coding is expression, not problem solving. Problem solving is a tool for expression. We have something to say, a project to show, an idea to explore, and we do it through making a personally meaningful project to share with others” (Bers, 2018, p 29)
Computational Thinking
Problem Solving
Iteration; Tinkering; Bricolage
Digital Literacy
Approach to solving problems that can be implemented with a computer
“Computer science is no more about computers than astronomy is about telescopes” Edsger Dijkstra
Disposition
Perspective; Habits-of-mind
Communal Participation
Expression, Communication