Category Archives: programming

Montreal Kids 9-12 willing to learn some HTML Sought For Computer Science Study, Saturday February 8

Kids Code Jeunesse/ McGill control group for HTML:  9-12 yr olds 
 
Your child will be learning a condensed version of our HTML classroom course lessons (minus Intro to computers, debugging, class collaboration and presentation). 
 
We want to observe the learning difference between kids learning to code in a collaborative classroom setting with experts (which is what we do in schools) vs learning independently with minimal guidance. The control group will be learning with minimal guidance, lead by Maude Lemaire, a McGill software engineer. After the control lesson is complete, if the children haven’t completed their project, we have time at the end of the day to make sure they do!
 
Date:
Saturday February 8th 
 
Time:
10-10:30 arrival 
4:-5pm departure
 
Location:
Room 3070
3630 University St.
Montreal, Quebec
H3A 0C6
 
Please bring a packed lunch. Snacks and drinks will be available throughout the day. And please bring:
Highlighter
Notebook/ paper
Pen/Pencil
 
Computers will be onsite. 
 
Parents are welcome to stay (and learn!) or return for pickup at 4pm.
 
Course is available in English and in French. Instructors are bilingual.
 
If you have any questions, please don’t hesitate to contact me. To confirm:
 
Best regards,
Kate
Advertisement
Video

It’s Computer Science Education Week

Go Shakira!

Mile End Hour of Code

Another co-worker in the Montreal Mother trade, learning and teaching code!

Lina Branter

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:

  1. Computers are ubiquitous in our life
  2. Yet most of us have no idea how they work
  3. It is going to be increasingly necessary to know how they work even if you are not in a computer science field.
  4. Yet learning how to program is not part of our curriculum
  5. Many of the most interesting, flexible and highly paid jobs are in computer science
  6. Yet the…

View original post 564 more words

Video

Celebrate Computer Science Education week with An Hour Of Code

Anyone know how to get this to Miley Cyrus?

Code Year, Eighteen Months Later

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.

In April, after I’d triumphantly (to me at least) familiarized myself with the fundamentals of JavaScript, I had a tiny twitter spat with Jeff Atwood over his now infamous post “Please Don’t Learn To Code.” Jeff, who runs the popular blog Stack Overflow,  didn’t believe that people should learn to code just for code’s sake.  He’d seen too much bad code, broken dreams, and faux programmers in his career to jump on the code learning bandwagon.

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.

Snake Eyes

Image

Python is killing me.

My enthusiasm of two months ago is drying up and all the things I thought I was going to love about Python, I now hate.  I miss JavaScript. The comforting closure of the semi-colons. Those curly brackets were always more fun than I gave them credit for. They told you where things went. They provided structure, style and whimsy.

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.

Further reading in GitHub

Happiness Engineer

This weekend I went to WordCamp here in  Montreal.  I didn’t go to both days because Saturday was Ben’s birthday.

It had occurred to me, when I first heard about this gathering of the wordpress community, to see if I could  sneak off in the afternoon.  But then, over at SkillCrush, I read these wise words  from an experienced lady programmer: nothing is ever important enough to miss your child’s birthday.

We had a great day on Saturday, hanging out, playing Little Big Planet and video game shopping. Sunday morning when I headed off to WordCamp, bright and early, I was brimming with healthy ambition.  When  I saw the number of people struggling through hangovers from the Saturday night social, I had no regrets.

Hangovers notwithstanding, the energy at WordPress camp is so warm and nurturing and fun, I vow to make this a yearly ritual. And hopefully next year it won’t conflict with another one.
In the  morning I went to the developer presentations:

  • Responsive Design (how to design your web pages so that they fit mobile devices, as well as desktops).  Lots of technical stuff that I mostly understood and will probably better understand next year. The takeaway: code semantically. i.e. start learning now how to design webpages that are low on marginalia. 100% column widths. Sliding panels. etc.
  • Theme Building. This was my favorite, even though I have zero intention of ever becoming a Word Press theme builder. But Kirk Wight is such an entertaining speaker, I might actually consider it. Either way I was  proud to be one of the people in audience who knew how to write a function.  I feel my work this year has been vindicated. Keep an eye out for Kirk’s presentation on WordCamp TV
  • Child Themes. You don’t actually have to know much CSS to build really cool websites.  There’s basically a separate console that allows you to write just a little CSS and dramatically tweak the core code.  The CSS for the child theme will always override the CSS for the parent theme (not unlike life.)  The takeaway: don’t ever touch the core code!  Use the separate console for child CSS. This could be a really cool project for kids, learning just enough CSS to mash their own cool website designs  from available themes.

At lunch I had a great chat with the developer who has adapted Word Press for Post Media, one of the largest media conglomerates in Canada (National Post, Montreal Gazette). One of the things he pointed out is how little  envy there seemed to be at WordPress camps. Unlike other conferences where  networking always has a kind of edge, there’s so much work these days for developers, the vibe is open and generous.

In the afternoon I went to presentations that were a little more local, content oriented, and French, so I won’t summarize them here.  But at the end of the day I was so impressed with the whole WordPress organization that I found myself  trawling through their job postings.

The one that caught my eye,  Happiness Engineer. What an awesome job title.  If I understand the job correctly, it’s enlightened customer support.  Requirements are good writing skills, a working knowledge of HTML/CSS, and compassion for people grappling with information technology.

Maybe I’ll apply. But in the meantime, I have my own little startup here at familycoding, and the job of Happiness Engineer has just been filled.

Hello Python!

This week at Codecademy we started Python.

Not that I resent the eight months that I’ve spent mastering the fundamentals of JavaScript, HTML/CSS and JQuery, I’m sure it’ll come in handy some day. But if I’d known about Python, this is where I would have started.  And something is telling me that this may be where I’m going to stay.

First off, where is the crazy making syntax!  Oh, those first weeks of JS, where every rule  was such an affront to my sensibilities as a writer.  Semi-colon over use.  Periods in the middle words. Capitalization of second words.  In the early days,  my brain rejected JS like it was a kidney of the wrong blood type.

Python is made for writers and I’m guessing much better made for families. It’s also made for people with a sense of humour. The name of the language comes from Monty Python, which makes it particularly appropriate for my family. My mother went to Oxford, and was once in a skit with Peter Cook and Dudley Moore. Bragging over. She played the American girl with a nice rack. Still,  British comedy was pretty much a side dish at dinner where I grew up.

Python tutorials are known for their cultish flourishes, and use “spam” and ” eggs” as introductory variables.  Over at Skillcrush, (an exceptional ed tech startup directed particularly at  women),  I recently learned that Python is used for  sites like Youtube, reddit, and Yelp.

I can’t tell you much more about the language, since I only started learning it yesterday. But in keeping with our theme of comic relief, here’s the funniest thing I’ve seen this week. Yelp reviews read by actors.  Just an example of the joy that Python is bringing to the world: