Earlier, I tweeted that Computer Science Week was bringing me flashbacks to 1991 and my BASIC programming class at Apollo HIgh School in Owensboro, KY. |
There are few high school assignments I can recall in any detail, but I do vividly remember investing hours at school and home coding a program about how to read measurements an English ruler. Actually, I can’t really remember exactly what the program did, but I will never forget the feeling of accomplishment from the persistence it took to write all those lines of code, the opportunity each failed attempt gave to refine the work and learn, and the wonder of figuring out how to communicate with something as powerful as a computer. I went on to have a few more adventures in programming -- Pascal course the following year; self-teaching FORTRAN during summer college program at NASA Langley, and website creation and maintenance with HTML coding -- but not any more formal training nor opportunities to really advance my skills.
Until this year, when I got to attend a CIESC workshop sponsored by Code.org and taught by Dr. Michele Roberts. She focused on two elements, the basic principles of computer science and practice with the Blockly language on the code.org website.
My main takeaways:
- I remembered how much fun programming can be -- recognizing a goal and working toward it step by step.
- I remembered how frustrating programming can be -- attempt after attempt until success -- but realized how beneficial a block language, like Blockly, is by removing the frustration inherent in a text-based program where an otherwise perfect code won’t work just because of one single misplaced semi-colon or line number.
- I recognized that what I really developed from my early experiences with programming was computational thinking.
- I recognized that every student should learn the skills involved in computational thinking.
ISTE and the Computer Science Teacher Educators put together an explanation of computational thinking that states:
"Computational thinking (CT) is a problem-solving process that includes (but is not limited to) the following characteristics:
These dispositions or attitudes include:
|
In fact, I think I can credit my personal development of computational thinking with leading me to the incredibly fulfilling choice of physics as a degree major and teaching field. (well, that and MacGyver…)
When children first learn their native language, we don’t worry about correcting syntax or grammar. We simply applaud when they can convey an idea using words. Computer science for too long has been thought of as a college level linguistics course, and therefore only accessible by advanced or older students. We need to focus on the necessity of ensuring that a;ll students are able to put their thoughts into messages that can be interpreted by a computationally-thinking machine.
And that is why recognizing Computer Science Week is so necessary and meaningful. Be sure to check out some of the great activities shared on Twitter with #HourofCode.
When children first learn their native language, we don’t worry about correcting syntax or grammar. We simply applaud when they can convey an idea using words. Computer science for too long has been thought of as a college level linguistics course, and therefore only accessible by advanced or older students. We need to focus on the necessity of ensuring that a;ll students are able to put their thoughts into messages that can be interpreted by a computationally-thinking machine.
And that is why recognizing Computer Science Week is so necessary and meaningful. Be sure to check out some of the great activities shared on Twitter with #HourofCode.