Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Javascript course Github order #4

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ The material in this repository is divided by topic.
* SQL
* Rails
* HTML/CSS
* JavaScript
* [JavaScript](/javascript/Open_JavaScript_Overview.md)
* React
* Full-Stack Project
190 changes: 190 additions & 0 deletions javascript/Open_JavaScript_Overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
# JavaScript

## Topics Covered

- [Getting started](#getting-started)
- [JavaScript Fundamentals](#javascript-fundamentals)
- [The Event Loop](#the-event-loop)
- [Object-oriented JavaScript](#object-oriented-javascript)
- [jQuery](#jquery)
- [AJAX](#ajax)
- [JavaScript DOM API](#javascript-dom-api)


## Notes

JavaScript is the fourth module in the App Academy Full Stack Developer
Curriculum.

As with all future modules, any "Bonus" projects are to be completed after the
standard projects for each day are completed. Sometimes that could mean going
back to the previous day's "Bonus" projects if you otherwise finish early.
Additional Resources are readings, videos, or articles that are not required,
but will serve to deepen your understanding of a topic. They will be denoted
with a specific icon in your task menu.

## Getting started
- [ ] 1. [Setting up a Development Environment (Phase 3)](../course/readings/dev-setup.md#phase-3-frontend-development)
## JavaScript Fundamentals
- [ ] 1. [Intro to JS Video](https://player.vimeo.com/video/169645510)
- [ ] 2. [Object-Oriented JS: Intro](https://player.vimeo.com/video/169806088)
- [ ] 3. [Object-Oriented JS: Demo](https://player.vimeo.com/video/169804475)
- [ ] 4. [Closures and Callbacks](https://player.vimeo.com/video/169898573)
- [ ] 5. [Debugging JS in VSCode](readings/vs-code-node-debugger.md)
- [ ] 6. [Intro to JS](readings/js-intro.md)
- [ ] 7. [Syntax and Useful Methods](readings/syntax-and-methods.md)
- [ ] 8. [Data Types](readings/data-types.md)
- [ ] 9. [Variables](readings/variables.md)
- [ ] 10. [Functions](readings/functions-js.md)
- [ ] 11. [Closures and Scope](readings/closures.md)
- [ ] 12. [this and that](readings/this-and-that.md)
- [ ] 13. [ES6 Arrow Functions](readings/fat-arrows.md)
- [ ] 14. [Javascript Fundamentals Quiz](quizzes/js_fundamentals.md)
- [ ] 15. [Intro JavaScript Problems (Part 1)](homeworks/intro_js_problems/part_i.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/homeworks/intro_js_problems/solution.zip)
- [ ] 16. [Intro JavaScript Problems (Part 2)](homeworks/intro_js_problems/part_ii.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/homeworks/intro_js_problems/solution.zip)
- [ ] 17. [Object Oriented JS: Continued](readings/object-oriented-js.md)
- [ ] 18. [Function Invocation, briefly](readings/function-invocation-briefly.md)
- [ ] 19. [Codecademy JS Curriculum](https://www.codecademy.com/learn/introduction-to-javascript)
- [ ] 20. [jQuery Fundamentals: Javascript Basics](http://jqfundamentals.com/chapter/javascript-basics)
- [ ] 21. [MDN Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
- [ ] 22. [MDN Documentation](readings/mdn-js.md)
- [ ] 23. [CSS Positioning](../html-css/lecture_readings/css_positioning.md)
- [ ] 24. [CSS Pseudo Content](../html-css/lecture_readings/css_pseudo_content.md)
- [ ] 25. [Intro to JS & Variables Lecture](https://player.vimeo.com/video/337414181)
- [ ] 26. [Functions Lecture](https://player.vimeo.com/video/337415731)
- [ ] 27. [Hoisting Lecture](https://player.vimeo.com/video/337417596)
- [ ] 28. [Closures Lecture](https://player.vimeo.com/video/337417926)
- [ ] 29. [Callbacks Lecture](https://player.vimeo.com/video/337418311)
- [ ] 30. [Intro JavaScript Exercises](projects/intro_js_exercises/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/intro_js_exercises/solution.zip)
- [ ] 31. [CSS Friends Part 2](../html-css/micro-projects/css_friends_combined/css_friends_1/README.md#phase-2-thumbs)
- [Solution](https://assets.aaonline.io/fullstack/html-css/micro-projects/combined-css-friends/css-friends-pt2/solution.zip)
- [ ] 32. [JS: Reversi](projects/js_reversi/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/js_reversi/solution.zip)
## The Event Loop
- [ ] 1. [Arguments](readings/arguments.md)
- [ ] 2. [Function Invocation, in-depth](readings/function-invocation-in-depth.md)
- [ ] 3. [Intro to Callbacks: File I/O](readings/intro-to-callbacks.md)
- [ ] 4. [Event Loop Visualization](http://latentflip.com/loupe)
- [ ] 5. [ES6 Class Syntax](readings/es6-classes.md)
- [ ] 6. [Node Module Pattern](readings/module-pattern.md)
- [ ] 7. [Chrome Dev Tools](readings/chrome_dev_tools.md)
- [ ] 8. [Ruby, ES5 & ES6 Comparison Chart](https://appacademy.github.io/curriculum/language_comparison/index.html)
- [ ] 9. [Event Loop Quiz](quizzes/event_loop.md)
- [ ] 10. [Callbacks and Function Calls](homeworks/callbacks_and_functions/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/homeworks/callbacks_and_functions/solution.js)
- [ ] 11. [Writing Clean Code](readings/indentation.md)
- [ ] 12. [Crockford](http://javascript.crockford.com/code.html)
- [ ] 13. [jQuery](http://contribute.jquery.org/style-guide/js/)
- [ ] 14. [AirBnB](https://github.com/airbnb/javascript)
- [ ] 15. [Tagging Template Literals (Bonus)](readings/tagged-templates.md)
- [ ] 16. [Call & Apply](https://player.vimeo.com/video/337176717)
- [ ] 17. [Bind pt. 1](https://player.vimeo.com/video/337181208)
- [ ] 18. [Bind pt. 2](https://player.vimeo.com/video/337186583)
- [ ] 19. [Async Behavior](https://player.vimeo.com/video/337189725)
- [ ] 20. [Intro to Callbacks Exercises](projects/functions_exercises/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/functions_exercises/solution.zip)
- [ ] 21. [Towers of Hanoi: JS Edition](projects/hanoi_node/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/hanoi_node/solution.zip)
- [ ] 22. [Tic-Tac-Toe: JS Edition](projects/ttt_node/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/ttt_node/solution.zip)
## Object-oriented JavaScript
- [ ] 1. [Prototype Chain and Inheritance](https://player.vimeo.com/video/162131042)
- [ ] 2. [Inheritance Demo](https://player.vimeo.com/video/162115223)
- [ ] 3. [JS in Browser](https://player.vimeo.com/video/162115224)
- [ ] 4. [Prototypal Inheritance](readings/prototypal-inheritance.md)
- [ ] 5. [Modules in the Browser](readings/browser-modules.md)
- [ ] 6. [Basic Canvas Driving](https://joshondesign.com/p/books/canvasdeepdive/chapter01.html)
- [ ] 7. [Webpack Tutorial](https://webpack.js.org/guides/getting-started/)
- [ ] 8. [Intro to Canvas](homeworks/canvas_practice/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/homeworks/canvas_practice/solution.js)
- [ ] 9. [Canvas Demo: DrunkenCircles](demos/drunken_circles/README.md)
- [ ] 10. [LGBT Workplace Fact Sheet](http://outandequal.org/2017-workplace-equality-fact-sheet/)
- [ ] 11. [It is Bigger Than Microaggressions](https://modelviewculture.com/pieces/it-is-bigger-than-microaggressions)
- [ ] 12. [LGBT Minorities Face Job Discrimination](http://fortune.com/2017/06/25/lgbtq-employment-discrimination/)
- [ ] 13. [Out in Tech](https://www.geekwire.com/2015/out-in-tech-what-its-like-to-be-lgbt-in-an-industry-struggling-with-diversity)
- [ ] 14. [Transitioning in the Digital Age](https://modelviewculture.com/pieces/transitioning-in-the-digital-age)
- [ ] 15. [Asynchronous Client-Side Code](readings/asynchronous-js.md)
- [ ] 16. [Client-Side JavaScript](readings/client-side-javascript.md)
- [ ] 17. [Object Oriented Javascript Quiz](quizzes/object_oriented_js.md)
- [ ] 18. [myBind Solutions](https://player.vimeo.com/video/332499533)
- [ ] 19. [Currying Solutions](https://player.vimeo.com/video/332501585)
- [ ] 20. [Prototypal Inheritance Lecture](https://player.vimeo.com/video/332504701)
- [ ] 21. [Webpack Lecture](https://player.vimeo.com/video/332503425)
- [ ] 22. [Canvas Intro Lecture](https://player.vimeo.com/video/332502700)
- [ ] 23. [arguments Exercise Problems](projects/arguments_exercises/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/arguments_exercises/solution.zip)
- [ ] 24. [Prototypal Inheritance Exercises](projects/inherits_exercises/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/inherits_exercises/solution.zip)
- [ ] 25. [Flappy Bird](projects/flappy_bird/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/flappy_bird/solution.zip)
- [ ] 26. [Asteroids](projects/asteroids/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/asteroids/prototypal_syntax_solution.zip)
## jQuery
- [ ] 1. [The Document Object Model](readings/document-object-model.md)
- [ ] 2. [jQuery I: Selection and Manipulation](readings/jquery-01-selection-and-manipulation.md)
- [ ] 3. [jQuery II: Events](readings/jquery-02-events.md)
- [ ] 4. [jQuery III: Ready](readings/jquery-03-ready.md)
- [ ] 5. [jQuery IV: All the Ways](readings/jquery-04-all-the-ways.md)
- [ ] 6. [jQuery V: Data Attributes](readings/jquery-05-data-attributes.md)
- [ ] 7. [backbone-14: jQuery Event Delegation](https://player.vimeo.com/video/85221706)
- [ ] 8. [jQuery VI: Event Delegation](readings/jquery-06-event-delegation.md)
- [ ] 9. [jQuery Quiz](quizzes/jquery.md)
- [ ] 10. [Wacky jQuery](homeworks/wacky_painter/README.md)
- [ ] 12. [ES6 Prototypal Inheritance](readings/new-prototypal-inheritance.md)
- [ ] 13. [jQuery Documentation](http://api.jquery.com/)
- [ ] 14. [jQuery Fundamentals (Ch 2-4)](http://jqfundamentals.com/)
- [ ] 15. [jQuery - Intro & Selector Functions](https://player.vimeo.com/video/337661679)
- [ ] 16. [jQuery - Events](https://player.vimeo.com/video/337661180)
- [ ] 17. [jQuery - Form Submission & DOM Insertion](https://player.vimeo.com/video/337660471)
- [ ] 18. [jQuery.data Function](https://player.vimeo.com/video/337656355)
- [ ] 19. [jQuery Towers of Hanoi](projects/hanoi_jquery/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/hanoi_jquery/solution.zip)
- [ ] 20. [jQuery Snake](projects/snake/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/snake/solution.zip)
## AJAX
- [ ] 1. [AJAX Video Lecture](https://player.vimeo.com/video/162860823)
- [ ] 2. [AJAX Demo](https://player.vimeo.com/video/162764008)
- [ ] 3. [AJAX Demo: code](https://assets.aaonline.io/fullstack/javascript/demos/chat_demo/chat_demo.zip)
- [ ] 4. [Basic AJAX](readings/basic-ajax.md)
- [ ] 5. [AJAX Remote Forms](readings/ajax-remote-forms.md)
- [ ] 6. [Using Rails as an API](readings/rails-api.md)
- [ ] 7. [Promises](readings/promises.md)
- [ ] 8. [AJAX Quiz](quizzes/ajax.md)
- [ ] 9. [Your First AJAX Request](homeworks/first_ajax/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/homeworks/first_ajax/solution.zip)
- [ ] 10. [jQuery Fundamentals: AJAX](http://jqfundamentals.com/chapter/ajax-deferreds)
- [ ] 11. [Simple AJAX Example](readings/simple-ajax-example.md)
- [ ] 12. [Intro & First Request](https://player.vimeo.com/video/340062966)
- [ ] 14. [Webpack & AJAX on Rails](https://player.vimeo.com/video/340065552)
- [ ] 15. [AJAX Forms](https://player.vimeo.com/video/340064662)
- [ ] 16. [ApiUtil & Promises](https://player.vimeo.com/video/340063851)
- [ ] 17. [AJAX Twitter](projects/ajax_twitter/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/ajax_twitter/solution.zip)
## JavaScript DOM API
- [ ] 1. [DOM Data Types](readings/dom_types.md)
- [ ] 2. [Events](readings/events.md)
- [ ] 3. [jQuery VII: Triggering](readings/jquery-07-triggering.md)
- [ ] 4. [Event Propagation](readings/event-propagation.md)
- [ ] 5. [DOM Content Loaded](readings/dom-content-loaded.md)
- [ ] 6. [DOM Manipulation](readings/selecting-and-manipulating-elements.md)
- [ ] 7. [History and Location](readings/history-location.md)
- [ ] 8. [Vanilla JavaScript](readings/vanilla_javascript.md)
- [ ] 9. [Vanilla JavaScript Quiz](quizzews/js_dom_api.md)
- [ ] 10. [Vanilla DOM Manipulation](homeworks/vanilla-dom/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/homeworks/vanilla-dom/solution.js)
- [ ] 11. [Non-technical Overview of JavaScript](readings/js-nontech.md)
- [ ] 12. [localStorage Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)
- [ ] 13. [localStorage Simple Examples](https://blog.logrocket.com/the-complete-guide-to-using-localstorage-in-javascript-apps-ba44edb53a36)
- [ ] 14. [Throttling and Debouncing Overview](https://css-tricks.com/debouncing-throttling-explained-examples/)
- [ ] 15. [Technical Overview of Browsers](../html-css/readings/browser_tech.md)
- [ ] 16. [Browser TicTacToe](projects/browser-ttt/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/browser-ttt/solution.zip)
- [ ] 17. [Pocket Projects](projects/pocket_projects/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/pocket_projects/solution.zip)
- [ ] 18. [jQuery Lite](projects/jquery_lite/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/jquery_lite/solution.zip)
- [ ] 19. [Mail](projects/mail/README.md)
- [Solution](https://assets.aaonline.io/fullstack/javascript/projects/mail/solution.zip)
Loading