Posts

Showing posts from March, 2018

Teaching abstraction to high school students

Image
I have often found Abstraction a difficult concept to explain in high school computing classes. I now think that I found a few good examples to illustrate this concept and this post is about one of them. First, let's define the word: Abstraction ...  is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics. ( Abstraction on Whatis.com ) In other words, we hide some detail so we can concentrate on the essential features of the problem at hand. Below, I will attempt to illustrate with an example which is implemented in Snap! , a block-based language created at the University of California, Berkeley. The problem Say, for instance, we wanted to draw this brick wall: Brickwall activity from Beauty and Joy of Computing, UC Berkeley