# Learning JavaScript Here, I'm collecting a number of links to useful resources for learning JavaScript (and related web tech). If you have suggestions for additional links, let me know! * ian@iangilman.com * https://twitter.com/iangilman # Lessons / Challenges * https://www.khanacademy.org/cs/programming * https://dash.generalassemb.ly/ * https://www.codecademy.com/catalog/language/javascript * http://www.jsdares.com/ * http://nodeschool.io/ * https://github.com/liammclennan/JavaScript-Koans * https://github.com/mrdavidlaing/javascript-koans * http://www.crunchzilla.com/ * http://blog.iangilman.com/2015/02/self-this.html * https://www.javascript.com/resources * http://learnxinyminutes.com/docs/javascript * https://javascript30.com/ * https://watchandcode.com/p/practical-javascript * https://www.freecodecamp.org/ * https://coderbyte.com/ * https://www.codewars.com/ * https://script-8.github.io/ * https://learnjavascript.online/ * https://adventofcode.com/ * http://flexboxfroggy.com/ (for CSS, not JavaScript) * https://www.codementor.io/javascript-experts # Manuals * http://eloquentjavascript.net/ * https://developer.mozilla.org/en-US/learn/javascript * https://developer.mozilla.org/en-US/learn/css * https://developer.mozilla.org/en-US/learn/html * http://www.impressivewebs.com/jquery-tutorial-for-beginners/ * http://youmightnotneedjquery.com/ * http://superherojs.com/ * http://jsforcats.com/ * http://adamschwartz.co/magic-of-css/ * [ES6 Cheatsheet](https://devhints.io/es6) * [ES6 Overview in 350 Bullet Points](https://ponyfoo.com/articles/es6) # General * http://jstherightway.org/ * [Things I Wish Someone Had Told Me When I Was Learning How to Code](https://medium.com/learning-to-code/565fc9dcb329) * [Thoughts about differences in individual productivity in software engineering](https://medium.com/@cramforce/ive-lately-been-thinking-about-what-patterns-could-explain-perceived-differences-in-productivity-77d1f52f1527) * https://www.reddit.com/r/LearnJavaScript * [How to get faster pull request reviews](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md) # Code to Fiddle With * http://codepen.io/ * http://wavepot.com/ * https://github.com/iangilman/js-toys * https://github.com/iangilman/simple-webapp-boilerplate * http://www.ellipsetours.com/demos/ * https://www.khanacademy.org/profile/iangilman/programs * https://www.khanacademy.org/cs/browse-programs * https://github.com/openseadragon/openseadragon/issues?labels=good+first+bug&page=1&state=open * https://github.com/kylestetz/lissajous * http://rectangleworld.com/blog/ * http://rileyjshaw.com/terra/ * https://glitch.com/learn-to-code * [30 seconds of code](https://github.com/Chalarangelo/30-seconds-of-code/blob/master/README.md) (Curated collection of useful Javascript snippets that you can understand in 30 seconds or less) # Project Ideas * http://codeboom.wordpress.com/2012/07/30/10-mini-programming-projects/ * http://inventwithpython.com/blog/2012/02/20/i-need-practice-programming-49-ideas-for-game-clones-to-code/ * http://ideasource.blankdots.com/ * https://github.com/rdio/api/issues?labels=project+ideas&state=open (music API project ideas; originally for Rdio but applicable to other services) * https://www.reddit.com/r/dailyprogrammer/ * https://www.reddit.com/r/dailyprogrammer_ideas/ * https://www.codementor.io/projects/javascript … Or make something pretty for [Arty Widget](http://www.artywidget.com/)! Don't forget to take a look at the [guidelines](https://github.com/pixfabrik/artywidget/wiki/Artwork-Guidelines). # Libraries * https://p5js.org/ * http://jquery.com/ * https://underscorejs.org/ * http://lesscss.org/ * http://mrdoob.github.io/three.js/ * http://html5gameengine.com/ # Regular Expressions * http://regexone.com/ (interactive tutorial) * http://regexpal.com/ (try out your regex) * http://regexr.com/ (try out your regex) * http://www.regexper.com/ (diagrams your regex) # Hosting * https://neocities.org/ * http://pages.github.com/ * https://glitch.com/ * http://www.site44.com/ * http://surge.sh/ * https://hyperdev.com/ * https://zeit.co/now # GitHub * https://help.github.com/articles/set-up-git * [A Stupid Simple Guide to GIT](https://medium.com/the-startup-lab-blog/stupid-simple-guide-to-git-f562df9c49ad) * [git cheat sheet](http://rogerdudler.github.io/git-guide/files/git_cheat_sheet.pdf) * [Making a Pull Request](https://github.com/openseadragon/openseadragon/wiki/Making-a-Pull-Request) (written for OpenSeadragon, but applicable to any project) * [Ian's Git Cheat Sheet](https://gist.github.com/iangilman/1097883) (just random bits I've found useful) * [Learn Git Branching](http://pcottle.github.io/learnGitBranching/) # Finding Open Source Projects to Contribute to * http://up-for-grabs.net/ * https://yourfirstpr.github.io/ * http://24pullrequests.com/ * https://openhatch.org/ * https://www.codetriage.com/ * https://github.com/MunGell/awesome-for-beginners#javascript * https://contributor.ninja/ * https://opensource.guide/how-to-contribute/ * https://github.com/trending/javascript Also, I manage these two projects, and gladly welcome new contributors! * https://github.com/openseadragon/openseadragon * https://github.com/pixfabrik/artywidget # Meetups * http://javascript.meetup.com/cities/us/98108/ (Seattle) # Design * https://hackdesign.org/ # For Kids * [Apps To Get Your Kids Coding On The iPad, Part 1](http://ipadinsight.com/ipad-in-education-2/apps-to-get-your-kids-coding-on-the-ipad-part-1/) * [Apps To Get Your Kids Coding On The iPad, Part 2](http://ipadinsight.com/ipad-app-reviews/apps-to-get-your-kids-coding-on-the-ipad-part-2/) * http://coderdojo.com/ * http://scratch.mit.edu/ and http://makomatic.com/dojo/exercises.html * http://www.thinkfun.com/robotturtles/ # More Resource Lists * [Another list of JavaScript resources](https://gist.github.com/unkillbob/7090664) * [Seattle JS Hackers' resource list](https://github.com/SeattleJSHackers/seattlejshackers/blob/master/README.md) * [Resource list from JavaScript group on Facebook](https://www.facebook.com/notes/javascript/resources-for-learning-javascript/10151409218055343/) * https://coderdojo.com/resources/