Course Syllabus

This page outlines the material covered in the course Intensive JavaScript Fundamentals run by learnjavascript.london.

Please note that this course covers a large volume of in-depth material in a short period of time, and students should bear this in mind before booking a place.

Day One

Topic Sub Topics
0930
|
1000
Environment Configuration, Introductions and Plan for the Course
1010
|
1020
JavaScript Program Discussion 1.1
1020
|
1105
Introduction to JavaScript
  1. A Brief History
  2. Implementations and Usage
  3. Influences and Comparison to Other Languages
  4. Criticisms and Advantages
  5. Refresher on Programming Languages
  6. Scripting Languages
1115
|
1125
JavaScript Program Discussion 1.2
1125
|
1225
The Anatomy of a JavaScript Program
  1. Declarations and Expressions
  2. Variables
  3. Objects
  4. Functions
  5. Semicolons
  6. Statements
  7. Expressions
  8. Blocks
  9. Strict Mode
  10. Built-ins
  11. Operators
  12. Literals
  13. Primitives
1230
|
1330
Lunch
1330
|
1340
JavaScript Program Discussion 1.3
1340
|
1425
The this keyword and the global object
  1. Introduction and Comparison with Other Languages
  2. The Global Object
  3. Call and Apply
  4. Bind / Partial Application with and Without Bind
1435
|
1445
JavaScript Program Discussion 1.4
1445
|
1530
Scope and closures
  1. ES3/ES5 Lexical Scoping Rules
  2. The Lexical Scope Chain
  3. Call and Apply
  4. Bind and Partial Application
  5. Monads
  6. Closures and their uses
  7. Execution contexts
1530
|
1550
Coffee
1550
|
1600
JavaScript Program Discussion 1.5
1600
|
1645
Typing in JavaScript
  1. Static and Dynamic Typing
  2. JavaScript Primitives
  3. Objects, Functions and Methods
  4. Type Coercion and Casting
1655
|
1705
JavaScript Program Discussion 1.6
1705
|
1750
Objects
  1. Memory Arrangement
  2. Assignment Semantics
  3. Objects, Functions and Methods
  4. Creation, Destruction

Day Two

Topic Sub Topics
0930
|
0940
JavaScript Program Discussion 2.1
0940
|
1025
Functions
  1. Functions as a First-Class Citizen
  2. Constructor Functions
  3. Prototypical Inheritance
  4. Parameters
  5. Declaring a function
  6. Anonymous functions
  7. Immediately invoked function expressions
  8. The prototype property
1035
|
1045
JavaScript Program Discussion 2.2
1045
|
1130
Object
  1. Object Constructor
  2. Object Properties and Methods
1140
|
1150
JavaScript Program Discussion 2.3
1150
|
1235
Array
  1. Array Constructor
  2. Array Properties
  3. Array Creation
  4. Array Enumeration
1235
|
1330
Lunch
1330
|
1340
JavaScript Program Discussion 2.4
1340
|
1425
String
  1. String Parameters
  2. String Properties and Methods
1425
|
1435
JavaScript Program Discussion 2.5
1435
|
1520
Number
  1. Floating Point Numbers
  2. Octal and Hexedecimal Numbers
  3. Number Parameters
  4. Number Properties and Methods
1520
|
1540
Coffee
1540
|
1550
JavaScript Program Discussion 2.6
1550
|
1635
Working with Objects
  1. Creation Patterns
  2. The Constructor Property
  3. Prototypical Inheritance Revisited
  4. Object Properties
  5. Object Literals
  6. Checking if an object contains a property
  7. Enhancing and Extending Objects
1645
|
1655
JavaScript Program Discussion 2.7
1655
|
1740
JavaScript Patterns
  1. Modularisation
  2. Visibility
  3. Construction
  4. Inheritance
  5. MVC

Day Three

Topic Sub Topics
0930
|
0940
JavaScript Program Discussion 3.1
0940
|
1025
Object-orientation in JavaScript
  1. Refresher on Object Orientation
  2. Is JavaScript Object Oriented?
  3. Where Do Classes Fit In?
1035
|
1045
JavaScript Program Discussion 3.2
1045
|
1130
The Event Loop
  1. The Event Loop
  2. Asynchronous and Synchronous Code
  3. setTimeout and setInterval
1140
|
1150
JavaScript Program Discussion 3.3
1150
|
1235
Testing in JavaScript
  1. Refresher on Testing
  2. QUnit, Jasmine, Protractor
  3. Stubbing and Mocking
1235
|
1330
Lunch
1330
|
1340
JavaScript Program Discussion 3.4
1340
|
1425
Pair Programming Exercise (Web)
  1. Test drive a component for the Web
1435
|
1520
Pair Programming Exercise (Web) (cont.)
  1. Test drive a component for the Web (cont.)
1520
|
1540
Coffee
1540
|
1625
Pair Programming Exercise (Node.js)
  1. Test drive a component for Node.js
1635
|
1720
Pair Programming Exercise (Node.js) (cont.)
  1. Test drive a component for Node.js (cont.)
1735
|
1800
Review

If you would like to book a place or request further information, please email ben@learnjavascript.london.