JavaScript Course Outline
Debut
Prerequisites
- Getting started
- Tools and applications needed
- Helpful resources
- developer.mozilla.org, Github, Stackoverflow etc.
Hello World!
- Where to write your JavaScript
- Sending messages to the console
- Expressions
Variables and Types
- Declaring and assigning a variable
- Numbers
- Strings
- Booleans
Loops, Objects and Arrays
- Loops
- Working with Arrays
- Objects and references
- Dates
JavaScript coding style and conventions
- Variable naming
- camelCase convention
- Readability, whitespace, and Comments
- JavaScript best Practices
Operators and Control Structures
- Comparisons
- Arithmetic operators
- Logical operators
- Conditionals: If
- Conditionals: Switch
- Ternary operator
- Type checking
Functions
- Basic functions
- Function arguments
- Objects, references, and functions
- Variable scope
Mittelspiel
Document Object Model
- What is the DOM?
- Working with nodes and elements
- Accessing DOM elements
- Changing DOM elements
- Creating DOM elements
Events and Event Listeners
- JavaScript event handling
- onClick and onLoad events
- Common events
- Timers
- Event bubbling and capturing
Debugging JavaScript
- Common JavaScript errors
- Using Inspector
- Debugging session
Zugzwang
Dynamic Forms
- Accessing form elements
- Hiding and showing form sections
- Form validation
- Preventing a form from being submitted
JavaScript and CSS
- Removing and applying CSS classes
- Changing inline styles
- Building fly-out and drop-down menus
Advanced JavaScript Features
- Regular expressions
- Anonymous and self-executing functions
- Working with AJAX
- Objects and prototypes
Basics of JavaScript Libraries
- Overview of jQuery
Endspiel
Server side JavaScript
- Basics of Node.js
Putting All Together
- Building REST application
- Front-end
- Back-end
Working on individual projects
Project presentations
Where to go from here
- Additional resources
- Projects you could be involved in
- Building portfolio