1. JavaScript: Allows running complex code inside a browser to make the page "dynamic"
2. Document Object Model (DOM):
* Tree-based representation of HTML document
* JavaScript program can manipulate different parts of the DOM to make changes on the page
* JavaScript program can monitor "events" on the DOM, like clicking certain part of the page