Angular is a framework for building single-page applications. It uses TypeScript, which is a superset of JavaScript, and includes features like modules, components, directives, and services. Modules contain components and the root module is AppModule. Components have an HTML template and class with logic to control the template. Services provide reusable functionality like data access. Directives modify views by providing instructions within component templates. Setting up Angular involves installing Node.js, TypeScript, typings, Angular CLI, and creating a new project with ng new. The main.ts file acts as the entry point and bootstraps the app module. The tsconfig.json file provides TypeScript configuration and compiles TS to JS.