

Ask HN: Online Resources for Beginner Hackers? - knightinblue

Hey guys,<p>my cousin is about to start his summer vacation and we were talking about stuff he could do over the break. He expressed an interest in computers and I figured I would help him get started with some basic programming. I wanted to compile a list of online sources where a newbie could get started. Here's what I have so far -<p>http://www.freenetpages.co.uk/hp/alan.gauld/ - intro to programming<p>http://w3schools.com/ - HTML, CSS, Browser/Server Scripting<p>http://www.cprogramming.com/ - C and C++<p>http://wiki.python.org/moin/BeginnersGuide - Python<p>http://rubylearning.com/satishtalim/tutorial.html - Ruby<p>http://docs.rinet.ru/P7/ - Perl<p>http://www.gigamonkeys.com/book/ - Lisp; also downloaded PG's 'On Lisp'<p>http://www.javabeginner.com/ - Java<p>Any other resources you think I should add?<p>what about reading up on hardware?<p>Any advice regarding how and in what order my nephew should get started would also be appreciated.<p>Thanks!!
======
travers
I would advise against so many languages/technologies at once. This was the
mistake I made in the beginning and I haven't really recovered. I can dig in
to many things and make them work, but I think I would have been better off if
I tried to master one or two things.

Find out what your friend is interested in and make your recommendations based
on that.

------
chanux
This one is the first document any hacker newbie should read.

<http://www.catb.org/~esr/faqs/hacker-howto.html>

------
raquo
I have nothing to add to the list, just make sure he is not bored by all the
theory - let him build some very very simple apps // hmm I'm probably saying
obvious stuff

------
stonemetal
How about poignantguide.net and <http://learnyouahaskell.com/> and
mitpress.mit.edu/sicp/

Though it looks like you will have to turn to the printed word for anything
beyond language tutorials. I would suggest intro to algorithms and head first
design patterns.

As far as hardware goes introduce him to an arduino or a pic and some parts
and let him explore.

~~~
brianto2010
I second the _Why's Poignant Guide to Ruby_ and _Learn You a Haskell For Great
Good_. However, I think SICP is a bit ambitious.

Here is an old HN discussion on teaching programming:

<http://news.ycombinator.com/item?id=428095>

In addition, I recommend _why's Hackety Hack based on Ruby. It also seems that
a new version is on the way!

<http://hacketyhack.net/get/>

Knightinblue, I don't know if I am interpreting your intentions correctly or
not, but I do not recommend _just_ giving a ton of resources to your nephew.
Rather, I believe that it is important to actively help guide him in learning.
Be a mentor. Show him how to make things work. Show him how to make the
computer do fun things. Do not completely leave him on his own.

Lastly, push him towards programming (and computers in general), but do not
completely overwhelm him with information. Knightinblue, you seem to have
amassed a huge collection of resources. In this case, I strongly believe in
quality over quantity. Be very picky. In my opinion, many links will
definitely need to go.

Most importantly, be _absolutely sure_ that your nephew will have fun and
enjoy the experience. There is nothing worse than being completely frustrated
by something new.

Sorry for that odd advice tangent. I just wanted to say it.

One last question: Knightinblue, how much is your nephew interested in
computers? Is it 'hey, I think this might be cool' or is it 'yes, this will be
my future'?

