Javascript Foundation Course
The Javascript scripting language is widely used in the producing of modern full stack web applications. The language can be used for both the backend using frameworks such as NodeJS and then the front end using frameworks such as React. This course guides non-experienced programmers through the tasks of writing and maintaining applications written in Javascript.
Objectives
- Write, maintain and debug Javascript applications
- Make effective use of some of the standard Javascript Objects
- Write object-based code to access Javascript-aware environments, such as DOM.
Prerequisites
- No programming experience is required
- Familiarity with concepts such as functions or procedures, control flow, arrays, and structures or records is useful
Contents
A Simple Javascript Application
- Node - the JavaScript Runtime
- Javascript concepts and syntax rules
- Variable declarations and data types
- JavaScript Operators
- Load and test Javascript applications
Control Flow
- Branching in JavaScript
- Looping in JavaScript
- Leaving loops early in JavaScript
Arrays and Strings
- Create and use arrays
- Create and use strings
Functions
- Designing re-usable code blocks
- Rules for Function implementation
- Scope and data communication
- Functions as a first order data type
Classes
- Create and use objects
- Define class design and development
- Implement class operation
- Design class internal data
Browser Object Model
- Review Web-Based scripting
- Define Browser Objects
- Access and Manipulate Browser Objects
- Consider Portability Isues
Modern Javascript
- Arrow Functions
- The Spread Operator
- Destructuring
- Imports and exports
API Creation using NodeJS and Express
- Fundamentals of REST APIs
- Creating a REST API using Express
- GET, POST, PUT and DELETE Methods
- Creating a simple CRUD based application
Invoking a REST API from the Browser
- Asynchronous JavaScript
- Using fetch()
- Updating a Web page using data from an API
- Submitting data from a Web form to an API
Testing using Jest
- Overview of TDD
- Testing using Jest
- Overview of Mocking and Jest
- Managing Jest Tests


