5 StoryCode Principles
1. Find the best metaphor, from any realm.
Somewhere there is a story, a play on stage, a play in a basketball game, a painting perhaps, which models what you need to illuminate.
Crucial concepts in any field can be abstract and complex, but they do not exceed the products of the human imagination when it comes to intricacy and interconnection. Some accessible model of your concept exists! Go through your books; search the internet; ask all your friends; make it up yourself if you have to.
2. Read the book.
Reading is good for everybody, all the time. Really, it is.
Learners need positive experiences of reading in every subject. When someone is reading a work of fiction in order to understand a mathematical or scientific concept, that very undertaking cultivates an intelligence in which information, creativity, patterns, problem solving and emotion can all reinforce one another. (Oh, and Common Core Learning Standards, of course, reflect this.)
3. Write about computer programming.
Writing embeds the meanings and powers of these processes in the mind.
Computer programming involves so many cool concepts: binary, hardware interacting with software, networks, variables, functions, loops... Whether writing about them is descriptive, creative, analytical or narrative, the expressions of digital operations and dependencies in plain language are powerful integrations of understanding and vital benchmarks of progress through programming.
4. Teach programming, not apps.
The universal elements of good programming are far more important than the widgets and idiosyncrasies of one company's product.
We often link teaching programming with "job readiness", instructing students in a particular corporate-aligned language or application or development environment, yet no one can know which of today's platforms will provide a livelihood tomorrow. StoryCode features Python not because it is any "more powerful" than other languages, but because with its stripped down syntax, you can quickly understand and employ structures that are used in all programming languages.
5. What's free is best.
Why make cost a part of the learning experience?
You can teach a year's worth of programming using, say, Scratch, a text editor, Chipmunk BASIC and Python, total cost to you or your school: $0. Many companies and foundations give away used computers that are more than fast enough to run all these platforms. These wonderful, free tools can be shared with all learners.
StoryCode Builds on Ideas Like These:
- Kohno & Johnson: Science Fiction Prototyping and Security Education
~ Sci-fi can defend networks against threats never seen before. - Burns: Writing in Math
~ eloquent reasons for writing in every subject - Gaiman: Why Our Future Depends on Libraries, Reading and Daydreaming
~ Neil Gaiman explains why everyone needs to read fiction. - Ledgard & Singer: Elementary Pascal
~ Lost files of Dr. Watson reveal Holmes' use of Babbage's early computer.
- Ryan: The Mathematics of Hell
~ Move over Dante; a statistician engineers an Inferno. - Conan Doyle: The Adventure of the Musgrave Ritual
~ Holmes and Watson uncover the best reason ever for learning trigonometry. - UK Dept. for Education: New National Curriculum for Computing
~ an emphasis on skills rather than applications - Kappan & Kafai: Computer Programming Goes Back to School
~ Education Week pushes for concepts over apps. - Larson: Coding the Curriculum: How High Schools Are Reprogramming Their Classes
~ Mashable lauds Beaver Country Day School's inter-curricular Python programming. - Roland: Integrating Programming with Core Curriculum
~ Josh Sheldon (MIT teacher ed) and others emphasize computational thinking over specific languages. (T.H.E. Journal) - IITPSA Questions DBE Decision on Programming Language Teaching
~ The Inst. of IT Professionals of South Africa is alarmed by their Dept. of Basic Education's new Delphi-only policy. - Gent: 'Mundane' Classes Put Thousands Off Computer Science
~ Back in the UK, officials complain toE&T about a lost generation of programmers.