1. Basics
1.1 What is AngularJS?
1.2 AngularJS Architecture
1.3 Setting up an AngularJS Project
2. Core Concepts
2.1 Modules
2.2 Controllers
2.3 Scope
2.4 Directives
2.5 Services
2.6 Filters
3. Data Binding
3.1 One-way Data Binding
3.2 Two-way Data Binding
3.3 Expression
4. Directives
4.1 Built-in Directives (ng-model, ng-repeat, ng-if, ng-show, ng-hide, etc.)
4.1 Custom Directives
5. Controllers
5.1 Creating Controllers
5.2 $scope Object
5.3 Controller Functions
6. Services
6.1 Built-in Services ($http, $location, $timeout, etc.)
6.2 Custom Services
6.3 Dependency Injection
7. Routing
7.1 Configuring Routes
7.2 ngRoute Module
7.3 Route Parameters
8. Filters
8.1 Built-in Filters (currency, date, filter, json, limitTo, lowercase, etc.)
8.2 Custom Filters
9. Form Handling
9.1 Forms and ngModel
9.2 Form Validation
9.3 Custom Validation
10. AJAX and Promises
10.1 $http Service
10.2 Making AJAX Calls
10.3 Handling Promises
11. Testing
11.1 Unit Testing with Jasmine
11.2 End-to-End Testing with Protractor
12. Performance Optimization
12.1 Digest Cycle
12.2 Best Practices for Performance