Programming
by Milton B. Hernandez
1. Collections
1.1. Arrays
1.2. Maps
1.3. Sets
1.4. Algorithms
1.4.1. Searching
1.4.2. Sorting
2. Types
2.1. Classes
2.1.1. Inheritance
2.1.2. Abstract
2.1.3. Overloading
2.1.4. Polymorphysm
2.2. Interfaces
2.3. Traits
2.4. Serialization
2.4.1. TextSerial
2.4.1.1. JSON
2.4.1.2. XML
2.4.1.3. HTML
2.4.2. Binary
2.4.2.1. Protobuf
2.5. Structs
2.5.1. Unions
2.6. Primitive Types
2.6.1. Floating
2.6.2. Integer
2.6.3. Bytes
2.6.4. Enums
2.6.5. Operators
2.6.6. Strings
3. Flow-Control
3.1. Branching
3.2. Looping
3.3. Mapping
3.4. Reducing
3.5. Process Control
4. Input-Output
4.1. Sockets
4.1.1. TCP
4.1.2. Datagrams
4.1.3. Raw Sockets
4.1.4. Serial
4.1.5. Pipes
4.2. Files
4.2.1. Ramdom_Access
4.2.2. Sequential
4.2.3. Text
4.2.4. Binary
4.2.5. Memory Maps
4.2.6. Folders
4.3. Media
4.3.1. Sound
4.3.2. Graphics
5. Security
5.1. Encryption
5.2. Hashing
5.3. Certificate Based
5.3.1. SSL
5.3.2. HTTPS
6. Diiagnostics
6.1. Logging
6.2. Performance
6.3. Exceptions
6.4. Tracing and Watching
7. Memory
7.1. Stack
7.2. Heap
7.3. Mutability
7.4. Immutability
7.5. Garbage-Collection
7.6. Pointers
8. Functions
8.1. Pass-by-Value
8.2. Pass-by-Ref
8.3. Recursion
8.4. Currying
8.5. Composition
8.6. Delegates (Function as Data)
8.7. Declaration/Invocation
9. System Info
9.1. Network Properties
9.1.1. IP
9.1.2. Port
9.2. System Properties
9.2.1. Arguments
9.2.2. Environment Vars
9.2.3. Host info
9.2.4. User Info
9.2.5. Memory Usage
9.2.6. CPU Usage
10. Concurrency
10.1. Threads
10.1.1. Thread Hierarchy
10.1.2. Control Threads
10.1.3. Thread Pools