

Ask HN: Programming lessons for non-programmers? - lukas

Many non-programmers at my company (CrowdFlower) are interested in learning how to code.  We've tried having the engineers run lessons with some success, but I think it might work better to use a standardized curriculum.<p>Some of the online courses seem a little too html and javascript intensive.  We do some of that but what would be immediately useful to everyone is more scripting and basic SQL and data mining skills.  Can anyone recommend some online resources?<p>Has anyone tried to this type of thing at their company and can they suggest any learnings or best practices?  I'm thinking of offering a bonus to employees who hit some milestone - any suggestion for some goal that might be reasonable?
======
slykat
I've had a great experience with Udacity. As a bit of a background, I was an
EE in undegrad so I took a few CS courses but I've barely done any coding
professionally so I needed to "re-learn" programming. I like Udacity because
most of the course work is in Python (good for most types of development), the
lectures only go a few minutes before you are quizzed on knowledge (active
learning), the course is self paced, and you build on a mini-project across
the course (building the blocks of a search engine).

I definitely agree with @hoodoof that a project is essential. At the tail end
of the CS 101 I got a bit bored but had a side project I was working on as
well. I ended up focusing more time on the side project since it was more fun
and challenging, but Udacity helped build some fundamentals and jump start the
learning. I'd try combining an online course like Python and mini projects
(maybe small data analysis projects at Crowdflower or mini web tools).

Also, as a suggestion, I'd suggest considering web side projects even if you
don't use it at Crowdflower. There's something incredibly exciting about
deploying a tool for people to publicly see on the web that makes programming
stick for newbies (at least me). Once you build the motivation, you can assign
side projects that are more useful for the company.

I used to work for the big G where they had a few programs to learn to code
(but it never worked for me) - let me know if you want to know why they didn't
work.

------
hoodoof
You need a real project to learn how to program. Anything else does not give
the motivation to break through the problems and learn what is needed to get
stuff built.

~~~
tommaxwelll
I can attest to this. I tried to learn programming MULTIPLE times, giving up
each time within days. Recently I was sitting on an idea for a web startup,
and when I say "sitting," I mean sitting on it for 6+ months.

Story short, I threw my hands up and tried to learn programming again. It's
only been about a month, but it's been fun so far and it's a month longer than
I had tried in the past.

