> Please help us improve and share your feedback! If you find better tutorials or links, please share them by opening a Pull Request. # Hack Your JavaScript Here you can find course content and homework for the JavaScript 1,2 and 3 modules ## Composition (Module goals) |Week|Topic|Read|Homework| |----|-----|----|--------| |0.|Preparation for your first JavaScript session|[Reading Week 0](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week0)|-| |1.|• Intro JavaScript (What is it, where can you
use it for)
• Basic Data types [Strings, Numbers, Arrays]
• Variables
• Operators
• Conditions
• Naming conventions| [CLI Reading Week 1](https://github.com/HackYourFuture/CommandLine/blob/master/Lecture-1.md)| [Homework Week 1](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week1/MAKEME.md)| |2.| [CLI](https://github.com/HackYourFuture/CommandLine) session with Unmesh :heart:|[Reading Week 2](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week2)|[JS](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week2/MAKEME.md) + [CLI Homework Week 2](https://github.com/HackYourFuture/CommandLine/blob/master/HomeWork.md)| |3.|• Loops (for/while)
• Functions
• Closures
• Scope
• Advanced data types [Objects]
• Array Manipulations
• Basic DOM manipulations [img src, innerHTML]
• Code commenting|[Reading Week 3](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week3)|[Homework Week 3](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week3/MAKEME.md)| |4.|• First Git Session with Unmesh :smiling_imp:
• JSON
• Code debugging using the browser
• Functions + JSON/Arrays
• Code flow (order of execution)
• (capturing user input)
• Structuring code files|[Reading Week 4](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week4)|[JS](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week4/MAKEME.md) + [Git Homework Week 4](https://github.com/HackYourFuture/Git/blob/master/Lecture-1.md)| |5.|• Second Git Session :see_no_evil:
• Events
• Callbacks
• XHTTP Requests
• API calls|[Reading Week 5](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week5)|[JS](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week5/MAKEME.md) + [Git Homework Week 5](https://github.com/HackYourFuture/Git/blob/master/Lecture-2.md)| |6.|• Async VS Sync
• Polling
• Structure for a basic SPA|[Reading Week 6](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week6)|[Homework Week 6](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week6/MAKEME.md)| |7.|• Third Git Session (Git Workflow :muscle:)
• (re)writing data structures (in JSON)
• Map, reduce filter|[Reading Week 7](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week7)|[Homework Week 7](https://github.com/HackYourFuture/JavaScript/tree/laurens_thomas/Week7/MAKEME.md)| |8.|• Closures
• Promises|TBA|TBA| |9.|Test Driven Development|TBA|TBA| __Kind note:__
We expect you to __always__ come prepared to the class on Sunday. ## Module goals: ### Week 1-3: A basic program with multiple functions (reacting to user input) ### Week 4-6: A tool capable of loading a JSON file and repreenting it in the DOM ### Week 7-9: A web app with external data source using at least one API 《〠_〠》 ### Overall A good understanding of all the above mentioned topics. Want to check your Knowledge? Go through the [JavaScript Fundamentals README](https://github.com/HackYourFuture/JavaScript/tree/master/fundamentalsand) and research/ ask for help (Slack!) with the concepts that are not entirely clear.