>Please help us improve and share your feedback! If you find better tutorials or links, please share them by opening a Pull Request.
# HackYourJavaScript
Here you can find course content and homework for the JavaScript 1,2 and 3 modules
|Week|Topic|Read|Homework|
|----|-----|----|--------|
|0.|Preparation for your first JavaScript session|[Pre-reading](/Week0/README.md)|-|
|1.|Git Session with Unmesh|[Reading Week 1](/Week1/README.md) | [Homework Week 1](/Week1/MAKEME.md)|
|2.|• Intro JavaScript (What is it, where can you use it for)
• [Variables (var, let, const)](fundamentals/variables.md)
• [Basic Data types (Strings, Numbers, Arrays, Booleans)](fundamentals/values.md)
• [Operators](fundamentals/operators.md)
• [Naming conventions](fundamentals/naming_conventions.md)|[Reading Week 2](/Week2/README.md)|[Homework Week 2](/Week2/MAKEME.md)|
|3.|• Git work flow :smiling_imp:
• [Advanced data types (objects)](fundamentals/objects.md)
• [Conditional execution](fundamentals/conditional_execution.md)
• [Statements vs Expressions](fundamentals/statements_expressions.md)
• [Loops (for/while)](fundamentals/loops.md)
• [Functions](fundamentals/functions.md)
• [Scope](fundamentals/scope.md)|[Reading Week 3](/Week3/README.md)|[Homework Week 3](/Week3/MAKEME.md)|
|4.|• Capturing user input
• Events
• [Basic DOM manipulations (img src, innerHTML)](fundamentals/DOM_manipulation.md)
• Code debugging using the browser
• [Code commenting](fundamentals/code_commenting.md)
• Structuring code files
• [Code formatting](fundamentals/code_formatting.md) |[Reading Week 4](/Week4/README.md)|[Homework Week 4](/Week4/MAKEME.md)|
|5.|• Functions + JSON/Arrays
• [Array Manipulations](fundamentals/array_manipulation.md)
• JSON
• [Map and filter](fundamentals/map_filter.md)
• Arrow functions |[Reading Week 5](/Week5/README.md)|[Homework Week 5](/Week5/MAKEME.md)|
|6.|• [Closures](fundamentals/scope_closures_this.md)
• Callbacks|[Reading Week 6](/Week6/README.md)|[Homework Week 6](/Week6/MAKEME.md)|
|7.|• [Object Oriented Programming and Classes](fundamentals/oop_classes.md)
• [The `this` keyword](fundamentals/this.md) |[Reading Week 7](/Week7/README.md)|[Homework Week 7](/Week7/MAKEME.md)|
|8.|• Structure for a basic SPA (Single Page Application)
• [XMLHttpRequests](fundamentals/XMLHttpRequest.md)
• API calls|[Reading Week 8](/Week8/README.md)|[Homework Week 8](/Week8/MAKEME.md)|
|9.|• [Promises](fundamentals/promises.md)
• (re)writing data structures (in JSON)
• Async vs Sync
• [Event Loop (order of execution)](fundamentals/event_loop.md) |[Reading Week 9](/Week9/README.md)|[Homework Week 9](/Week9/MAKEME.md)|
__Kind note:__
We expect you to __always__ come prepared to the class on Sunday.
### Overall
A good understanding of all the above mentioned topics. Want to check your Knowledge? Go through the [JavaScript Fundamentals README](fundamentals/README.md) and research/ ask for help (Slack!) with the concepts that are not entirely clear.