# Index

## Table of content

### Client Programming

1. The location and history objects
2. Document object
3. The form object&#x20;
4. IFE&#x20;
5. Dynamic Scope vs. Lexical Scope&#x20;
6. call(), apply(), bind()&#x20;
7. bind() and currying&#x20;
8. Functions are Objects&#x20;
9. First Class Citizens&#x20;
10. Higher Order Functions&#x20;
11. Closures and Encapsulation&#x20;
12. Promises&#x20;
13. ES8 - Async Await&#x20;
14. Job Queue&#x20;
15. Parallel, Sequence and Race&#x20;
16. ES2020: allSettled()&#x20;
17. ES2021: any()&#x20;
18. Threads, Concurrency and Parallelism&#x20;
19. What Is A Module?&#x20;
20. Module Pattern&#x20;
21. CommonJS, AMD, UMD&#x20;
22. ES6 Modules

### Server programming

1. Collections&#x20;
   1. Arrays&#x20;
      1. Array Initialization&#x20;
      2. Searching and Sorting&#x20;
      3. Multidimensional Arrays&#x20;
      4. Copying and Resizing&#x20;
   2. List\<T>&#x20;
   3. List and Sequence Interfaces&#x20;
   4. Implementing Lists and Sequences&#x20;
      1. Implementing IEnumerable\<T> with Iterators&#x20;
      2. Collection\<T>&#x20;
      3. ReadOnlyCollection\<T>
2. Inheritance&#x20;
   1. Inheritance and Conversions&#x20;
   2. Interface Inheritance&#x20;
   3. Virtual Methods&#x20;
   4. Abstract Methods&#x20;
   5. Sealed Methods and Classes&#x20;
   6. Accessing Base Members&#x20;
   7. Inheritance and Construction&#x20;
   8. Special Base Types
3. LINQ&#x20;
   1. Query Expressions&#x20;
      1. How Query Expressions Expand&#x20;
      2. Supporting Query Expressions&#x20;
   2. Deferred Evaluation&#x20;
   3. LINQ, Generics, and IQueryable\<T>
   4. Standard LINQ Operators&#x20;
      1. Filtering&#x20;
      2. Select&#x20;
      3. SelectMany&#x20;
      4. Ordering&#x20;
      5. Grouping&#x20;
      6. Joins
4. Introduction to .NET
5. Introduction to ASP.NET
6. Internet Information Services
7. What is web API&#x20;
8. Web API project&#x20;
9. Project structure&#x20;
10. Web API controller&#x20;
11. Configure Web API&#x20;
12. Web API routing&#x20;
13. Middleware&#x20;
14. Parameter binding&#x20;
15. Action return type&#x20;
16. Data formats&#x20;
17. Create Web API for CRUD operations&#x20;
    1. Implement GET
    2. Implement POST&#x20;
    3. Implement PUT&#x20;
    4. Implement DELETE&#x20;
18. Consume Web API
    1. Consume all CRUD operations
19. HttpClient&#x20;
20. Dependency Injection&#x20;
21. Exception-handling
22. Access to databases
23. Create the database
24. Authentication and Security
25. Web API hosting


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://syllabus.migracode.org/courses/advanced-js-and-asp.net-course/course-content/index.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
