"learning to code" entries
Bringing some of the benefits of face-to-face learning to millions of people without access to an in-person tutor.
Millions of people around the world — from aspiring software engineers to data scientists — now want to learn programming. One of the best ways to learn is by working side-by-side with a personal tutor. A good tutor can watch you as you code, help you debug, explain tricky concepts on demand, and provide encouragement to keep you motivated. However, very few of us are lucky enough to have a tutor by our side. If we take a class, there might be 25 to 50 students for every teacher. If we take a MOOC (Massive Open Online Course), there might be 1,000 to 10,000 students for every professor or TA. And if we’re learning on our own from books or online tutorials, there’s no tutor or even fellow learners in sight. Given this reality, how can computer-based tools potentially bring some of the benefits of face-to-face learning to millions of people around the world who do not have access to an in-person tutor?
I’ve begun to address this question by building open-source tools to help people overcome a fundamental barrier to learning programming: understanding what happens as the computer runs each line of a program’s source code. Without this basic skill, it is impossible to start becoming fluent in any programming language. For example, if you’re learning Python, it might be hard to understand why running the code below produces the following three lines of output:
A tutor can explain why this code prints what it does by drawing the variables, data structures, and pointers at each execution step. However, what if you don’t have a personal tutor?
Trina Chiasson argues that data has arrived at the same threshold as coding: code or be coded; learn to use data or be data.
Arguments from all sides have surrounded the question of whether or not everyone should learn to code. Trina Chiasson, co-founder and CEO of Infoactive, says learning to code changed her life for the better. “These days I don’t spend a lot of time writing code,” she says, “but it’s incredibly helpful for me to be able to communicate with our engineers and communicate with other people in the industry.”
Though helpful for her personally, she admits that it takes quite a lot of time and commitment to learn to code to any level of proficiency, and that it might not be the best use of time for everyone. What should people commit time to learn? How to use data. Read more…