Archive for June 1, 2012
Barb said that she got interviewed this last week by a reporter from US News and World Report. Of course, they didn’t keep much of what she said, but they got one key point — the really exciting part is reaching the kids who haven’t already decided that they love computing.
That includes things like mobile app development, artificial life forms, and using the programming language Python to create music remixes—all of which are introductory camps available for high school students this summer at the Georgia Institute of Technology’s Institute of Computing Education at the College of Computing.
Enrolling your teen in intro-level sessions gives them an opportunity to realize their aptitude in areas they hadn’t otherwise considered, says Barbara Ericson, director of computing outreach at the institute, recalling one former summer camper who went on to study computer science at Georgia Tech after his mother signed him up for camp.
“He didn’t even want to come,” Ericson says. “That’s who we want to reach, kids who don’t think they’ll be interested.”
My colleague, Janet Murray, wrote a nice blog post (linked below) identifying what parts of programming that designers need to know. There’s a significant intersection with the CSPrinciples work. She points out that the purpose of a designer learning programming is not to get them to build things for themselves — she says that that would dramatically limit the designers. Instead, she wants them to understand how code is created, what it can do, and how flexible it is. It’s very much about developing a mental model of a notional machine and gaining procedural literacy.
But even expert programmers, especially the self-taught ones, can be ignorant of the key architectural principles that make for good design: information abstraction, modularity, and encapsulation. So I would encourage any designer with a desire to learn programming to become as expert as they can at it because it will help them to think procedurally and to understand the plasticity of the medium. But I’d also remind them that it is the principles of computational architecture that will last them over their career, not the coding.