1. Programming paradigms
1.1. Imperative
1.1.1. Description
1.1.2. Example langauges
1.1.3. Types of problem suited
1.1.4. Advantages and Disadvantages
1.1.5. Example code
1.2. Declarative
1.2.1. Description
1.2.2. Example languages
1.2.3. Types of problem suited
1.2.4. Advantages and Disadvantages
1.2.5. Example code
1.3. Object Oriented
1.3.1. Description
1.3.2. Example languages
1.3.3. Types of problem suited
1.3.4. Advantages and Disadvantages
1.3.5. Example Code
1.4. Functional
1.4.1. Description
1.4.2. Example languages
1.4.3. Types of problem suited
1.4.4. Advantages and Disadvantages
1.4.5. Example Code
1.5. Event-Driven
1.5.1. Description
1.5.2. Example Languages
1.5.3. Types of problem suited
1.5.4. Advantages and Disadvantages
1.5.5. Example code
2. Hardware
2.1. Cpu
2.1.1. Architecture
2.1.1.1. Register
2.1.1.1.1. Instruction registers
2.1.1.1.2. Stack Pointer
2.1.1.1.3. Status register
2.1.1.1.4. Accumulator
2.1.1.1.5. Memory address register
2.1.1.1.6. Memory Buffer register
2.1.1.2. Control Unit
2.1.1.3. Bus
2.1.1.4. Clock
2.1.1.5. ALU