
Code Year - llambda
http://codeyear.com/
======
aarlo
This looks like it will be effective.

Something to think about...coding _well_ takes a certain type of mind that
most people don't have. Code is, as Fred Brooks says, "pure thought-stuff."
You need to be able to build and understand multiple layers of abstract stuff
all at the same time.

Coding is like having a vivid dream in that you're occupied with something
entirely mental and disconnected from your physical reality. But unlike real
dreams, it's coherent and rigidly structured, and fits in your conscious mind.

Some people can think this way. Most people can't, even if their mind is
advanced in other ways.

I don't think most people, even the ones who are interested in Codeacademy,
realize this.

(That said, I think it's useful for people to try to learn to code to
understand the basics. And surely lots of people out there could code, but
haven't learned yet. But most people will not be able to build _complicated_
"apps and websites.")

~~~
kabuks
Thank you for articulating this so crisply. I realize that I have the same
idea as well that "most people can't".

Where did we get this idea come from? I'm genuinely curious.

I've recently taken a huge bet in the opposite direction of this assumption
that not everybody can learn coding, and I'm very interested in what (if any)
evidence exists on both sides of the argument.

~~~
mbeswetherick
This paper doesn't necessarily answer why people can't program, it just points
out some pretty interesting discoveries.
<http://www.cs.washington.edu/homes/reges/mystery/mystery.pdf>

It's a paper that focuses on some strange patterns that came out of a
statistical analysis of the 1988 Computer Science AP test. It turns out that
there are a few questions that end up being a great indicator towards
someone's natural programming ability.

Definitely worth the read.

~~~
kabuks
Great article. Thanks. This in particular blew my mind:

"“Educators of computer science have repeatedly observed that only about 2 out
of every 100 students enrolling in introductory programming classes really
resonate with the subject and seem to be natural-born computer scientists…I
conclude that roughly 2% of all people ‘think algorithmically,’ in the sense
that they can reason rapidly about algorithmic processes."

~~~
justincormack
But that is a quote from Knuth based on an older unpublished study, and seems
to be a conjecture with weak evidence. Not sure it is actually mind blowing.

------
atdt
This might be more inspiring if you had quotes from programmers who changed
the world for the better through their programming rather than people who make
boatloads of money off programmers.

------
thisduck
Perhaps it's just me, but it seems like the quotations from Fred Wilson, pg,
and Douglas Rushkoff are made in direct support of codeyear/codecademy.

The placement makes it seem (to me) that the quotations and made in promotion
as opposed to being used as backing for support.

~~~
zds
hi thisduck - fred, pg, and douglas rushkoff _are_ all direct supporters of
what we're doing.

their quotes are used with their permission and they're all partners for code
year.

~~~
thisduck
Ah, I knew that pg was. Don't get me wrong, I think what you guys are doing is
great.

But just by the pattern and placement they seem like testimonials, when they
were not said in testimony.

------
twunt
Ironically I just got a nice big error upon completing the first task ;)

And upon trying to register got 'We're sorry, but something went wrong. We've
been notified about this issue and we'll take a look at it shortly.'

~~~
zds
can you shoot us an email at contact(at)codecademy(dot)com? would love to
figure out what went wrong. thanks!

~~~
twunt
Yep updated my post here and will do if I get any specific errors etc. cheers

------
subpixel
I mention Codecademy & Khan Academy in this post on the 'Learn it Yourself
movement' <http://bit.ly/sReK6m>

It seems to me that making educational material free & widely available is the
first step. That's the equivalent of putting textbooks in anyone's hands.

The next (massively exciting!) step will be when online learning becomes
measurable and demonstrable. See the Khan Academy tools video
[<http://bit.ly/rVFlsE>] for a peek at how much is possible on that front.

In the case of teaching people to program, I'd like to see lessons, videos,
and exercises become the onramp to a system where students can
connect/collaborate (think GitHub + StackOverflow for beginner/intermediate
coders). I know from my own experience that there's nothing like a little
positive peer pressure to keep you on track and that sharing your progress
with peers is fun and keeps you motivated.

~~~
zds
thanks for the post, ryan! we think it's pretty exciting too ;)

------
neuromancer2600
I wish the hundreds (or even thousands) of hours from all those people
wouldn't be wasted solving the same didactically useful but rather useless
results of manual work. Why can't the manual labour put in result into
something great or useful like a working program, framework, bugfix,
codechallenge (I surely am fantasizing a bit here but you get the idea)? That
was always something that bugged me about doing CS as an undergrad (and grad):
all those hours of brainpower are wasted solving the same problem instead of
looking at the final result from all the lessons and picking the best out of
each assignment and having that at least run against last year's class.
Education surely is ripe for disruption and this would be one way to make use
of the larger scale of having a larger number of people work on problem sets.

~~~
tikhonj
This is largely because the beginning hours of work in any field--coding in
general or some specialist programming--are remarkably inefficient. At the
very start, everybody inevitably writes poor code slowly. It is more efficient
to optimize the learning and try to get people productive quickly than trying
to keep them productive throughout.

All the undergrad courses--as far as I can tell--are just introductions to
some field or other. Once you get to grad school--and some during undergrad
too--you start doing research. This _is_ productive while being didactic;
however, I doubt it would be nearly as efficient without the useless classes
before it.

In short, while learning you're just solving known problems poorly (that
compiler you wrote for your class was probably not comparable to GCC :). The
stuff that actually needs to get done and the things you need to do while
starting learning are unfortunately different.

------
aculver
This is great, but rather than making a resolution to learn programming for
the sake of programming, I'd recommend newcomers to programming to have (or
come up with) a particular app they want to build right from the beginning and
just learn what they need to in the process of building it.

~~~
jeffreymcmanus
As it happens, setting out to learn an app right away is typically not a great
way to learn how to code for beginners. It's too easy to get stuck on the
implementation details of your application-development objective ("why won't
my blogging system display italics?") at the expense of the fundamentals
("what is CSS good for?")

------
tsigo
"Sign up on Code Year to get new interactive programming lesson" is missing an
'a' before "new".

~~~
nhangen
Also missing detail on the program itself.

------
richardburton
This is _such_ a great marketing site for Codecademy. I think if you can more
people to think like coders that is a massive win. Since I got into ruby in a
big way I have started to notice that I think more logically, more rationally,
more clearly. For instance, here is some code I wrote to work out if I should
text a girl back or not:

    
    
        if text.response_time < 5
           puts "She digs me!"
        elsif text.response_time < 60
           puts "She is vaguely interested."
        elsif text.response_time < (24 * 60)
           puts "Delete her number and move on :("
        end
    

You may think it is pathetic (because it is!) but it is surprisingly
effective.

~~~
rgbrgb
She might just want to be friends...

------
doug11235
Which programming language(s) is/are used?

~~~
zds
we'll be changing it up to make people learn the basics (and more advanced
parts) of a few different languages.

~~~
sequoia
Hold your ground zds! Let's just skip the argument about which language is
best [for beginners]. :)

------
adelevie
This is incredibly encouraging:
<http://twitter.com/#!/search/realtime/%23codeyear>

------
astroguy
For lesson 7, question 4 [It's time to make your own! Let's do what we did
before and bring i down from 2 to 0. This time, fill in the conditions in the
for loop using what you learned before.], when I run into infinite loop, my
browser gets stuck.

Just of curiosity, I would like to know whether that event affects the server
badly, if I keep my browser open?

~~~
zds
thanks for the question. we're running everything client side, so it's only
your browser that's getting stuck. we're working on a fix for this too!

~~~
thelastnode
A fix to the halting problem?

Jokes aside, timing out would be useful.

~~~
amasad
Haha!

A Firebug like prompt is the plan i.e. "Script is taking too long to finish,
do you want to stop it..." maybe every (n * X) time interval for n is every
time the msg is shown for a specific peace of code.

------
verroq
>If you want to invest two years in something that will help you, you would do
better to learn how to hack than get an MBA ~ pg

Only if learning to be a blackhat would be that easy.

------
bartl
Back to the era of the 1980s... where every computer came with its own
programming language system included; usually BASIC.

Move forward 10 years, and it was all gone.

~~~
riffraff
arguably, every computer still came with a few programming languages included
(e.g. all browsers with javascript, scripting host/powershell on windows,
shell/perl/python/ruby on *nix).

Sadly the extension of the computer concept to tablets and smart phones does
not seem to carry such a legacy.

------
grovecai
It's a good start! After trying some js lessons, I found it is suitable for
those who never program before.

