Steve Jobs: “computer science is a liberal art, it’s something everyone should know how to use, at least, and harness in their life”

“Quotes from Steve Jobs Lost Interview”:

“Learning to program teaches you how to think. Computer science is a liberal art.”

NPR.org: “Steve Jobs: ‘Computer Science Is A Liberal Art'”:

“In my perspective … science and computer science is a liberal art, it’s something everyone should know how to use, at least, and harness in their life. It’s not something that should be relegated to 5 percent of the population over in the corner. It’s something that everybody should be exposed to and everyone should have mastery of to some extent, and that’s how we viewed computation and these computation devices”

Related:

“Steve Jobs Lost Interview”

YouTube: WGBH: “Steve Jobs 1990 Lost Interview Part 1”:

Reddit.com: “Want: a non-technical description of CS”

Introducing Programming in College with Scratch

I’ve mentioned Scratch as a way to introduce children to programming, but it works just as well, maybe even more so, as a way of introducing teenagers and adults to programming! Don’t take it from me though, take it from Harvard’s CS50, by David J. Malan (who is fantastic in these lectures btw), which has adopted Scratch (it moves on to C and other languages and tools), to help students make some connections early on.

YouTube: “CS50 / Week 0: Friday”:

Harvard: CS50.tv

Academic Earth: “Introduction to Computer Science I”

Scratch: “Starting with Scratch (literally) in CS 1”

“A guided walk through of CS50”

Some thoughts on Project-Based computer science education

Recently I had the pleasure of assisting someone who lives at Connelly House, managed by Project HOME, in bringing his music to YouTube. He was a 50ish year old man, suffering from disability, with no internet or real computing experience to go by, but he had a project. In the journey to produce that single video for YouTube, he learned some basic concepts around navigating the web, managing an email account, and using search, that empowered him not only to produce a single video, but to go on and produce over 30. Now, one experience does not a conclusive study make, but I came away from the this convinced that it is a technique I’d love to try with K-12 students, building an interactive story or video game, and along the way, having a goal for them to learn the basics of computational thinking, problem solving, and basic programming. The software to do this is free and with cloud-based storage (Dropbox) regular access to a basic machine in the home, the technology you need is already here.

This is not an original idea (I don’t believe in original ideas by the way), and there are many who have brought this up as a successful path to introduce programming in the past. Here go some great links to ponder:

Knowing and Doing: Eugene Wallingford: “Problems are the Thing”

Philip Greenspun: “Improving Undergraduate Computer Science Education”

Edutopia: “Project-Based Learning”

“Invent Your Own Computer Games with Python”

Programming, along with Reading, Writing, and Arithmetic – start NOW

Matt Ruzicka wonders what could have happened if his school was visited by someone who shared how programming has less to do with something he could learn in college, and more to do with what he was actually doing in class in his post “School, Math, and Code”. (via “Life and Code”)

More than a few of us from CIM are active in our communities, including my former manager Aaron Held, who received this note from a thankful student who needs more support from others.

Knowledge of programming, not the use of specific kinds of software (word processors for example), is a necessary part of literacy today.

Related:

MIT Scratch

Invent Your Own Computer Games with Python

Google: Exploring Computational Thinking

Program or Be Programmed

Computer Programming for Everybody

Knowing and Doing: “Programming for Everyone — Really?”

MediaShift: Aran Levasseur: “Learning in a Digital Age: Teaching a Different Kind of Literacy”