ENTRIES TAGGED "education"

The self-made developer: bootstrap or bootcamp?

The hard way or pay to play?

Aspiring software developers have more avenues than ever to learn to code without going back to school. From free, self-paced online learning environments to not-so-free, structured, immersive experiences, a number of services have cropped up within the past few years offering to help total newbies become full-fledged coders (or maybe just pick up a new hobby). As someone with an interest in both the coding side and the instructional side of this phenomenon, I’ve spent some time reflecting on how these services compare to my own experience as a developer whose career choice and schooling diverged.

Read more…

Comments: 6 |

Open Source In The Classroom

OSCON 2013 Speaker Series

To teach computer programming to a young person with no experience, you must imagine what it’s like to know nothing about languages, algorithms, data structures, design patterns, object orientation, development tools, etc. Yet the kids I’ve seen in high school over the past several years are so immersed in a world of computing, they have interesting partial understandings of how things work and usually far deeper knowledge of what’s being done with the technologies at a consumer level than their teacher. The contemporary adolescent, a child of the late 1980′s and early 1990′s, has lived a life that parallels the advent of the web with no experience of a world before such powerful new verbs as email, Google, or blog. On the other hand, most have never seen the HTML of a web page or the IP address of a networked computer, and none of them can guess what a compiler does. As a high school computer programming teacher, I am usually the first to help them bridge that enormous and growing gap, and it doesn’t help that the first thing they ask is “How do I write an app for my phone?”

So I need to remember what it was like for me to learn programming for the first time given that, as a child of the early 1970′s, my own life parallels the advent of the home computer. I go backwards in time, way before my modern toolkit mainstays like Java, XML, or Linux (or their amalgam in Android). Programming days came before my Webmaster days, before my analyst days, before I employed scripting languages like Perl, JavaScript, Tcl, or even the Unix shells. I was programming before college, where I used older languages like C, Lisp, or Pascal. When I fondly reminisce about banging out BASIC programs on my beloved Commodore-64 I think surely I’ve arrived at the beginning, but no. When I really do recall the very first time I wrote an original computer program, that was even longer ago: it was 1984. I remember my seventh grade math class, in a Massachusetts public school, being escorted into a lab crammed with no more than a dozen new Apple IIe computers. There we wrote programs in a language called Logo, although everybody just called it “turtle”.

Logo, first created in Cambridge, MA in 1967, was designed from the outset as a programming language for teaching about programming. The open source KDE education project includes an application, KTurtle, for writing programs in Turtlescript, a modern adaptation of Logo. I have found KTurtle to be an extremely effective introduction to computer programming in my own classroom. The complete and well-written Turtlescript language reference can be printed in a small packet of about eight double-sided pages which I can distribute to each pupil. Your first view is a simple IDE, with a code editor that does multi-color highlighting, an inspector for tracing variables and functions, and a canvas for displaying the output of your program. I can demonstrate commands in seconds, gratifying students with immediate results as the onscreen turtle draws lines on the canvas. I can slow the speed of the turtle or step through a program to show what’s going on at each command of a larger program. I can save my final output as an image file, having limited but definite value to a young person. The kids get it, and with about 15 minutes of explanation, a few examples, and a handful of commands they are ready and eager to try themselves.

A modern paradigm of teaching secondary mathematics is giving students a sequence of tasks that give them a progressive understanding of concepts by putting them in situations where they struggle enough to realize the need for new insights. If I ask the students to use KTurtle to draw a square, having only provided them with the basic commands for moving the turtle, they can quickly come up with something like this:

If the next tasks involve a greater number of adjacent squares, this approach becomes tiresome. Now I have the opportunity to introduce looping control structures (along with the programming virtue of laziness) to show them a better way:

first_tasks

As I give them a few more tasks with squares, some students may continue to try to draw the pictures in one giant block of commands, creating complicated Eulerian trails to trace each figure, but are eventually convinced by the obvious benefits and their peers to make the switch. When they graduate to cutting and pasting their square loop repeatedly, I can introduce subroutines:
Read more…

Comments: 3 |

Changing Careers to Coding

How Etsy and Hacker School helped Bethany Macri move from legal to engineering

Etsy has received widespread praise for its partnership with Hacker School to recruit more women for coding education generally and for its own engineering department specifically.

As a follow-on to this interview with Etsy’s Marc Hedlund, I spoke with Bethany Macri, a software engineer on Etsy’s core platform team, to get the student perspective on this initiative. Bethany was making a career transition from law to coding and applied for one of Etsy’s grants to attend Hacker School last summer.

Bethany is an example of a growing trend of engineers who choose an unconventional learning path. In her case, she built on her self-taught foundation with a very self-directed training program that was much different than a college degree.

In this interview, Bethany discusses her decision to change careers, what it was like to be a part of Hacker School, and the Etsy recruiting process.

How did you learn to code? Will the emergence of online and in-person training resources such as Codecademy, Skillcrush, Hackbright Academy, and volunteer study groups such as RailsBridge ever replace formal CS education? Tell us in the comments section below.

Comment: 1 |
Developer Week in Review: Everyone can program?

Developer Week in Review: Everyone can program?

There's a big gap between easy-to-use tools and competent programming.

Apple is the latest in a long line of entities that want to bring software development to the masses. Here's why that idea, in general, is doomed to fail.

Comments: 4 |
Developer Week in Review: A big moment for Kinect?

Developer Week in Review: A big moment for Kinect?

Microsoft wants to Kinect with Windows users, more junk patents, and free programming lessons are everywhere.

Microsoft thinks the Kinect has a bright future with the PC. Elsewhere, we have a new contender for worst software patent ever, and the mayor of New York City wants to get his geek on.

Comment |
Developer Week in Review: Siri is the talk of the town

Developer Week in Review: Siri is the talk of the town

Voice-driven apps on the horizon, take Stanford CS courses on the house, and JavaScript flexes its muscles.

Everyone either wants to be just like Siri or thinks it's (she's?) a waste of time. Stanford expands its free CS curriculum, and JavaScript gains encryption and a JVM implementation.

Comment |
Developer Week in Review: webSOS

Developer Week in Review: webSOS

HP bails, Oracle fails, and the UK teaches coding (including Wales).

WebOS is going to the great operating system repository in the sky, Oracle finds yet another way to peeve developers, and the UK tries to create a new generation of programmers.

Comment |
Developer Week in Review

Developer Week in Review

CS enrollment grows, the vocabulary of technology is translated in courtrooms, and dancing algorithms.

In the latest Developer Week in Review: Computer science enrollment grows, lawyers and judges get crash courses in software vocabulary, and sorting algorithms are explained through dance.

Comment: 1 |