This lesson is going to explain Node, as well as its package manager NPM. Node is an open source JavaScript runtime environment. It's cross platform, and it's used to build scalable server side applications. Node was written using C, C++ and Java script. Typically JavaScript was just used for client side development since it needed to be executed in a browser. Node allows JavaScript to be executed outside of a browser and interact with an operating system. So it can be run on a server or your personal computer. This allows developers to use the same language base for both the front and back end. This can help make development easier since it lowers the number of languages a developer may need to be familiar with to build both the front and back end of an application. It's often used to build the backend for angular applications, along with a database like Mongo or My SQL, Node is also what runs the angular CLI tool on your computer and builds the angular application for you to view in the browser. NPM is Node's package manager, and it's included when you install Node, what's installed as a CLI tool that can then be used from a terminal window to install, update, and manage Node packages for your projects. It helps to handle your dependency management and allows you to easily keep your project updated and secure. NPM is also a repository and you can view different open source Node packages on their website. Here you can search for the different Node packages and view information like installation instructions and usage guides to help you get started. That's all for this lesson, introducing Node and NPM, in the next lesson we'll cover installation.