Difference between revisions of "Javascript Resources"
m (→Random Numbers) |
|||
(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Random Numbers== | ==Why JavaScript?== | ||
JavaScript is my recommended first language for aspiring programmers---not Python. The reason is that JavaScript is built into every browser, so no matter where you are or what kind of computer you have, you can start playing with JavaScript. And as soon as you have learned a little, you can do neat things like interactive graphics, extend Google's Chrome Browser, and so on. | |||
Core skills you want to learn: | |||
* JavaScript | |||
* HTML --- the language in which pages are authored | |||
* CSS - Cascading Style Sheets. How to make web pages pretty. | |||
* JQuery - How to use JavaScript effectively. | |||
If you are solely interested in graphics, you might also look at [https://processing.org/tutorials/ Processing]. There are some really good [https://processing.org/books/ processing books] as well. | |||
And if you are looking for playing around with hardware, you might check out [[CircuitPython]]. | |||
==Recommended JavaScript Tutorials== | |||
The most orderly way to learn JavaScript is to simply read the manual on the Mozilla website. There are also tutorials: | |||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript | |||
If you've seen JavaScript but you've never formally learned it, I recommend: | |||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript | |||
There are many online JavaScript tutorials. These all allow you to try out things in your browser directly, and don't require that you create accounts: | |||
* https://www.w3schools.com/js/ | |||
* https://www.learn-js.org/ | |||
* https://javascript.info/ - The Modern JavaScript Tutorial | |||
Untrusted is a game played in JavaScript. It's designed to teach secure coding and hacking skills. You win the game by modifying programs. | |||
* https://alexnisnevich.github.io/untrusted/ | |||
==More Advanced JavaScript== | |||
===Online playpens=== | |||
Online resources: | |||
* https://codepen.io/ | |||
* https://jsfiddle.net/ | |||
* https://bokeh.pydata.org/ | |||
===Books=== | |||
* https://eloquentjavascript.net/ | |||
===Selected Blog Posts and Fun Tools === | |||
* https://dmitripavlutin.com/how-three-dots-changed-javascript/ | |||
==Cool Technologies== | |||
===Time Lines=== | |||
* https://timeline.knightlab.com/ - Open source JavaScript timelines | |||
===Tables=== | |||
* [https://datatables.net Datatables] (This is the one that I'm using) | |||
** [https://datatables.net/extensions/scroller/examples/initialisation/server-side_processing.html 5,000,000 rows server-side] | |||
** [https://datatables.net/extensions/scroller/examples/initialisation/api_scrolling.html Example showing jump to row 1000] | |||
* [http://tabulator.info Tabulator] (This is a little easier to use) | |||
* https://www.sitepoint.com/12-amazing-jquery-tables/ | |||
* https://www.jqueryscript.net/table/ | |||
===Random Numbers=== | |||
Especially Laplace distributions... | Especially Laplace distributions... | ||
* http://jsfiddle.net/KkDVr/2/ - Noise generation, showing on a canvas | * http://jsfiddle.net/KkDVr/2/ - Noise generation, showing on a canvas | ||
Line 10: | Line 64: | ||
* https://www.npmjs.com/package/probability-distributions | * https://www.npmjs.com/package/probability-distributions | ||
* https://github.com/Mattasher/probability-distributions | * https://github.com/Mattasher/probability-distributions | ||
Comments on how random numbers work in web browsers: | Comments on how random numbers work in web browsers: |
Latest revision as of 06:59, 18 September 2020
Why JavaScript?
JavaScript is my recommended first language for aspiring programmers---not Python. The reason is that JavaScript is built into every browser, so no matter where you are or what kind of computer you have, you can start playing with JavaScript. And as soon as you have learned a little, you can do neat things like interactive graphics, extend Google's Chrome Browser, and so on.
Core skills you want to learn:
- JavaScript
- HTML --- the language in which pages are authored
- CSS - Cascading Style Sheets. How to make web pages pretty.
- JQuery - How to use JavaScript effectively.
If you are solely interested in graphics, you might also look at Processing. There are some really good processing books as well.
And if you are looking for playing around with hardware, you might check out CircuitPython.
Recommended JavaScript Tutorials
The most orderly way to learn JavaScript is to simply read the manual on the Mozilla website. There are also tutorials:
If you've seen JavaScript but you've never formally learned it, I recommend:
There are many online JavaScript tutorials. These all allow you to try out things in your browser directly, and don't require that you create accounts:
- https://www.w3schools.com/js/
- https://www.learn-js.org/
- https://javascript.info/ - The Modern JavaScript Tutorial
Untrusted is a game played in JavaScript. It's designed to teach secure coding and hacking skills. You win the game by modifying programs.
More Advanced JavaScript
Online playpens
Online resources:
Books
Selected Blog Posts and Fun Tools
Cool Technologies
Time Lines
- https://timeline.knightlab.com/ - Open source JavaScript timelines
Tables
- Datatables (This is the one that I'm using)
- Tabulator (This is a little easier to use)
- https://www.sitepoint.com/12-amazing-jquery-tables/
- https://www.jqueryscript.net/table/
Random Numbers
Especially Laplace distributions...
- http://jsfiddle.net/KkDVr/2/ - Noise generation, showing on a canvas
- http://jsfiddle.net/Xotic750/DXXhs/ — Gaussian distribution
Probability distributions for JavaScript:
- http://statisticsblog.com/probability-distributions/#laplace
- https://www.npmjs.com/package/probability-distributions
- https://github.com/Mattasher/probability-distributions
Comments on how random numbers work in web browsers:
- https://bocoup.com/blog/random-numbers
- http://simjs.com/random.html
- http://mathjs.org/docs/reference/functions/random.html
- https://www.filosophy.org/post/35/normaldistributed_random_values_in_javascript_using_the_ziggurat_algorithm/
Graphing: