DLP for JS?
May 23, 2010 3:33 AM   Subscribe

I'd like to learn Javascript for free (or very low cost), online, as part of a distance learning course.

I know very little about Javascript and have no idea how to code in it. I'd need to start right from the very beginning.

I'm specifically looking for some kind of course with a tutor and tests/examinations of some kind. I don't have a lot of cash for this, but I do have some - the budget is about £50 (I realise this isn't much, but money is tight). I'm not looking for any kind of accreditation or certificate or anything like that. I just want to be able to code for personal pleasure.

I've tried reading books and websites, but I inevitably get confused and/or discouraged, which is why I'm wanting to try the course/tutor thing. I want something more structured than Googling a random website and visiting occasionally to post on a forum.

Does anyone have any recommendations as to a reputable place?
posted by Solomon to Computers & Internet (10 answers total) 13 users marked this as a favorite
Considering that a book is expensive enough as it is, I'm not sure if there's a DLP that fits your budget. There's also the issue with being discouraged. What if you get discouraged during your DLP class? You may end up quitting and not being able to get a refund.

If money is seriously an issue, I would just learn from a website like w3schools. If you want to learn how to use a programming language, you also need a good amount of discipline.
posted by RaDeuX at 5:14 AM on May 23, 2010

Yeah, came here to recommend w3schools.

It's pretty much the closest thing to an actual programming class without actually having a teacher. They have really nice interactive practice boxes where you can run javascript code. And there are tests.
posted by Salvor Hardin at 6:57 AM on May 23, 2010

Getting confused and discouraged is part of the process of learning programming. I've programmed for many years and I still get confused every day when working with a new framework or module, or a language I haven't done much in. I take a break and come back to it or go on to other things and then come back later.

You can also look at instruction videos offered by lynda.com. It may be easier for you than following textual tutorials.

I hope you've been using FF and Firebug to work with JS, otherwise JS can be very hard and annoying to debug.

If you're learning programming for fun, it may be a good idea to start with Python instead of JS because it has a very handy interactive shell called ipython - extremely useful for experimenting with many niceties like colour highlight and autocomplete. I've heard that there's now an interactive shell for JS as well but it's probably not mature and I'm not sure how close the interpreter is to the one in browsers that you will end up dealing with in practical usage.
posted by rainy at 7:14 AM on May 23, 2010

Just take the video courses at Lynda.com - $25 per month, cancellable anytime. Take copious notes, and supplement your instruction - if necessary - with books. I learned PHP this way.
posted by teedee2000 at 8:09 AM on May 23, 2010 [1 favorite]

Do not pay money to learn the basics. Once you have a little grounding, you will know if you need to pay for anything. Besides w3schools, there are a lot of tutorials out there for free. Your library may also have a book worth checking out.

I became a fair hand (a few years ago) without spending a dime.
posted by codswallop at 8:40 AM on May 23, 2010

Possibly you're asking the wrong question. Javascript is one element of process of creating dynamic web pages. The markup (HTML/DOM) and all the various options for the server side are just as complex and pretty essential. So what are you trying to do? Create web sites? Get a programming job?

If you look at any non-trivial chunk of code, what parts are j'script and which elements the DOM?

Yes, very confusing as rainy points out. What to do? Define smaller problem subsets and solve the simpler problems then weave them together (divide and conquer).

If you're interested in programming consider a more traditional language like python or ruby.

I found the vast majority of the books on javascript pretty wretched tutorials that taught little useful. The O'Reilly "JavaScript: The Definitive Guide" is a reference, the 3rd edition was great, I see there's a fourth.

Consider totally skipping pure javascript and going with a toolkit like jquery it hides some frustrating details and jumpstarts more interesting interaction.

Do you have your own web server to play with? I can't see going very far with web stuff without the real network interaction. There are isp's like nearlyfree that can have a server running for literally pennies.

Find user groups, there are lots and bouncing problems off someone is really useful.

Good luck, keep at it, we all get frustrated, you'll get past that.
posted by sammyo at 9:09 AM on May 23, 2010

This may be close to what you want, but there's no tutoring and no graded examinations.

I took SitePoint's JavaScript Live a few weeks ago. It was a three-week course that cost ten bucks. Each day came with videos, articles, code, and assignments. The accompanying forum was well-used. Truth be told it went too fast for me and I'm still working through it, but I feel like I'm getting a decent grounding.

I don't know if they'll be offering it again, but it might be possible to take it not-so-live. The only real difference would probably be the responsiveness of the forum.
posted by Kylio at 10:27 AM on May 23, 2010

Do you have specific projects you'd like to accomplish? I can't speak for anyone but myself, and my perspective is that of a pretty experienced multi-language programmer, but I find I learn new skills much more effectively when I have an immediate application in mind, rather than "hello world." The W3Schools and SitePoint links are both liable to be very useful; another approach that I find invaluable is to find a site that does what I want to do, then pick it apart in View Source... and figure out how it does it. When you run into things you don't understand, hit Google -- the DOM and most 3rd party APIs are pretty well documented.

Caveat: I learned Javascript this way about 10 years ago, but pages were much simpler in that era, and made much less use of external APIs (JQuery, etc) and AJAX stuff. I also had a general background in object-oriented programming prior to looking into JS; you might want to read up on basic OOP before you get into Javascript specifically, or in parallel -- the concepts tend to transfer well among OOP languages, and a lot of code will start to make more sense.
posted by Alterscape at 10:42 AM on May 23, 2010

There are lots of online sources which (depending on how you learn) might be better options than a no-name Distance learning course.

Here are a list of free resources to kick you off:

- w3schools (http://www.w3schools.com/js/) is a great place to start,
- I cannot recommend the interactive Eloquent javascript site enough (http://eloquentjavascript.net/).
- Mozilla - the people who develop the Firefox browser - have a lot of comprehensive documentation here: https://developer.mozilla.org/en/JavaScript but it can be quite dry.
- A good way to get free actual books is bookmooch.com (http://bookmooch.com/s/javascript), - although this is dependant on where in the world you are.
- For standard (full price) retail I highly recommend the 'Head First' series from o'reilly because they are laid out in a way that means you really learn and understand (not just memorise) the information (http://oreilly.com/catalog/9780596527747/), you can pick those up a little cheaper via places like amazon trader as well.
- Another free avenue is to join a helpful forum and ask them questions, but make sure you have genuinely tried to diog any problems you have first.
- I have heard good things about stackoverflow.com, but haven't tried them myself.

As others have pointed out, learning javascript in isolation probably wont' help much, as sammyo said above:
"Possibly you're asking the wrong question. Javascript is one element of process of creating dynamic web pages. The markup (HTML/DOM) and all the various options for the server side are just as complex and pretty essential. So what are you trying to do? Create web sites? Get a programming job? "

Good luck!
posted by Faintdreams at 2:54 AM on May 24, 2010

Check out Ed2Go.
posted by neuron at 8:53 AM on May 24, 2010

« Older Hoping for another Askmefi Mystery Machine Victory   |   Survival Hobby Communities Newer »
This thread is closed to new comments.