Skip to content
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file modified .DS_Store
Binary file not shown.
1 change: 0 additions & 1 deletion Frogger/README.md

This file was deleted.

124 changes: 4 additions & 120 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,123 +1,7 @@
# Core Object Oriented JavaScript
# Core Vanilla JavaScript

A day-by-day structured deep dive into object-oriented JavaScript. Read articles, watch videos, complete lessons and exercises, and implement a final project.
This repo contains resources, challenges and plans for learning the basics of Javascripts.

## Day 1: Scopes & Closures
If you're working on a Solo goal, checkout the [Solo Study Guide](solo_study.md)

Your objectives for the day is to:

- Learn about JavaScript’s variable scoping, including lexical scopes and dynamics scopes.
- Learn about Closures
- Learn about the Keyword "this"
- Learn about Prototypes

### Scopes

- [ ] Watch these videos on Type and Scope
- https://shereef.wistia.com/medias/mlnjxm9z9s
- https://shereef.wistia.com/medias/hn99v12lkr
- https://shereef.wistia.com/medias/6snmj6es7v
- https://shereef.wistia.com/medias/5bva01dxbw
- https://shereef.wistia.com/medias/zi0me19ovo
- [ ] Signup for [Udacity Object Oriented Javascript][udacity]
- [ ] Complete the [Scopes lesson][udacity]

### Closures

- [ ] Complete the [Closures lesson][udacity]

## Day 2: Objects and "this"

### Objects

- [ ] Watch [Video introduction to Object Oriented Javascript](https://www.youtube.com/watch?v=O8wwnhdkPE4) (1 Hour)
- [ ] Read [Javascript Objects in Detail](http://javascriptissexy.com/javascript-objects-in-detail/)
- [ ] Read pages 173 to 184 in [Professional JS for Web Developers][projs]
- [ ] Signup for a free Team Treehouse trial and complete their [Object Oriented Javascript Course] (https://teamtreehouse.com/library/objectoriented-javascript)
- [ ] Skim this [cheat sheet][cheat]

### This

- [ ] Watch these videos:
- https://shereef.wistia.com/medias/wfybhl2nmr
- https://shereef.wistia.com/medias/kqbedkmm13
- [ ] Read [Undrestanding Javascrpt's This with Clarity and Mastery](http://javascriptissexy.com/understand-javascripts-this-with-clarity-and-master-it/)
- [ ] Read [What is this in Javascript](http://www.code-sample.com/2015/06/what-is-this-in-javascript.html)
- [ ] Complete the [Keyword "this" lesson][udacity]

### Stretch

- [ ] Do exercises for Chapter 4 of [Object Oriented Javascript][oojs] (and maybe read it)
- [ ] Study these [top 50 OOPs interview questions](http://career.guru99.com/top-50-oops-interview-questions/)

## Day 3: Prototype and Inheritance

- [ ] Watch these videos on Prototypes:
- https://shereef.wistia.com/medias/a5m8nwq4su
- https://shereef.wistia.com/medias/ednchu35gz
- https://shereef.wistia.com/medias/yejzrin760
- https://shereef.wistia.com/medias/372u07ybvu
- https://shereef.wistia.com/medias/xxj6323pk9
- [ ] Read [Prototype in Plain English](http://javascriptissexy.com/javascript-prototype-in-plain-detailed-language/)
- [ ] Read [OOP in Javascript](http://javascriptissexy.com/oop-in-javascript-what-you-need-to-know/)
- [ ] Complete the [Prototype Chains][udacity] Lesson on Udacity
- [ ] Complete the [Prototypal Classes][udacity] Lesson on Udacity

### Stretch

- [ ] Read pages 184 to 201 in [Professional JS for Web Developers][projs]
- [ ] Read [Understanding Javascript Prototypes](https://javascriptweblog.wordpress.com/2010/06/07/understanding-javascript-prototypes/)
- [ ] Read sections 7 in [JS Ninja](ninja)
- [ ] Do exercises for Chapter 5 of [Object Oriented Javascript][oojs] (and maybe read it)
- [ ] Do exercises for Chapter 6 of [Object Oriented Javascript][oojs] (and maybe read it)

## Day 4: Deeper Dive and Final Project

- [ ] Complete the [Object Decorator Pattern][udacity] Lesson on Udacity
- [ ] Complete the [Functional Classes][udacity] Lesson on Udacity
- [ ] Complete the [Pseudoclassical Patterns][udacity] Lesson on Udacity
- [ ] Complete the [Superclass and Subclass Patterns][udacity] Lesson on Udacity
- [ ] Complete the [Pseudoclassical Sublasses][udacity] Lesson on Udacity
- [ ] Start (and maybe finish) the [Final Project][udacity] Lesson on Udacity

## Day 5: Final Project and check your understanding

- [ ] Complete the [Final Project][udacity] Lesson on Udacity

Do you know/understand:

- Everything [in this article](http://javascriptissexy.com/oop-in-javascript-what-you-need-to-know/)
- Everything in this [cheat sheet][cheat]
- The difference between Classic Inheritance and Prototypical Inheritance
- The difference between private variable, public variable and static variable? How we achieve this in JS?
- How to add/remove properties to object in run time?
- How to achieve inheritance ?
- How to extend built-in objects?
- What is Object in JavaScript?
- What is the Prototype object in JavaScript and how it is used?
- What is "this"? What is its value?
- Explain why "self" is needed instead of "this".
- What is a Closure and why are they so useful to us?
- Explain how to write class methods vs. instance methods.
- Can you explain the difference between == and ===?


## Stretch Goals

- [ ] Complete the [learn-js OO tutorial](https://www.learn-js.org/en/Object_Oriented_JavaScript)
- [ ] Complete the [learn-js function context tutorial](https://www.learn-js.org/en/Function_Context)
- [ ] Complete the [learn-js inheritance tutorial](https://www.learn-js.org/en/Inheritance)
- [ ] Read [Object Oriented Javascript for Beginners](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object-oriented_JS)
- [ ] Read [Chapter 8 of Eloquent Javascript](http://eloquentjavascript.net/1st_edition/chapter8.html)
- [ ] Read [The Basics of Object Oriented Javascript](https://code.tutsplus.com/tutorials/the-basics-of-object-oriented-javascript--net-7670)
- [ ] Study this [OOP interview questions](http://www.code-sample.com/2015/04/javascript-interview-questions-answers.html)
- [ ] Go over these [object oriented javascript interview questions](https://blog.kevinchisholm.com/object-oriented-javascript/javascript-interview-questions-object-oriented-javascript/)
- [ ] Complete these [3 practice exercises](https://www.ibm.com/developerworks/library/wa-objects-pr/)
- [ ] Complete section 2 of [these exercises](http://ynonperek.com/javascript-exer.html)


[udacity]:https://www.udacity.com/course/object-oriented-javascript--ud015
[projs]:ftp://ftp.micronet-rostov.ru/linux-support/books/programming/JavaScript/Wrox.Professional.JavaScript.for.Web.Developers.3rd.Edition.Jan.2012.pdf
[ninja]:https://github.com/GuildCrafts/core-object-oriented-javascript/raw/master/Books/Secrets%20of%20the%20JavaScript%20Ninja%20-%20John%20Resig%20and%20Bear%20Bibeault%20-%20December%202012.pdf
[cheat]:https://github.com/GuildCrafts/core-object-oriented-javascript/raw/master/Books/Objects-Cheat-Sheet.pdf
[oojs]:ftp://ftp.micronet-rostov.ru/linux-support/books/programming/JavaScript/[Packt]%20-%20Object-Oriented%20JavaScript%20-%20[Stefanov].pdf
If you're working on a team project, checkout the [Team Practice Guide](team_practice.md)
Binary file added Sudoku/.DS_Store
Binary file not shown.
Loading