Javascript
Class Outline and Teaching Materials
Main Topics
- Setting up the environment:
[geany or vim (or brackets)] +
jshint (zh_TW) + [firefox console or nodjs] + github
- [optional: vim editor:
conversational,
game,
content-rich
]
- basics: The JavaScript Language
(mostly the Fundamentals part)
- Reading and Writing JSON Files with Node.js
- shallow copy vs deep copy (zh_TW),
javascript deep copy using JSON.stringify
- [optional: phaser (tutorial)
and other js game engines]
- perl-compatible regular expressions:
Greg's medium article,
js exec example,
eloquentjavascript,
exercises: simple,
hard
- using callbacks/lambda/anonymous/arrow functions in
.map(), .reduce(), and .filter()
- jquery hello world,
jquery basics
-
Javascript can read local files,
zh_TW
- Displaying Family Marts on the map using leaflet
- datatables
- plotly
- (optional: d3)
-
frontend vs backend,
History of ECMAscript
- Different ways of dealing with modules:
revealing module pattern,
CommonJS vs AMD vs RequireJS vs ES6 Modules,
Understanding (all) JavaScript module formats and tools
- A World of Javascript Transpilers
- webpack:
What Tool to Use: webpack vs Gulp vs Grunt vs Browserify,
A mostly complete guide to webpack 5, sample project: ciafb
- Quick summary: Beginner's introduction to modern JavaScript
Reference Books
- Learn Javascript by Example (basics and exercises)
- JavaScript by Example (book)
- Modern Javascript by Example (modern and advanced)
Appendix
- Greg's javascript supplementary notes
- 15 Sites for Programming Exercises
- Python Exercises, Practice, Solution
- Basics of Modular Javascript
- JavaScript modules
- Top 20 Javascript Libraries You Should Know
- 39 of the best JavaScript libraries and frameworks to try in 2020
- new features beyond es6
- best practices
- SPA examples: scatplot,
vizxtime
(back to course homepage)