A tutorial covering Javascript basics. This repo contains example source code && my solution to the challenges.
Navigate the directory structure above to see specific course material.
- split into sections: basics, intermediate, advanced THEME GAMIFIED
- Git version control
- Promises and Async / Await
- Closures, Scope, and Hoisting
- setTimeout, setInterval
- Error handling
- Javascript event loop - heap, stack, and message queue
- ES6 classes
- fields (properties) && methods
- primitives also have fields and methods! String, Number, Boolean
- Fetch API
- HTML and DOM manipulation
- handle click, hover, keyboard events
- event listeners (callbacks, baby!)
- event.preventDefault
- Regular Expressions
- GAME: write an email validator
- Race conditions
- Express (suuuper quick primer) - "Express Expressed Expressley"
For each game, add the game itself, and an answer key
-
variables
- make a mad libs app -
conditionals
- make a choose-your-own adventure game -
html-dom
- make a counter app - increment with each button press -
html-dom
- make an elusive button - button flees mouse position -
fetch
- get today's price of bitcoin -
localstorage
- save leaderboard high scores -
ES6 classes
- make SpaceX class - get rocket launches etc. -
express
- make a Movies API using Node / Express -
functions
- write a calculator -
functions
- use callbacks to iterate through a collection of bitcoin transactions and perform calculations - totals, percent gain, etc.- use Array.prototype.map|filter|reduce etc.
- test iteration/traversal, functions, callbacks
-
regular-expressions
- use regular expressions andString.prototype.replace
to find/replace certain words in a short story -
regular-expressions
- make an email validator -
Mad Lib App (variables)
-
Dogecoin Gains Calculator (functions - teacher: fetch today & 1 month ago - student: implement callback to calculate percentage gain/loss)
-
Today's Bitcoin Price (fetch api)
-
SpaceX Rocket Launch Schedule (classes - teacher: fetch rocket launches - student: write Launch class with fields and methods)
-
Movie Catalogue (node / express - fetch api, JSON responses)