Category Archives: Education

Children Should Learn Programming Along With Reading and Writing

Boing Boing posts a TEDx talk from Mitch Resnick, of the MIT Media Lab, and creator of Scratch, and a good discussion ensued: “Kids should learn programming as well as reading and writing”. Make sure to watch the talk as well: “Reading, Writing, and Programming: Mitch Resnick at TEDxBeaconStreet”

The World’s Youngest Programmer?

Discovery News: Meet the Youngest Video Game Programmer:

A bright young programmer from Philadelphia recently unveiled a video game involving ballerinas, jewels and vampires — sure to be a hit with young girls. The programmer herself also happens to be seven years old.

Zora Ball, a first grader at the Harambee Institute of Science and Technology Charter School in Philadelphia, created the video game in a class focused on science, technology, engineering and mathematics led by Tariq Al-Nasir, who heads the STEMnasium Learning Academy.

Checkout Zora’s story at Discovery News.

Favorite Reads for 2012

Following is a list of books, essays, and articles I read (or re-read) which feel worth sharing or re-sharing on on New Years Eve:

Books

“Thinking in Systems: A Primer”, by Donella H. Meadows

“Release It!”, by Michael T. Nygard

“Language in Thought and Action”, by S.I. Hayakawa, Alan R. Hayakawa, and Robert MacNeil

“The Stars My Destination”, by Alfred Bester

“One, Two, Three: Absolutely Elementary Mathematics”, by David Berlinski

“Information Diet”, by Clay Johnson

“The Great Stagnation”, by Tyler Cowen

“One Way Forward: The Outsider’s Guide to Fixing the Republic”, by Lawrence Lessig

“The Waste Land”, by T.S. Eliot

“Race Against The Machine”, by Erik Brynjolfsson and Andrew McAfee.

Software Engineering Related Essays, Posts and Papers

“Up and Down the Ladder of Abstraction”, by Bret Victor

“Analogy as the Core of Cognition”, by Douglas R. Hofstadter

“On Being a Senior Engineer”, by John Allspaw

“Quality With a Name”, by James Shore

“Out of the tar pit”, by Ben Moseley

“Paxos Made Moderately Complex”, by Robbert van Renesse

“How Yahoo Killed Flickr and Lost the Internet”, Gizmodo

“The Future is Hypermedia APIs”, by Mike Taczak

“Ubiquitous Programming with Pen and Paper”, by Awelon Blue

“Leverage Points: : Places to Intervene in a System”, by Donella Meadows

“Unicorns and Strong Typing”, by Michael Bevilacqua-Linn

“Big Ball of Mud”, by Brian Foote and Joseph Yoder

“Intrinsic and Incidental Complexity”, by Noah Sussman

“An Introduction to Graphviz via R. Kelly’s ‘Trapped in the Closet’ Hip Hopera”, by Rob Rhinehart

“Damn Cool Algorithms: Log structured storage”, by Nick Johnson

“The Humble Programmer”, by Edsger W. Dijkstra

“Simple Made Easy”, by Rich Hickey

“The Long Tail of Technical Debt”, by Michael Feathers

“The Carrying Cost of Code: Taking Lean Seriously”, by Michael Feathers

“No Silver Bullet”, by Fred Brooks

Making A Difference with Software Engineering

“Homegrown Computer Science for Middle Schoolers”, by Tess Rinearson

“Blue Collar Coder”, by Anil Dash

“Government As A Platform”, by Tim O’Reilly

“How Do Committees Invent?”, by Mel Conway

“Anyone can do it. Data journalism is the new punk”, by Simon Rogers, The Guardian

“I believe a computer program can stand in…”, by Lisa Williams

“How Team Obama’s tech efficiency left Romney IT in dust”, Sean Gallagher, Ars Technica

“How To Tell A Story With Code”, by Rob Spectre

“Urban Storytelling with Open Data”, by Mark Headd

“Making Philadelphia Better Together”, by Mark Headd, Programs & Technology, Office of the Managing Director, City of Philadelphia

Society, Governance, History, Health, Art and Music

“The Condition: Chronic Self-Disclosure”, by Bethlehem Shoals, The Awl

“The Busy Trap”, by Tim Kreider, NYTimes

“The Web We Lost”, by Anil Dash

“A Self-Made Man Looks At How He Made It”, by John Scalzi

“Laws of Physics Can’t Trump the Bonds of Love”, by Tara Parker-Pope, NYTimes

“What I’ve Learned About Learning”, by Reginald Braithwaite

“The Builders Manifesto”, by Umair Haque

“How Will You Measure Your Life”, by Clayton M. Christensen

“When They’re Grown, the Real Pain Begins”, by Susan Engel, NYTimes

“Sincerity, Not Irony, Is Our Age’s Ethos”, by Jonathan D. Fitzgerald, The Atlantic

“Young Worf”, GregOttawa, Reddit

“Believe You Can Change”, by Aaron Swartz

“Going Numb In The Summer Of The Gun”, by Jen Doll, The Atlantic

“Horatio Alger, RIP”, by Jim Tankersley, National Journal

“The 10 Doctors”, by Rich Comics

“Looking back at Star Trek: The Next Generation on its 25th anniversary”, by Brian Phillips, Grantland

“Babies Are Born Scientists”, by NSF.gov

“America, The Fixable”, The Atlantic

A letter from Thomas Jefferson to Joseph C. Cabell on Republican Government

“Welcome to Hell: Philadelphia Has a Serious Case of Post-Traumatic Stress Disorder”, by Steve Volk, Philadelphia Magazine

“You Can Feel The Difference”, Nathaniel Popkin, Hidden City Philadelphia

“Poverty, College and A Dream Deferred”, by Chris Lehmann, Practical Theory

“Clinging to the Skin of this Tiny Little World (The TV Movie)”, by Philip Sandifer, TARDIS Eruditorum: A Psychochronography in Blue

Greg Laden: “Is Python The New Basic?”

Greg Laden recently posted some thoughts about “Python for Kids”, a book by Jason Briggs. Recently I discovered the turtle module, which is heavily used in the book, is included in the standard Python distribution when I tripped upon a tutorial at the Open Book Project. I’m going to have to buy the book and give it a try with Emma.

New Book: “Super Scratch Programming Adventure!”

I recently read about no starch press’s “Super Scratch Programming Adventure!” from a post at boingboing and had to purchase a copy. The book looks as terrific in person as it does in the discussion at boingboing. My daughter was happy to see the book when it came in the mail. I’m looking forward to starting to read it with her and try some of its projects. Check it out.

celandine13: “Often, I think mistakes are more like bugs than errors.”

This was a fascinating post I tripped upon at LiveJournal that I wanted to share. celandine13: Errors vs. Bugs and the End of Stupidity:

In fact, wrong notes always have a cause. An immediate physical cause. Just before you play a wrong note, your fingers were in a position that made that wrong note inevitable. Fixing wrong notes isn’t about “practicing harder” but about trying to unkink those systematically error-causing fingerings and hand motions. That’s where the “schizophrenia” comes in: pretending you can move your fingers with your mind is a kind of mindfulness meditation that can make it easier to unlearn the calcified patterns of movement that cause mistakes.

Remembering that experience, I realized that we really tend to think about mistakes wrong, in the context of music performance but also in the context of academic performance.

A common mental model for performance is what I’ll call the “error model.” In the error model, a person’s performance of a musical piece (or performance on a test) is a perfect performance plus some random error. You can literally think of each note, or each answer, as x + c*epsilon_i, where x is the correct note/answer, and epsilon_i is a random variable, iid Gaussian or something. Better performers have a lower error rate c. Improvement is a matter of lowering your error rate. This, or something like it, is the model that underlies school grades and test scores. Your grade is based on the percent you get correct. Your performance is defined by a single continuous parameter, your accuracy.

But we could also consider the “bug model” of errors. A person taking a test or playing a piece of music is executing a program, a deterministic procedure. If your program has a bug, then you’ll get a whole class of problems wrong, consistently. Bugs, unlike error rates, can’t be quantified along a single axis as less or more severe. A bug gets everything that it affects wrong.