Help Learning JavaScript (Absolute Beginner)

Excuse me for asking such a thing in a forum like this, but I would like a little help. Recently I have sprung an interest in programming, and will begin by learning JavaScript. I have loved playing on OGS, and by being on the forums I have developed such an interest, being that it applies so much here. I am hoping to learn as a side skill and potentially as a job later on. So here goes: Does anyone know of any great beginner courses/ tutorials on beginning to use JavaScript that are online and free. Again, absolute beginner that knows nothing about programming looking to learn, thanks in advance!

Mr. GoBoard (@Go_Board)

2 Likes

an app that might be useful as a side resource: sololearn
i wouldn’t recommend it as a main resource though.
this seems to be nice: https://www.codecademy.com/learn/introduction-to-javascript
w3scools is a good site as well for these things.

something to keep in mind - a language is a tiny part of “programming”, most knowledge is somewhat the same between most high level languages. which means: focus more on finding a resource that works for you, for any language. and yes, just try one, decide its not the best and go to somewhere else. no one can help you more than google.
languages that arent too bad to start with: python, c#, java, javascript.

oh and, find mini projects that you want to create. nothing teaches you more than working hard on making something you like ^^
if you like math problems, projecteuler.net will give you lots of nice projects. there are other problem sites, if you are less mathemathically enclined.

3 Likes

My daughter has been enjoying this:

You will need to learn HTML and CSS also if your intent is to contribute to OGS.

2 Likes

hence a good reason to start with a cleaner language ^^

I clarified (by editing my post) that I did not mean you need to learn HTML and CSS if you want to learn javascript (because you don’t)

I meant you need to learn those if you want to contribute to OGS (or web development in any form, obviously).

1 Like

Instead of learning the language exclusively, I’d recommend you also learn about what a computer is and how it works. One of the most fundamental sources on that would be Donald Knuth’s “The Art of Computer Programming” or Charles Petzold’s “Code”.

By the wayThere are graded 'puzzles' in Knuth's book ranging from M (mathemtaically oriented) to HM (higher math) and 00 (trivial) to 50 (unsolved/research problem). The first research problem is classified as M50 (ostensibly not requiring higher math) and it was only recently solved by Grigori Perelman: "Prove that for any n>2, x^n + y^n = z^n has no solutions in positive integers x,y,z", also known as the Poincaré Conjecture. Let's just say it did require higher math. ;D

Some may say that’s like reading a book on the physics & aesthetic principles of architecture before you build your first LEGO house, but if all you’ve ever done was build LEGO houses,…

Now if you’re not into reading, don’t code you might find some YT videos that purport to teach you ostensibly the same thing, but here’s an example of a garbage series that does nothing of the sort which unfortunately seems to be par for the course.

This website’s very educational, but his series wasn’t intended to be a step-by-step tutorial so you still have to bridge some gaps.

2 Likes

I recommend “JavaScript: the good parts” by Douglas Crockford. It’s a great, concise guide for learning JavaScript. You can probably borrow it from your local library for free.

3 Likes

Building upon @smurph’s advice, but going on a different tangent, also take a look at The Wizard Book, Structure and Interpretation of Computer Programs, by Abelson & Sussman—which is available for free, both for online reading and as a PDF, and has accompanying lectures. It uses the Scheme programming language, so my suggestion isn’t directly related to your request, but I believe that going through a book like The Little Schemer does for our programming what I suppose tsumego do for our Go. In any case, I wish you success in your studies. :slight_smile:

2 Likes

@levav, @GreenAsJade, @smurph, @yebellz, @lucasfelix: Thank you very much for all of the advice! I love to see so many responses and I will carefully consider all of your suggestions. I am actually only in high school right now (9th grade) and I will be studying for some time, as I am considering a major in computer science. Indeed, I hope to help contribute to OGS once I have sufficient knowledge. Day 2 of studying today (yesterday I found an IDE to use and some inspiration!) I will be studying on a daily basis and I do hope to learn other languages after a while. Thanks again!

4 Likes

I’d recommend elevator saga, as a fun, quick way to play with some javascript: https://play.elevatorsaga.com/

It’s a game where you program elevators, using as much javascript as you’d like!

1 Like

And a cautionary tale.

2 Likes

When I did a bit of HTML I liked the ressources on selfhtml.
There is also a section for Javascript https://wiki.selfhtml.org/wiki/JavaScript
BUT I just noticed that it seems to be in German only.

1 Like

Well, folks, time to learn German. :slight_smile:

1 Like

Adding to all the excellent advice you’ve got already:

Try to use books or resources that teach you the post-2015 Javascript language (also known as ES6 or JS2015 and a number of other names). For instance, I don’t think Crockford’s excellent book has been updated to the new standard.
The Javascript specs were revised substantially in 2015 and the language was brought closer to other higher level interpreted languages (like. e.g. Python). Pre-2015 Javascript has some, let’s say unorthodox ways of dealing with classes and modules that will make it harder to transfer your knowledge to other languages.
Also, I would recommend building a couple of Lego houses before venturing into physics… :wink:

3 Likes

One other thing worth mentioning: the authoratative API documentation is MDN. The link is here: https://developer.mozilla.org/en-US/

More pedantically, the ES6 changes in 2015 didn’t fundamentally alter the way Javascript works. Classes are just a re-skinning of the function based way things worked before. Javascript is still prototype-based, and is still kind of a weird language. ES6 is awesome, and added some really useful functionality, but it didn’t fundamentally change anything.

If you’re venturing into OGS coding, OGS is all typescript, which is slightly different from Javascript. It’s basically Javascript for people that like Java and missed having types and classes. It also has more semicolons.

2 Likes

Plus some sobering advice.

2 Likes

Here’s another cautionary tale, specifically related to the widely used JavaScript go software “EidoGo”

2 Likes

Stay away from this book if you’re a beginner!

Despite the title, this is not a programming book (most of the book is about the mathematical properties of algorithms). It’s very advanced material, completely unsuitable for beginners, and it’s even less readable for modern audiences due to the fact that the examples in the book are written in an outdaded programming language invented by the author himself ~ 50 years ago that nobody else uses.

I highly suspect that smurph is trolling you here.

I personally think that ES6 fixed or improved most of the awful design decisions of older versions of Javascript. Sure, classes are just ‘synctatic sugar’, but they make the object system so much cleaner to use. Javascript with ES6 and “use strict” is actually a decent language.

3 Likes

I am a fan of codewars. It has a bunch of user submitted ‘kata’ in several languages. They are also ranked like go problems (i.e. 25k, 12k, 1d, etc…). It’s almost like tesuji problems for programmers.

When you submit your solution, you also get to see how others solved the same problem and can tag solutions with things like ‘clever’ or ‘best practices.’

Lots to learn there.

2 Likes

You know, I think you’re right. Instead of reading the book and forming an opinion of his own, he should follow your advice and not worry his pretty little head about it .

1 Like