
Code.org – Dedicated to growing computer programming education - sethbannon
http://www.code.org/#
======
seanconaty
Still with the learn to code meme? In addition to all the reasons that
@codinghorror raises in [http://www.codinghorror.com/blog/2012/05/please-dont-
learn-t...](http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-
code.html), I have a one more to add.

The altruism of it all stinks. The meme is being pushed by parties (non-profit
or not) looking to gain from teaching people to program (after convincing them
that they absolutely should). While it's true that learning to code is
beneficial to some (I don't doubt that) no one talks about how these friendly,
helpful, code tutors might be exaggerating the demand for reasons of their
own. While you might be trying to help people out, you're also trying to push
your startup or non-profit.

I like the idea of better aligning education with job demand; something I
don't think higher education institutions are particularly concerned with.
That's practical and I wish we did more of it. Similar to these learn-to-code
websites, colleges could care less what you do with yourself after you've paid
your tuition.

What I liked about the code.org celeb video were the recollections of first
programs. Like a first kiss, you never forget your first program. No matter
how simple it is, that feeling is awesome. And if you're made for it, you want
to do more, you want to make it better. That's the spark that, if you have it,
puts you on the unending journey to being and becoming a coder.

~~~
meej
"The meme is being pushed by parties (non-profit or not) looking to gain from
teaching people to program (after convincing them that they absolutely
should)."

I believe Douglas Rushkoff was pushing it at least a year before any such
parties existed, in his book Program or Be Programmed:
<http://books.google.com/books?id=SB474JCHewcC>

------
gdilla
We should also encourage HCI and usability design sensibilities as a technical
vocation kids can pursue if optimizing sorting algorithms and the like isn't
for them. Making things easier to use, why things are a pleasure to use and
why things aren't is a stimulating field that is very applicable to a
computerized future.

~~~
the_watcher
100% agree. There is a lot of value in understanding usability design that I
wish I had been presented with younger. I really wish I had the opportunity to
choose some form of technical skillset as an elective in high school. I was
only offered a choice of visual arts (photography, art, and ceramics).

------
zachgalant
I'm making www.codehs.com which is one of the sites featured in the video (the
one with the dog). It would be awesome to get some feedback on what people
think of it if you get a chance to try it out.

We're focusing on making it really fun and accessible to learn to make really
cool programs really quickly while learning the fundamentals and getting a
strong programming foundation.

One of the keys to our site is that tutors look at and give feedback on all
the code thats's submitted by students, so if you're interested in helping
kids out, it would be awesome if you wanted to help tutor.

We're currently testing out and building lots more tutor features, so your
feedback and ideas would be greatly appreciated. Go to
<http://codehs.com/tutors/> to sign up if that interests you at all.

~~~
itistoday2
I see you guys are charging students a monthly fee for "unlimited help" from
the tutors, but I can't find any info on your site about how much the tutors
will be making from that income stream for the value they're providing to your
site and the students. Can you elaborate?

~~~
zachgalant
Yeah, we're still working on exactly how tutors get paid. For now, it's still
in beta, so we're just asking for volunteers and getting feedback and figuring
out a fair way to pay people.

One thing we are planning to do (in addition to just paying cash) is to give
students credits to continue learning and getting help from tutors when they
help students who are further behind than they are. That way, students can
help each other.

~~~
eru
That's a neat idea. Just please be aware of the danger of extrinsic motivation
crowding out intrinsic motivation. People help each other on the internet all
the time without any reward apart from doing The Right Thing.

Giving credits for getting more advanced help sounds like a good idea, though.

~~~
itistoday2
To be honest I really don't see much value add from these online teaching
centers. All that's needed is the desire to learn to code, once someone has
that, I think it's pretty easy to get the help and info you need (for free)
already.

~~~
zachgalant
you'd be shocked at how many ways people who don't code can get stuck when
trying to learn.

Many times, they can't even form their question any better than "My code is
broken. What do I do?"

Having someone human there both gives them the answer much better than they
can find themselves and gives them the knowledge that someone is there to help
them, so they don't give up.

Yes, some people will be able to figure things out themselves, but having
someone to help the rest of the people can be invaluable.

I've taught intro CS for three years at Stanford, and even there, most
students get stuck and need help to get through the intro class. The reason
they have been able to (the intro CS class is the most popular class at the
school. About 90% of all students take it) is that there is an extensive
support network of student TAs that are there to help them.

We're replicating this online for all the "normal" kids who can't just "figure
it out" themselves without any direction.

~~~
eru
> Having someone human there both gives them the answer much better than they
> can find themselves and gives them the knowledge that someone is there to
> help them, so they don't give up.

Yes. Even if the human doesn't actually give you the direct solution to your
problem, but just reassures you that you are on the right path and with a bit
more thinkingn you will overcome the current obstacle. (Or points out to you
when you are blatantly wrong.)

Having confidence that there is a solution is often half the battle to finding
one.

------
Yoms
My grandfather took the time to teach me some BASIC back when I was around 7
years old, and it led to my career. I've been working at teaching programming
to my kids as well, but the video here inspired me to give the same chance to
other kids...

I contacted the principal at my kids elementary school and offered to use my
expertise to help any way I could. We get so caught up in what we're doing,
it's easy to forget that just a small bit of effort can have a significant
impact on peoples lives.

------
eliben
The video is worth watching.

I like this initiative. For some reason it brings up a lot of cynical
responses, but if you really think about it, it's a pretty good thing to
encourage young students to learn at least some coding.

~~~
barbs
I think it's a good initiative as well, but the video over-glamourises it a
bit I think. Particularly the bit about how awesome the offices are. That's
not what the typical programming job is like, that's what working for Dropbox
is like. Plus the wishy-washy metaphor of a blank wall and opening doors,
comparing it to sport, NBA players and Will.I.Am promoting it...it downplays
the technical skill requirement ("you don't need to be a genius"), and
emphasizes too much the creative aspect of it.

As elitist as it sounds, there are lots of people who simply just can't
program [1], and promoting programming as this lucrative, creative endeavour
that doesn't require much skill might misguide people into career paths that
don't suit their skill set. Not to mention introducing a bunch of terrible
programmers into the workforce.

[1] [http://www.codinghorror.com/blog/2006/07/separating-
programm...](http://www.codinghorror.com/blog/2006/07/separating-programming-
sheep-from-non-programming-goats.html)

~~~
loganfrederick
While I agree with your point, Code.org could make a lot of strides with a
group you did not acknowledge in your comments: those who could be programmers
if they were shown the interesting parts of the field and industry, not the
overly-academic side.

For as many people that might be brought into programming who can't actually
do the work, the goal should be to bring in just as many if not more people
who never realized they could do the work and enjoy it.

------
scottrb
If the US were to integrate coding into the school curriculum, our K-12
schools could rise to the global ranks that our university system currently
occupies. But it can't just be an addon elective, it needs to be integrated
across many subjects. So much of learning that's considered to be dull or
boring can be made fun with programming. Write a program to simulate a ball
flying through the air and aside from giving students the building blocks to
make their own games/animations, they've also learned about gravity,
projectile motion, and maybe even calculus. Add some wind into the mix to
learn about resistance. Write a simple program that simulates cells dividing
and you've got some biology and math happening. Creating some basic tones and
sounds with code is a frighteningly tiny distance away from learning about
music theory.

The software platform could be open sourced. Maybe even written in the
programming language that students work in so students could modify it and
submit patches, but also to mess with their little minds and get them thinking
about self-hosting compilers.

And how much would this cost if done correctly? It's probably a terribly small
figure per student over the course of their education. It may even save some
money on textbooks if it's a tablet device to double as an e-reader. Maybe
even more if those textbooks were open sourced and not sold at laughable
prices... It's amazing how far we are behind at present.

My fear is that people assume (good or bad) that every student will come out a
programmer, which is just missing the point. EE/CS degrees would be worth even
more in such a world.

~~~
gizmo686
Your examples of dull and boring subjects seems like a list of interesting and
exiting projects.

Newtonian physics (generalized from projectile motion): Using with these 3
obvious facts (maybe a historic tangent on how they are not obvious), we
construct new rules that describe the way things work. Don't believe the
results? You agree with these 3 assumptions right? Is their any flaw in your
work? Then your result is correct, is their a way we can go about testing it?

Good job working with Newtonian physics. Now, say that their is wind blowing 5
mph east, how does this effect our results? Well, the coefisiant of wind
resistence for sufficiently slow speeds are _. Wait, we already know how to do
this, this is just another force, moving on...

If you take a code first approach, you routinely miss the good stuff.

------
samstave
We need to push two major initiatives in education: the ability to code and
the ability to manage finances.

~~~
minikomi
Does anyone have a suggestion as to the K&R of managing finances?

~~~
PhearTheCeal
Considering how old K&R is and who its intended audience was, how about The
Wealth of Nations by Adam Smith?

~~~
eru
I think, The Intelligent Investor would fit the bill better. Or just read
everything by Buffett and Munger.

------
sjtrny
Where's the group pushing "everyone should learn to": be an accountant,
doctor, engineer, electrician or a plumber. And on and on and on.

Not everyone needs to learn to code. I agree that exposure to it and a basic
understanding of it is good, just like other disciplines. But this is already
happening! I learnt LOGO in primary school and then mindstorms, VB and HTML in
high school. And so did everyone else, they weren't electives.

~~~
nsmartt
First, that's not nationwide in the US. I'm not aware of it being nationwide
anywhere. In my school, there was a computer programming course on the list of
choices. It disappeared when the time to actually register arrived. There was
a web design course. We used dreamweaver. No one knew HTML. I spent the
majority of my time in the class helping the other students do things they
couldn't do in dreamweaver. The situation is less than ideal. In fact, I once
presented a slideshow describing various programming languages. When I
finished, my teacher asked if there were any questions. A handful of people
knew programming was used to make games. Everyone else had blank looks. One
girl actually said "I didn't even know this existed" with a look of shock.

Second, learning to program doesn't have to be the same as learning to be a
software engineer. It's vaguely akin to basic repair skills. Knowing how to
automate aspects of your work on a computer is extremely useful. Programming
is applicable to almost every remotely technical career path.

~~~
sjtrny
Here in NSW Australia there is a Year 11/12 subject "Software Design and
Development". This has been there for at least a decade if not longer. It's
offered at a majority of high schools.
[http://www.boardofstudies.nsw.edu.au/syllabus_hsc/pdf_doc/so...](http://www.boardofstudies.nsw.edu.au/syllabus_hsc/pdf_doc/software-
design-development-st6-syl-from2010.pdf)

Also in the 7-10 high school syllabus there are options for projects that
include: AI simulation and modelling, multimedia authoring, database design,
website development, networking, robotics and software development and
programming.
[http://www.boardofstudies.nsw.edu.au/syllabus_sc/pdf_doc/inf...](http://www.boardofstudies.nsw.edu.au/syllabus_sc/pdf_doc/info_soft_tech_710_syl.pdf)

In years 7-10 I found myself helping other students in the class just like
yourself. Even though our teacher had formerly held a programming position.
That doesn't validate the need for it though. That just shows that it is a
very alien topic to most people and that you can't have a single teacher give
personalised help to a class of 30 kids.

~~~
NateDad
We don't have nationwide standards for curriculum in the US.. shocking, I
know. Most schools do similar things, but there's a wide variety of quality
and content of education.

------
kamaal
Hear me out.

I was full for this 'teach kids how to code' thingy. But I think we have got
this all wrong. Heck we don't have the right kind of tools to teach kids how
to code. In fact I have now realized that you can't and should not teach kids
how to code. You rather must teach them how to solve problems. Math was
supposed to deal with that, but unfortunately that turned out to be
complicated symbol manipulation if not for anything else.

My niece here in India is around 12 years old, and she is being taught C
programming back in school(She is in 8th standard, or 8th grade as per US
terms). No she generally comes and stays with us in the summers. So last time
she came over for a month's holiday she bought her laptop with her and wanted
me to teach her to program in C.

The net result is disaster. I tried everything possible. Every other trick in
the trade. Even tried to start with Python first and not C. But I figured the
nature of problems is something else. Kids view programming very similar to
the way they see math. They find themselves manipulating things/symbols/stuff
without understanding why, for what, or even why its even relevant to them.
They struggle to understand where or why should you use an if/else/switch
statement, or a for/do/while loop. Its difficult for them to map solution
patterns to a code pattern.

Its not their fault. Its ours. Better luck trying to explain a kid why they
are being asked to write a program find greatest of three numbers, find
factorials, or sort numbers. To them it very clearly looks math in a different
language. Its that boring math thing all over again.

Much complication starts when stuff like pointers is pushed down their throat.
Or something like bit shifting. Oh and yes, they start asking things about the
process of compiling, linking etc. Or why they need to put a #include at the
start of a program. You can't honestly explain all that without explaining
them some underlying stuff.

Beyond all this it needs to fun, which it very clearly isn't.

What kids need to be taught is how to solve problems, even if it means
repairing a mechanical watch. Instead what they are being given is math in a
different dose. And trust me at that age, they don't really like doing that.

And oh, by the way. Next year they are about to be taught Java. I can only
imagine the horror, the way kids of going to deal with the text walls full of
verbosity, API dance and the XML mess. And the last time I heard they don't
really use IDE's.

One thing that I'm convinced is, after this episode due to all this trouble
and trauma of having to learn this, she clearly doesn't enjoy, she will hate
programming and hope she never has to deal with it again.

Because last time I talked to her, she told me she wants to be a journalist.
That's how much damage 'Teach kids how to code' has done.

I'm now glad no one ever introduced me to coding when I was a kid.

~~~
jkeesh
You make a lot of assumptions about how kids have to be taught coding.

> I tried everything possible. Every other trick in the trade. Even tried to
> start with Python first and not C.

> They struggle to understand where or why should you use an if/else/switch
> statement, or a for/do/while loop. Its difficult for them to map solution
> patterns to a code pattern. Its not their fault. Its ours. Better luck
> trying to explain a kid why they are being asked to write a program find
> greatest of three numbers, find factorials, or sort numbers. To them it very
> clearly looks math in a different language. Its that boring math thing all
> over again.

There are so many other ways to introduce students to programming. This is the
main part of the problem. So many people think this is how you have to teach
programming. I am in full agreement that you need to teach problem solving,
and you can do that with programming.

We start teaching with a simplified language called "karel"--where you have a
dog who can only turn left, move, and put down and pick up tennis balls.
That's it. There is no overhead of python or C or java. It's just a few
commands and a dog. And there is no question on why you should do it....
people do this because it is immediately fun. Printing "hello world" for most
people (especially younger kids) is not immediately fun.

Try our demo on the code.org page <http://www.code.org/learn/codehs>

I have started thousands of students in person with our karel the dog demo.
Everyone can do it. Almost everyone finds it to be really fun. Because karel
is a simplified language, it is all about problem solving. How do you get a
dog to find the midpoint of his world when he cant store variables, but can
only ask questions about the state and put down tennis balls?

I contend that you can teach problem solving to students through programming--
but it is so crucial how you make that initial experience feel.

There is no

    
    
        public static void main(String[] args)
    

to get started.

Try this out at <http://codehs.com>. We have schools using it all over the
country, and young students can get if/else, and for/while.

> Beyond all this it needs to fun, which it very clearly isn't.

Find a student who didnt like programming, and have them try our karel the dog
starter for 10 minutes. Let us know what they say. I bet they think it's fun.

~~~
Confusion
I think both you and the grandparent are making a mistake. He assumes children
dislike math. You assume children will like karel. I think the truth is that
children have different interests and that you can only bring them to
programming by latching on to those interests. Many children like math. Many
other children will not like karel.

The result: to engage as many children as possible, you need several
introductory tracks: one that uses math, one that uses puzzle solving, one
that uses drawing, one for another common interest, etc. Also be aware of the
way interests change with age.

Teaching is hard and almost every approach invented seems to rely on yet
another silver bullet.

~~~
MikeAmelung
I think this is a good point, but I'll take it a step further. The kid that
likes drawing doesn't have to be a programmer, so stop trying to teach it to
him and let him draw without the constraints that programming brings. We don't
all have to be the same.

~~~
jkeesh
The point you make here (and one made by many others) is a straw man/reductio
ad absurdum argument.

People who advocate that everyone should learn to code (like myself) to not
advocate the absurd conclusions that are used by others to refute this
standpoint.

I do think people should learn to code. This does not mean I think: 1\.
Everyone should be a professional programmer. 2\. "Everyone should be the
same"

You can make similar arguments to a person who says "everyone should learn to
read," but then you misunderstand the spirit of the discussion.

~~~
MikeAmelung
I'm not interested in logical fallacies. I don't think this is a particularly
logical subject. When you say "people" should learn to code, do you mean
everyone? I posit, completely illogically, that some people will contribute
greater good to society without ever having their brain trained to solve a
problem via algorithm. Even without contributing any good, maybe they'll just
be happy. Of course I'm not against making things more interesting for those
who do have an aptitude or drive for it, so please don't misunderstand that.

~~~
rbanffy
> I'm not interested in logical fallacies.

Careful. That may make you vulnerable to them.

> I don't think this is a particularly logical subject.

Are you sure advocating a solution that's not based on logic is the right
thing to do?

> When you say "people" should learn to code, do you mean everyone?

First we must define what "learning to code" is. I (and, certainly, most
others) do not advocate kids should learn Java (or Python). But I think kids
should learn how to decompose complicated problems into simpler parts. I also
think kids would gain a lot if they could make computers do what they want
(going beyond "start WoW", for instance).

As for drawing, you can always draw with a pen and paper. I prefer to do it
that way. However, if I decided to draw a fractal curve, I'd probably do a few
sketches on paper, to grasp the ideas, then fire Emacs and write code to
actually draw it.

------
TheBiv
I love the addition of Chris Bosh! After coding being hard, in general, I
believe that our industry's biggest challenge is it becoming "sexy" or having
role models that a vast amount of people can connect with!

~~~
ronyeh
All we need is for LeBron and KD to take a summer class in JS or python and
tweet about it. Maybe they can do some tasks like analyze their own stats.

~~~
spicyj
At Khan Academy, we have a series of videos with LeBron asking science-related
questions:

<https://www.khanacademy.org/science/lebron-asks>

~~~
ronyeh
Yes, I love these videos! The first one I saw was LeBron asking Sal about the
likelihood of him hitting 10 free throws in a row.

------
interknot
I am generally enthusiastic about teaching people to code. That said, I am
ambivalent about the backing organization, "Code.org":

Every single person on their advisory board (<http://www.code.org/about>) has
a vested interest in there being more programmers competing for jobs.

I feel like they are misrepresenting the nature of most programming jobs to
the general public.

They prey upon people's fear of unemployment and cite numbers about there
being fewer programmers than jobs. Nearly every single person in that video
has explicitly said they only hire the very best. My guess is that we'd still
end up with legions of unemployed people that happen to be mediocre-to-awful
at programming.

~~~
NateDad
They're backed by software people, because most software people think coding
is awesome and want more people to do it. Also, it's really hard to find good
programmers, so they want more people to start doing it, yes.... but teaching
10 year olds to code isn't going to get them any benefit for at least 12
years. I highly doubt they're thinking that far ahead.

I think it's much more likely exactly what you see - they want more people to
code because they believe everyone should code, and many people will like it
once exposed to it.

~~~
interknot
I hope you are right. That said, I think the points I raised are worth
considering.

FWIW I'd expect many of the featured people to be thinking much further ahead
than 12 years.

------
signed0
I like this because instead of saying "everyone must code" it says "everyone
should have the opportunity to learn to code".

There are always going to be those that are not interested in coding. Forcing
anyone to learn something they aren't interested in is just a waste of
everyone's time.

If you give kids the resources they need to get started and a good environment
to experiment in they will take care of the rest.

------
nsmartt
I think teaching students to program is a wonderful idea. Most people use
computers every day-- be it work or leisure. Knowing how to automate your
workflow in whatever career you choose would be a wonderful asset.

However, I'm concerned that this isn't the goal. Lots of the video refers to a
great need for programmers. It sounds like lots of the interested people are
more interested in preparing students for a career in software engineering,

~~~
3A2D50
"It sounds like lots of the interested people are more interested in preparing
students for a career in software engineering"

That could be the case. Programmers are expensive because there isn't enough
to meet demand. If you can get a lot more people interested and entering into
the market, the cost will go down. I would imagine an employer would prefer
programmer's salary to be more in line with what a typical employee's salary
is. If there is an end goal, it would probably be to make programming an
expected skill set in addition to a specialty, rather than a specialty in of
its own.

------
aaronmhamilton
The issue is that schools are not a place to learn, they're not the right
place for people to actually develop skills.

Because schools suck at teaching (because they feel like glorified prisons and
lack resources due to ignorance and bureaucracy) we must fix/replace schools
before “teaching” kids to code, otherwise we will fail.

Also, this illusion that low-level languages like C are any less suitable for
introduction than other languages is yet another barrier, I learned in
assembly, and I would probably prefer to learn in C, since it's very simple,
clear-cut, and consistent. No namespacing, very little context, very little
syntax.

The best way to teach any skill, is to provide resources and motivation for
the completion of real, practical tasks. In software we have the unique
opportunity not to break anything real when we build something equally-so.

------
MrJagil
Speaking as someone who is currently taking his first programming lessons in
school at the moment, this seems great. What I _really_ need though, is great
tutorials in the languages I'm using.

Codecademy and Khan both do a great job, but neither has any/proper support
for Processing or Java, which is what the courses at my university revolves
around (there's a bit of drawing on Khan, but in no way enough to make me
anything close to comfortable with the language).

In short, what really prevents me from speeding up my learning is content. The
will is there, and I believe it is for a lot of other people as well.

(btw, yes, i can look up double arrys on processing.org but trust me, it can
very difficult to implement their content when it does not relate to your own
project. That's why guides are so good. This is not good:
[http://docs.oracle.com/javase/tutorial/getStarted/intro/defi...](http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html))

------
hoi
One of the simplest and most accessible forms of coding that most people will
encounter in their working lives is the spreadsheet.

~~~
makaimc
In my professional life I haven't found spreadsheets to be a "gateway drug" to
programming for people I work with. Spreadsheets are generally used to get
something done and then take on a life of their own until they are so critical
to a business that their failure can cost enough money to materially damage a
business. However, there does seem to be something accessible spreadsheets
that perhaps can be used in a slightly modified way to get more people excited
about learning to code in a structured programming language.

------
dreamdu5t
This isn't about growing computer programming education, it's about the basics
for people with poor computer literacy.

Google search and PHP.net documentation have done more for growing computer
programming education than any project like this.

We need more great documentation resources, and less "let me hold your hand"
tutorials.

------
jurassic
An old math teacher friend of mine has introduced his 7th grade students to
"programming" through Lego Mindstorms. The kids work in teams to build the
robots from kits and then program them to navigate a maze/obstacle course
using Lego's software. I don't think its that close to "real" programming, but
it does get the kids thinking about how to break down problems into logical
steps. And it's enough like play that pretty much everyone gets into it, and
the ubernerds in the group race to see who can finish the course in the best
time.

I'd like to see more things like this happen in schools, but it's hard to find
the time and money for ~10 mindstorms kits in every classroom.

------
rullopat
I completely disagree with this. The world doesn't need more coders, but
BETTER coders.

------
why-el
Most challenges faced across the global are cultural and linguistic in nature.
The heavy dependence on English is a huge barrier to most children and young
adults out there. All my attempts to introduce young cousins and nephews to
coding failed because they are at the stage where anything not in their own
tongue is unfathomable. I looked into making a small ny-own-dialect-based mini
language but it seemed that a better approach is to simply translate existing
well designed and well maintained efforts such as Alice. Any idea on how to
begin doing that or whether a similar translation project is underway?

~~~
nandemo
While it's certainly possible to learn programming without knowing English
(millions of programmers have done it!), if your cousins don't speak English
or another foreign language then you should probably consider that a priority,
instead of programming.

~~~
why-el
They do speak foreign languages, but not English.

------
pla3rhat3r
As cheesy as this video is they're right. My kids do not learn coding in
school. Our area high school teaches kids how to use computers but there is no
coding classes. When I went to school in the late 80's we have a program that
allowed us to move a turtle on a green computer screen. It was my first
exposure to programming. I wish schools would put more importance on this
skill. Even if kids do not get into technology, knowing a programming language
is an invaluable skill in any industry.

------
teeboy
Has anyone noticed that they are recommending W3Schools?

<http://www.code.org/learn/codecademy>

------
potomushto
True programming education is a education for hackers or in other words it is
a self-education. Today our hollywoodstic world have many examples which may
inspire anybody to become a hacker who can learn anything by hacking. Of
course coding basics and algorithms, like arithmetic, should be at school, and
many countries already have programming courses.

------
robertlaing
This is awesome.

I just wish someone had edited Will.i.am's quote though... I think he thinks
'reading code' is like reading music or something...

“Here we are, 2013, we ALL depend on technology to communicate, to bank, and
none of us know how to read and write code. It's important for these kids,
right now, starting at 8 years old, to read and write code.“

------
geoffroy
In France, we were taught Logo when I was 9/10 (back in 85) on Thomson
computers (French equivalent of Sinclair ZX Spectrum) at school.
<http://regards.sur.sciences.free.fr/ordis/logo/logo.htm> I got stuck into
programming since then !

------
sybhn
IMO make learning programing (fun) a path to learning math (not fun). Once you
understand mathematic fundamentals, understanding finance - and other such
disciplines - comes naturally. You soon realize that most of (consumer)
finance out there are marketing flush revolving around a few formulas.

~~~
gizmo686
Why is learning math not fun? For me, learning math (fun) was a path to
learning programming (not fun). Even as someone who 'enjoys' programming as a
hobby, I hate the actual coding part. The math is the fun part. And that rush
of power you feel where the computer obeys your every wim is a nice bonus
(more of a reason to learn bash et el.).

~~~
sybhn
you're right, the fun factor is very subjective. However, wouldn't you agree
that those who enjoy maths from the get-go will generally be successful in
most modern education systems? The same is not true for those who have
difficulties in maths but were never given a early-enough introduction to
coding.

------
johnernaut
"Learn to Make Webpages - W3Schools"

WAT

~~~
roldie
I don't think they're as bad as they used to be, but still far from the first
place I'd send someone seeking help.

~~~
clockwork_189
Honestly, this was the first place I went when I started out (about 4 years
ago). There werent many good sites out for learning to code back then. It was
w3schools and lynda.com that really helped me get started.

------
shurcooL
On this topic, I think it's very important to create tools that allow learning
and creation as envisioned by Bret Victor [1].

[1] <http://worrydream.com/LearnableProgramming/>

------
zopticity
What's the difference between Code.org and Codecademy.com ? Are they trying to
achieve the same thing but in a different perspective? It looks like a lot
more celebrities are on Code.org making it an enticing place to be.

~~~
JMill
Code.org seeks to 'change the wind', so to say, of programming education, to
help motivate individuals to learn more about coding. Codecademy.com is one
form of online education to help satisfy the needs of those who became
interested in programming, such as via Code.org and the many educators and
decision makers who inspire non-coders to, well, code.

------
orangethirty
This is a great initiative. The video is powerful, _but_ they forgot to
include a link to the donate area right there in the video. I'd love to add my
little startup to the list of places teaching how to program.

------
nickmain
If we want to teach the next generation to code we should make sure that the
"programming languages" we use work well on a touch screen with no keyboard or
mouse.

That is, probably not text-based.

------
kentf
High time to change "Hello World" to "Change the World"
<http://news.ycombinator.com/item?id=5290217>

------
toolslive
my kids (9,9 & 11) play around with Scratch to create their own games,
interactive presentations , ... They started to learn this a few years ago,
and I only had to install it and show them the very basics. After that, they
bootstrapped themselves using youtube tutorials. Btw, they are not
programming, they are building games (at least that's how they look at it). I
just want to say that tossing the right toy in their general direction might
be enough.

------
nyddle
I thing teaching kids how to program is needless. Let's make educational games
like Robot Odyssey. This one really affected profession choice of people who
played it.

------
LAMike
Why isn't HTML/CSS or Python taught in high schools around the country? If I
saw a similar video when I was in school I would have started way earlier

~~~
gizmo686
Java is the AP standard. Also, webdesign courses are HTML/CSS/javascript.

------
frankdenbow
The Academy for Software Engineering is another effort in this area:
<http://afsenyc.org>

------
yankoff
What's the matter with this "Let's teach everyone to code" thing? Why code and
not, say, medicine? Is there such a lack of engineers?

~~~
cpressey
There is certainly a _perceived_ lack of software engineers. (And, I think, a
perception that coding is the most important thing a software engineer does.
I'd question both of these perceptions.)

------
cek
My favorite quote in the video is near the end: "Coding is as close to a
superpower as you can get."

I feel that.

------
svsaraf
I'm currently in medical school, so I think my opinion might provide another
perspective on this.

As others have pointed out in this thread, the incentives behind folks pushing
the "learn to code" idea are varied: some people want more engineers to hire
and some people want to sell to those learning to code. These seem like
reasonable criticisms, but I think they miss the point.

Many of you, if not most, are in the software industry. You try to solve
interesting problems every day, or, at least, you'd like to. Every industry
and every field has the need to solve them, at least with my definition of
'interesting'.

Solving such a problem is difficult. It requires knowing very clearly about
the rules of engagement, and mapping out strategies for tackling the issue. It
requires an understanding of the lay of the land, but also the capacity to
think outside the box. In short, it is exactly what all of you would expect
from a 'good' programmer - the ability to think actively.

You'll notice that I make no claims of this sort about physicians. The best
doctors may do these things, but most doctors don't. And at the very least,
doctors certainly are not trained in ways of solving problems effectively.
Instead, we are mostly trained in pattern recognition.

So what? Do I think a doctor would benefit from learning to program? Yes.
Because figuring out how to writing a complex program is not so different from
doing a complex surgery. Understanding algorithms is not so different from
producing a good differential diagnosis. Most importantly, if we want to solve
big problems we can't always rely on an engineer from the outside looking in
and solving it for us.

Programming forces you to explain your understanding to something that is very
stupid (in a way). If you don't understand what you're doing, your program
doesn't work. That basic check doesn't exist for doctors. Ask your doctor what
a graph of y = 1/x looks like. Then ask him to graph alveolar CO2 vs
ventilation. You should be really afraid of how many doctors only know the
latter. I would guess some of them even wouldn't know that! (but they probably
know what to do with a patient who's hyperventilating, because they'd
memorized it)

Programming is the means to the end, not the end. All this talk of APIs and
IDEs and C vs Python vs Javascript really seem to miss the bigger picture
here. The best way we have of teaching thinking is with programming (IMHO) and
there has to be a way of teaching programming by getting all of the annoying
crap out of the way. And we desperately do need more people who have the
capacity to think and solve problems. Maybe not will.i.am or Chris Bosh or
even software junkies in the valley, but definitely in every other industry.

EDIT: small grammar edit, no content change.

------
bromang
the universal aims of this project seem a bit misguided. only a small
percentage of students will have the ability to be productive programmers.

------
devgutt
favorite quote: "A computer doesn't care about your family background, your
gender, just that you know how to code." — Dick Costolo (Twitter)

~~~
dinkumthinkum
And a computer doesn't even care about that. :)

~~~
devgutt
They should, like "come back to code, bastard!".

------
epicwhaleburger
Fight between codecademy and code.org probably

------
hydraphoenix
Ll

------
jQueryIsAwesome
Its a little bit relevant; so I would like to mention that I created a little
collaborative and opensource[0] _spanish_ directory of videos and documents to
learn programming; it's called <http://Programando.la/>, I would also like to
mention that CodeCademy haves a spanish version[1].

[0]<https://github.com/AltIvan/programando.la> (MIT License)

[1]<http://www.codecademy.com/?locale_code=es#!/exercises/0>

------
dakimov
Growing computer education you say? Also teach kids engineering — it's easy,
everybody can do it, right? As easy as programming. Everybody can program. I
have no idea why programmers have high salaries. And why we cannot find
programmers that are not self-taught and possess at least the fucking
theoretical minimum of CS disciplines and a grasp of professional culture.
Yes, give the world more ignorant "I can code" folks, there is not enough of
them!

------
ekianjo
Wow, it's even backed up by the official creator of the Internet, Al Gore!

