Javascript
Class Outline and Teaching Materials


Main Topics

  1. Setting up the environment: [geany or vim (or brackets)] + jshint (zh_TW) + [firefox console or nodjs] + github
  2. [optional: vim editor: conversational, game, content-rich ]
  3. basics: The JavaScript Language (mostly the Fundamentals part)
  4. Reading and Writing JSON Files with Node.js
  5. shallow copy vs deep copy (zh_TW), javascript deep copy using JSON.stringify
  6. [optional: phaser (tutorial) and other js game engines]
  7. perl-compatible regular expressions: Greg's medium article, js exec example, eloquentjavascript, exercises: simple, hard
  8. using callbacks/lambda/anonymous/arrow functions in .map(), .reduce(), and .filter()
  9. jquery hello world, jquery basics
  10. Javascript can read local files, zh_TW
  11. Displaying Family Marts on the map using leaflet
  12. datatables
  13. plotly
  14. (optional: d3)
  15. frontend vs backend, History of ECMAscript
  16. Different ways of dealing with modules: revealing module pattern, CommonJS vs AMD vs RequireJS vs ES6 Modules, Understanding (all) JavaScript module formats and tools
  17. A World of Javascript Transpilers
  18. webpack: What Tool to Use: webpack vs Gulp vs Grunt vs Browserify, A mostly complete guide to webpack 5, sample project: ciafb
  19. Quick summary: Beginner's introduction to modern JavaScript

Reference Books

  1. Learn Javascript by Example (basics and exercises)
  2. JavaScript by Example (book)
  3. Modern Javascript by Example (modern and advanced)

Appendix

  1. Greg's javascript supplementary notes
  2. 15 Sites for Programming Exercises
  3. Python Exercises, Practice, Solution
  4. Basics of Modular Javascript
  5. JavaScript modules
  6. Top 20 Javascript Libraries You Should Know
  7. 39 of the best JavaScript libraries and frameworks to try in 2020
  8. new features beyond es6
  9. best practices
  10. SPA examples: scatplot, vizxtime

(back to course homepage)