Hacking My Engineering Education

Hacking My Education

If there were one lesson I would wish that we instilled in all students, it wouldn't be an understanding of a particular piece of intellectual content that every student should know. Rather, that lesson would be to always embrace intellectual curiosity. We need to support lifelong learning -- learning outside the school day, the school year, outside the school -- and encourage students to love to learn.

While I like to think that I learn every single day -- by reading, writing, talking with folks, fucking up, and so on -- I'm taking on a couple of specific learning projects this fall. I'm signed up for two of Stanford University's free online classes -- Machine Learning and Artificial Intelligence. And I'm learning JavaScript.

I'm pretty excited to tackle these subjects, but they're more than a little bit daunting. It's been years since I've taken any math or science classes, and I have no formal programming education. What I do know about the latter is almost entirely self-taught, with some helpful guidance from friends and loved ones. Like a lot of folks my age, my first programming experience was with BASIC, and I really know little else -- other than enough HTML and CSS and PHP to wrangle my personal websites.

I don't think it's a requirement that technology journalists know how to code, don't get me wrong. But I do think it's important that we have a good understanding of how technology architecture works. We should be able to identify languages, understand their use-cases. If we don't, we aren't able to ask smart questions (something that I find particularly challenging when I'm conducting interviews on big data for O'Reilly Radar).

And I'm just genuinely interested in learning.

Passing/Failing JavaScript 101

I'm also interested in these learning opportunities, not just because of the content but because of their form.

The two Stanford classes, although they're online and free to the public, are still fairly "formal" in terms of the structure of the classes. There are lectures, assigned readings and quizzes, for example.

But to learn JavaScript, I'm taking a more informal route. I'm working my way through JavaScript 101 at P2PU. And I've also completed most of the lessons on Codecademy -- 100% of the "Getting Started with Programming" course and about three-quarters of the "JavaScript Quickstart Guide."

Codecademy, for those unfamiliar with the site, is a new startup that describes itself as "the easiest way to learn how to code." The site has received quite a bit of positive media coverage. Techcrunch called it a "slick, fun way to teach yourself how to program." VentureBeat describes it as "Web development for the rest of us."

I too was pretty impressed with my first look at Codecademy (I included it in last month's New Educational Apps post on MindShift). I particularly like the browser-based interactivity and thought the way the first lesson actually walks you through the registration process was damn clever. It was an engaging entry point, and I found the first few lessons helpful and easy-to-follow.

But as I moved on, I found I had a lot of questions. Even when the lessons offered "hints," it wasn't always apparent to me what I needed to do (other than offer feedback to the app developers, of course). If I got stuck, there wasn't any help. Such is the nature of these sorts of self-paced, self-guided, informal online learning experiences, of course.

More disconcerting is the feeling that I'm not really learning anything, particularly as I move through the intermediate JavaScript course. In the first course, I learned by doing -- by programming. In this second course, I'm mostly just reading. I've now completed 70 lessons, and I've earned 5 badges. But so what? I'm not sure I fully grasp the concepts. (Array, scope, wut?) I've gone through the motions, sure, but the assessments that accompany this course don't really tell me much. And in most cases, all I have to do to complete a lesson is to hit the "enter" button. Woo. Hoo. Achievement unlocked!

I don't mean to imply that I expected to master JavaScript simply by clicking through a dozen or so lessons on a website. (Hell, I'm not sure "mastery" is really what I'm even after here.) And I realize, of course, that any sort of project like this going to take a lot more work on my part -- and a lot more resources than just Codecademy (and more too than just Codecademy plus the P2PU materials).

And I still like Codecademy a lot and hope the site adds more material, better self-assessment tools, and better social interactions. After all, I think I'm going to be a helluva lot more successful at JavaScript than I am at machine learning. Oy.


Tags: , , , , , , , , , ,