Scratch‎ > ‎

Before Scratch

Although Scratch has been around for some time (2.0 is released) in the fleeting digital world, it is still the new kid on the block relatively.  It is still largely unknown in majority of the classrooms across the world where specific computer course and lab sessions are scheduled in the time table for grades / classes 3rd through 9th.  Then the natural question arises - what is done in these classrooms?  One way to explore this is to consider the following.

Information Technology Enabled Digital Literacy versus Computer Science

This could also be 'Information and Communication Technology (ICT) Enabled Digital Literacy versus Computer Science'.   Literacy, in general, without the computer or technology context is a debatable topic in itself.   When 'computer' or 'digital' literacy is considered specifically, it is not considered a specialized topic anymore as it is counted as the fourth 'R' (add one more to The three Rs).

Let us consider two different sources in this debate.
  1. Wikipedia articles on Computer Literacy / Skills that is heavily edited (and some content removed as it is supposedly original research - so look at the older versions, older than October 2013, for relevant context for this duscussion), Digital Literacy and Information Literacy.   Or we could consider 'Digital Literacy Standard Curriculum Version 3' published by Microsoft which is given as the reference in one of these Wikipedia articles and reflects the list of things to 'know' and 'do'.
  2. Stop Saying "Computer Literacy"! - Brian Harvey, UC Berkeley.

With this context, let us go back to the question of what is done in majority of the classrooms.  The answer in India at this time is that textbooks are used in combination with written exams. These textbooks contain  screenshots of specific operating system and software applications that are out of date (released more than a decade ago and not supported by the vendor anymore).  The closed-book written exams require the students to memorize specific menu items and toolbars to be able to answer the questions.  This methodology is continued through engineering classrooms where the students might be memorizing the code snippets in a given language for standard programming problems in textbooks.  As a result, majority of the students graduating from colleges have no capacity to solve problems using a computer as they rarely try problem solving and programming as a part of the curriculum.

Out of this active debate on 'Computer / Digital / Information Literacy' vs 'Computational Thinking / Computing / Computer Science', certain action plans have been proposed.  A variety of resources have been created based on the action plans and made available publicly to address the 'problem solving' aspects and 'science' rather than teaching specific software interface.  Some of these include,
Scratch happens to be a medium used to implement parts of these curricula as it has become popular.

If it is 'Computer Science' that we want to teach children and no specific software interface in the name of digital literacy, where do we begin?  The above given ECS/CATA/ACM curriculum links are the best resource I found so far.  If we want to know 'Computer Science' in a nut shell refer to the Wikipedia article or just refer to the great insights section which is reproduced below in case it gets deleted on Wikipedia (due to lack of citation)

great insights

The great insights of computer science

According to many computer scientists, there are 3 Great Insights of Computer Science

  • Bacon's, Leibniz's, Boole's, Alan Turing's, Shannon's, & Morse's insight: There are only 2 objects that a computer has to deal with in order to represent "anything"
All the information about any computable problem can be represented using only 0 & 1 (or any other bistable pair that can flip-flop between two easily distinguishable states,such as "on"/"off", "magnetized/de-magnetized", "high-voltage/low-voltage", etc.).
  • Alan Turing's insight: There are only 5 actions that a computer has to perform in order to do "anything"
Every algorithm can be expressed in a language for a computer consisting of only 5 basic instructions:
* move left one location
* move right one location
* print 0 at current-location
* print 1 at current-location
* erase current-location
  • Boehm and Jacopini's insight: There are only 3 ways of combining these actions (into more complex ones) that are needed in order for a computer to do "anything"
Only 3 rules are needed to combine any set of basic instructions into more complex ones:

first do this; then do that
selection :
IF such-&-such is the case,
THEN do this
ELSE do that
WHILE such & such is the case DO this

Note that the 3 rules of Boehm's and Jacopini's insight can be further simplified with the use of goto (which means it's more elementary than structured programming.)

(15 Dec 2013) Source: