Another co-worker in the Montreal Mother trade, learning and teaching code!
For the past year, I have been increasingly convinced that every kid should learn to code. Since I have daughters and I work at an all-girls’ school, my interest tends to lean toward getting girls interested in programming, but I guess boys can still learn too (before you get your knickers in a knot- I was kidding! Of course, boys should learn too. But not frogs. They would have to invent a flipper friendly keyboard).
Here are some of my talking points on this subject:
View original post 564 more words
Anyone know how to get this to Miley Cyrus?
Eighteen months ago, in January of 2012, I decided to sign up for Codecademy’s Code Year. I wasn’t even sure what code was. But I had some time on my hands and an eleven year old son who was curious too. I was getting less and less work at the newspaper I’d been freelancing at for the last twenty years. And though I didn’t know it at the time, The Montreal Mirror was six months from folding.
I get it. I’m a writer. I’ve heard many versions of this argument applied to writing (too many people taking writing courses to write books that nobody will read, etc.) Still, I have an intractable belief in the adventure of learning. So, I tossed off a counter post, which eventually made it into an e-book anthology, “Should You Learn To Code”, with other people who disagreed with Jeff.
When The Mirror closed without warning, in June of 2012, it also closed fifteen years of archives, and a huge chunk of my professional portfolio. At least I had my blog. And even more free time. Before this employment crisis, I’d slapped together a little password creating app for for my son after his facebook account got hacked. That was fun, so I’d signed up for Coursera/Stanford’s Human Computer Interaction course determined to get the studio track certificate in app prototyping.
By the end of July, I’d accomplished this (with distinction!). I learned not just about design, but got some insights into the cognitive science that the top software engineers work with. I not only had a better idea of how apps work, but how the modern brain deals and doesn’t deal, with the constant potential for information overload.
Meanwhile, back at Codecademy, I was struggling through JQuery, hating the virtual checkers project, but doing it anyways. By the end of the summer, I still hadn’t figured out what I was going to do with all my new found functional literacy. I couldn’t seem to settle on a particular project.
I discovered a Montreal enterprise, PressBooks, that had ingeniously hacked WordPress and turned it into a free multiplatform book writing app. As an exercise in mastering it, I wrote a first chapter and an outline for a book about my adventure in code. I’m not part of the kickstarter generation, so I went old school and wrote up a grant proposal for the Quebec Arts Council about a writer learning to code, trying to figure out her place in this new technologically complicated world.
This brought me to September when Codecademy introduced the Python track. I thought JQuery was tough, but it was nothing like the resistance I was feeling towards Python. My savings and credit were running out. Jeff Atwood was starting to make a lot of sense. What had I been THINKING, a middle aged single mother, learning code just for the sake of learning code. Why was I still doing this? I had no interest in being the relatively old lady at a start-up. I’m temperamentally ill suited to office work, so I had no authentic desire to put these skills to practical use in the business world. Every time I talked to another writer, or any publishing professional, about what I was doing, they looked at me like I had lost my freaking mind.
I’d hit a wall. I could have so easily quit here. Not learn Python. No one would have been the wiser. But I’d gotten this far in my resolution. I needed to finish this marathon, or all the struggle I’d suffered through would be for nothing. So, I plugged away at Python, learning to, if not to love it, at least like it.
Until I got to list comprehensions. At which point, like anyone who has ever made it to list comprehensions, my mind opened. How could I not feel a tenderness towards this magnificent language, so ugly and incomprehensible to everyone else, so elegant and rich with potential to anyone who understood it. On that day, towards the end of my code year, my grinchy writer’s heart grew to two sizes, and for a short while even my apartment seemed bigger.
Yes it bothered me, a lot, that for the first time in my twenty year career as a freelancer, I soon might not be able to make my credit card payments. But another part of me felt impenetrably calm. I remember an interview I once saw with Jada Pinkett Smith on Oprah, explaining why peformance anxiety never got to her as an aspiring teenage actress. She’d been to the High School of the Performing Arts, she’d work hard. There was no reason to be nervous, she explained, because “I had a-bi-li-ties.”
No matter the stresses that seemed to be on the horizon, I couldn’t seem to shake the confidence that inevitably comes with valued skills and knowledge. In mid-December, just as I got to the point where I thought I might be delusional, I got a letter informing that I’d received the book grant I’d applied for. Not the kind of money one would get for a start up. But the writing life has a pretty low overhead, so it was enough to keep me solvent for another year.
It was also around that time that I learned about the first meeting of Montreal Girl Hackers. It was at Notman House, a slightly dilapidated mansion in the heart of downtown Montreal that had recently been turned into a government subsidized tech incubator. There were about thirty or so women of varying ages, backgrounds, interests and skill levels, from computer science teachers to beginners. There was free beer and food, financed by Google and/or Shopify, I’m not quite sure which. We stood in a circle and talked about what had brought us here. I told my story. Everyone clapped. It was lovely.
About a month later I got an e-mail from the organizer. She’d remembered that I’d recently learned some Python and was wondering If I’d be interested in helping out at a weekend workshop organized by the Montreal Python community to teach women some introductory Python skills.
Of course! There I took my first steps out of the sandbox and learned how to set up my own Python environment. I went over the basics again, learned a bit more through teaching, and hacked a few projects. It was like any other gathering of women learning a skill, except for instead of the usual pot luck that women always obligate themselves to, there was that free take out again. I went to a follow up meeting a few weeks later. More free beer and food, the origins of which were not entirely clear to me yet. But they soon would be.
Montreal, it turns out, had been chosen to host PyCon, the North American conference of all things and people Python, not just for 2014 , but 2015 as well. At the last PyCon there had been some controversy over a sexist remark, so Python HQs decision to buy a lot of Montreal women free dinner whenever they got together to learn Python, seemed a wise one. They were interested in kids too. Apparently at the last PyCon, everyone had walked away with a free Raspberry Pis.
So here I now am, a little over eighteen months since I signed up for Code Year, taking some time to reflect.
Since January, I’ve pulled back from my blog to get focussed on the history and theory behind these skills. With research, I have a better sense of the bigger picture. I’m working my way through those codecademy lessons again with a slightly more sophisticated eye than I had back when I was half parroting my way through. I’m working at writing the kind of book I wish I’d had when I started. Something that would inspire newbies to keep at it, and help them better understand their place in the master narrative of computer science. Something that doesn’t get too tangled up trying to explain the things that they might not be ready to learn yet, but that glimmers with enough light to help them blunder their own way through. Something guided, I hope, by the proverbial finger that directs us to the moon.
I’m reading Tim Berner-Lee’s memoir and just learned that his mother Mary Woods was one of the programmers on the Ferranti Mark 1, the first commercial computer in England. Back then, as in the U.S., women made up roughly fifty percent of programmers. His parents met at a Christmas party about a year into the project.
Some of those early programmers learned to code because they had a specific job to do. And usually that was the best way. But not everyone learns like this. According to Grace Hopper, inventor of the first compiler, it took her two years to get her male peers to even look what she had created. They were so enamored with the snippets of code they were playing with. True, none of them can take credit for the compiler, but obviously it led them to other stuff. I’m not against projects based learning. But I put a year aside to learn to code for code’s sake and doing so has led to me places and projects I had no idea even existed eighteen months ago.
Fortunately, I have little shame about my newbie perspective. Maybe one day I’ll learn to worry more about all the time I “waste” learning. I have no idea what I’m going to have experienced or learned eighteen months from now. But if it’s only half as interesting and fun as everything I’ve learned in the last eighteen months, I’ll still consider myself on the right track.
Python is killing me.
Python is all empty space. And while the basic logic is still there, why do all computer languages have to do things differently?
Mostly, I guess I just resent that it’s hard. Which is probably a life problem, not a Python problem. Why do we always think that life is going to get easier? I’ve been baby stepping my way through, but I’m falling behind. I was on track to finish Code Year on time, and every week my percentage of completion is getting a tiny bit lower. I feel like a marathon runner who’s fading in the last mile.
Must. Get. The. Passion. Back.
Yesterday I was thinking about the programming satori experience that got this blog rolling. I remember how I felt after I got through the Snake Eyes challenge. The world took on this complex, computational beauty that I never would have seen If I’d given up . For the week after that challenge I was thinking in code. I felt enlightened, stronger.
I’m sure Python has something to teach me too. I just have to be willing to re-commit and set a challenge to make up the ground I’ve lost.
One of the advantages of being the mother of a twelve year old is that I have many inspirational Hollywood movies to choose from in this mission. A scene from the Karate Kid remake comes to mind. The one where they visit the Taoist monastery and Jaden Smith learns that the snake is not controlling the nun. By copying its movements the nun is controlling the snake!
There is some profound metaphor in there that I don’t quite understand yet. But I will find some way to make that allegory work.
Because if I’ve learned one thing from a year of learning to program, it’s that it’s usually right at the point when nothing makes any sense that the magic is about to happen.
The TED talk linked to above is an enlightening and empowering testimonial on how parents can inspire self-study.
As computers have gotten more complex, even tech literate users have become detached from the basics of how they function. This is what Shimon Schocken and Noam Nisan noticed with their computer science students in Israel. As Schocken explains in this talk from TEDGlobal 2012, the pair decided to have their students build a working computer, from the ground up, so that they would “understand how computers work in the marrow of their bones.” They broke down the process into a series of bite-sized, stand-alone units. While students start with building “Nand,” a simple logic gate, and they end by writing games like Pong, Snake and Tetris.
“You can imagine the joy of playing with a Tetris game that you wrote in Jack, and then compiled into machine language in a compiler that you wrote also, and seeing the result running on a machine that you built,” says Schocken
View original post 397 more words