By everyone I mean EVERYONE

While I’ve primarily posted things so far about teaching programming to kids, I stand by my domain name: computer science is for everyone. Students being able to get first jobs is important…and so is other people being able to start new careers. Two news blurbs to highlight on the subject:

The first, from TechCrunch: Codecademy, one of the biggest names in online programming tutorials, is teaming up with a series of other organizations to create broader initiative ReskillUSA. Their focus, according to CEO and co-founder Zach Sims, is “making the pathways for people clear for how to get from zero to employed,” by assembling quality resources and working to convince employers that you don’t need a college degree to be competent. (Probably obviously, I am SO on board with that.)

The second, from Ars Technica: a groundbreaking initiative to spread California’s ever-expanding tech community into San Quentin Prison. Eighteen inmates are participating in a JavaScript immersion program: six months of eight hours a day, four days a week. Long-term effects remain to be seen; a major challenge so far is that inmates aren’t allowed internet access, so it would be difficult for program completers to consult with and get code out to potential clients before their release. Afterward, though, “[t]he education and training gained from the 7370 coding academy will instantly change the trajectory of my life. There is nothing like being self-sufficient and educationally astute after paroling from prison,” says participant Joseph Demerson.

Any readers with programming experience will likely join me in applauding these men for their dedication: working on a big project without being able to consult related forum discussions when you get stuck is no small feat!


Thanks are in order

So we’re gearing up for Thanksgiving around here, and I’ll no doubt post a slightly cheesy things-I’m-thankful-for essay later this month.

Escaping cheesiness by being less cliched, though, and more timely to me, I’ve got some thanking to do. As anybody who’s personally connected to me probably knows, my dad died four weeks ago, and in working both through the associated emotions there and on setting up this blog, I’ve come to realize there are a lot of connections to be recognized and appreciated.

My dad was a relatively early adopter of technology – some of my earliest memories are playing a computer game in ’93 or ’94 that involved manipulating animated rodents of some kind through a landscape of tree houses, and sneakily watching my parents puzzle their way through Myst and then Riven together. They had a car phone and then cell phones early, and I remember poking around with the text-based card games on their early cell phones, trying to think about how they must work.

More importantly, though, my dad taught me to use the internet, showed me how hotkeys worked, and gave me an introduction to algorithmic thinking by teaching me to beat the computer players in the Hearts game that came with Windows 98. He set up my first email, let me be part of my childhood church’s transition from slide projectors to PowerPoint, and bought the graphing calculator that gave me my first taste of writing code.

Eventually, I went to a STEM-focused charter school that was residential, a place among the 10% of American schools that teach computer science. It’s really only in the last little while that I’ve come to realize how hard that was on my dad – he wasn’t great at expressing feelings in words, but at the visitation a friend’s mom made a point of telling me about the time – shortly after I’d left – that she asked him how school was going for me, and he evidently told her, “I think she’s doing well…but I miss her.”

Both inside and out of the tech world, my dad was on my side: he’s the only member of my family who came to a high school swim meet, he went out of his way to see a truly dreadful school play I starred in, and he and my mom curtailed a conference and dashed down to my school to watch me give the talk I’ve been expanding on. I knew that no matter what I set my mind to, he’d have my back.

My dad made me feel like I could do anything, which was exactly what I needed to succeed as a woman in a male-dominated field. I am more grateful to him than I can say, and I only wish I’d taken the opportunity to let him know that while he was healthy. I miss him with every fiber of my being.

Being students as well as teachers

Okay, regular series resumes shortly, promise. Today, though, I’m just coming home from an introduction to Clojure event, a language I’d never seen before and that we wasted no time diving right into. And to be honest, I didn’t get that much of it…which was exactly the feeling I needed to remember. Teachers, I can’t stress enough how important it is to periodically experience material in your content area that’s in your own ZPD, if you will. There’s more than PD and PLCs! English teachers, pick out a challenging tome and force yourself to read twice as many pages in a setting as you normally would. Science teachers, dig up some challenging research or attend a seminar outside your own specialty. Phy Ed teachers, go try a sport you’re really not into! Refining your pedagogy is important, and so is discussing strategies with your peers…but remembering what it’s like to struggle in your discipline is also a key aspect of remaining effective.

Introducing…tooltime Tuesdays!

tim allen

So I am a sucker for 90s memories and for alliteration. And part of my intent for this blog was to connect people to resources, teaching tips, and accounts of my own teaching experience to learn from and try for themselves, not just to rant (/preach to the choir, most likely).

To that end, I’m introducing a suggested resources page that I’ll add to periodically. Today I’d like to highlight three things, two for teachers and one for students:

  • The Google code-in contest: Unlike typical programming competitions, students get experience writing/debugging/documenting/marketing real-life code for open-source software. If you have middle/high school students at almost any level of tech expertise (techspertise? …probably not), there’s something for them here.
  • Another Google resource, this one for CS teachers: a K-12 computer science search engine. I have yet to dig deep into this, but it seems useful so far.
  • For science teachers who’d like to learn to incorporate more computing into their curricula, join me in working through Project GUTS’s online PD course on computer modeling for middle/high school science courses. GUTS stands for Growing Up Thinking Scientifically, and the course involves an online portfolio as well as a science-related Hour of Code activity.

More to come! Stay tuned.

We interrupt your regularly scheduled programming…

…to bring you a snowstorm-induced lack of time to write the planned post. A question instead, spurred by a Girl Scouts workshop I helped lead this past weekend: how do you talk to kids about creating usernames and passwords? Fortunately, all but one of the girls in my group already had a pretty good idea of what they needed to do, but I ended up sort of stuttering, “Uh, it’s like a nickname you create for this website…”. And passwords? Shoot, even us grown folks are struggling with those.

Sunday soapbox: knowledge isn’t the only gap

Two days ago I suggested that even people who won’t be professional programmers may benefit from being able to create something like a website or mobile app for their own business or personal use. The case study I gave  computer science professor Paul Pauca, who, along with some of his students, created an iPad application to help his son, diagnosed as a toddler with Pitt Hopkins Syndrome, communicate with his family and therapists. They shared it in the Apple app store, and a year later, 1100 copies had been downloaded.

It’s fantastic that hundreds of families were able to benefit from the work they did, especially given the typical prices of standalone augmented/assisted communication devices. But I can’t help but wonder: what if you didn’t have to wait for a team of students working on expensive degrees? What if a member of each of those hundreds of families had the tools to create their own application, tailored to their own child’s unique needs?

Reality check, though: even if we open up who has the software knowledge, we’ve still got to keep an eye on who has access to the hardware, something Pauca himself comments on here (with apologies for headline’s lack of persons-first language).

Last weekend I went to a seminar about AppInventor, where groups of teenage students worked through introductory tutorials while other teachers and I had a crash course in the software and a conversation about how to teach it to students. I spent the rest of the day swapping emails with a young teacher friend about her mental prototypes for apps she wishes she had for using in her (1:1 iPad) classroom. As I dug around for things that might be potentially useful to her, Android app designs from the morning rattling around in my head, I stumbled into this. The part that got me:

At Apple, we see the results of…inequality every day. Minorities are significantly underrepresented in the technology industry. We want to do our part to change this. We want to open the vast potential of all the world’s future inventors, future dreamers, and future leaders.

I’m frustrated because that doesn’t match up with my experience of the ed/tech world. I got jazzed watching high school kids get jazzed about creating apps…and then realized that being able to write and then use your own apps is a long way off because the iPad has the school technology market so thoroughly dominated. Saying that you want to open up the world to inventors does not jive with a development process that requires an Apple device and the ability to pay a $99 registration fee only to wait through an uncertain review period. I understand that the security that comes from keeping out third-party apps is a huge part of the draw for schools…but surely there has to be some middle ground.

But…not everyone will be a programmer, part 2

Yesterday’s post talked about the usefulness in other careers and day-to-day life of the factual knowledge gained from studying computer science, but another idea worth touching on is all of the transferable skills to be gained.

Programming is all about being empowered to create something, not just to memorize and regurgitate. Programming is setting an objective or choosing a task, imagining how to achieve it, and then breaking it down into steps small enough to implement. Learning to program pushes you to be resourceful: when you reach the end of your own knowledge, you have the tools to acquire more and then to make it your own by applying it to a project.  It’s about being able to check your own answers, see that your solution isn’t quite right, and then keep trying new ones until you get it. It’s the open-endedness of the humanities combined with math’s requirements of specificity and clarity. In that, it may not be just a liberal art, but perhaps even the liberal art.

Individually, programmers have to develop strategic thinking, thoroughness, self-reliance, and executive function. And that doesn’t even begin to touch on the interpersonal skills to be learned from working on a large project with a team! Can anyone who works with students (or employees, for that matter) honestly say they don’t wish those skills were better developed?