Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gmac/professional-javascript
Curriculum for Professional JavaScript classroom workshop.
https://github.com/gmac/professional-javascript
Last synced: 29 days ago
JSON representation
Curriculum for Professional JavaScript classroom workshop.
- Host: GitHub
- URL: https://github.com/gmac/professional-javascript
- Owner: gmac
- Created: 2014-12-28T03:23:55.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-07-20T21:40:48.000Z (over 8 years ago)
- Last Synced: 2024-04-14T22:19:47.406Z (7 months ago)
- Language: HTML
- Size: 2.64 MB
- Stars: 31
- Watchers: 4
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Professional JavaScript
This workshop introduces professional-level JavaScript development. The curriculum covers foundation concepts of JavaScript programming and basic computer science. The goal of this workshop is to establish a technical knowledge base for our participants to continue building upon in their careers. While this is a beginner-level course, the curriculum is expansive and highly technical. Participants of all experience levels should come prepared to be challenged.
## Pre-requisites
You should be familiar with basic HTML and CSS. A pre-course primer on JavaScript will also help you succeed. You can pursue free lessons on these subjects at [dash.generalassemb.ly](http://dash.generalassemb.ly).
## Takeaways
- Foundation concepts of computer science.
- Intermediate-level concepts of the JavaScript programming language.
- Foundation knowledge of how JavaScript makes the web interactive.## Day 1: Fundamentals
Our first session will cover the basics of computer science, using JavaScript as our language of study. For participants with past programming experience, this cirriculum will be generally familiar.
**Morning**
- Introduction
- JavaScript Fundamentals
- Datatypes
- Variables
- Conditionals
- Arrays & Objects
- Enumeration
- Passing Value vs. Reference**Afternoon**
- Simple Functions
- Intro to DOM
- Selecting elements
- Reading and writing document data
- Binding event handlers
- Lab exercises## Day 2: Functions & Object-Orientation
Our second session will deep-dive into the exceptionally unique aspect of JavaScript: Functions. The concepts discussed here are significantly more advanced than those in session-1, so participants should come prepared to be challenged.
**Morning**
- Introduction
- **Part 1: Basic Functions**
- Arguments & Return
- The "arguments" Object
- Invocation vs. Reference
- Declaration vs. Assignment
- Functions as First-Class Objects
- **Part 2: Closure & Scope**
- What is Closure?
- What is Scope?
- Declarations & Scope Chain
- Hoisting
- Scope exercises**Afternoon**
- **Part 3: Contextual Invocation**
- What is "this"?
- Function Invocation
- Call Invocation
- Method Invocation
- **Part 4: Prototypal Inheritance**
- Constructor Invocation
- Prototype Chains
- Using "hasOwnProperty"
- Using "typeof" and "instanceof"
- Invocation exercises