1. Object-oriented
1.1. Description
1.2. Types of Problems
1.2.1. problems that can be envisioned as a set of objects that pass messages back and forth
1.2.2. real-world objects
1.3. Computer Languages
1.3.1. Smalltalk
1.3.2. C++
1.3.3. Java
1.3.4. Scratch
1.4. Advantages
1.4.1. programmers may visualize the solutions to problems more easily
1.4.2. can increase a programmer's efficiency because encapsulation allows objects to be adapted and reused in a variety of different programs
1.4.3. encapsulated objects can be easily reused, modified, and repurposed
1.5. Disadvantages
1.5.1. runtime efficiency
1.5.2. tend to require more memory and processing resources
2. Functional
2.1. Description
2.2. Types of Problems
2.3. Computer Languages
2.3.1. LISP
2.3.2. Scheme
2.3.3. Haskell
2.4. Advantages
2.5. Disadvantages
3. Procedural
3.1. Description
3.2. Types of Problems
3.2.1. can be solved using step-by-step algorithm
3.2.2. computing missile trajectories
3.2.3. transaction processing
3.2.4. many math and science problems
3.3. Computer Languages
3.3.1. BASIC
3.3.2. Pascal
3.3.3. COBOL
3.3.4. Fortran
3.3.5. Ada
3.4. Advantages
3.4.1. produce programs that run quickly and use system resources efficiently
3.4.2. understood by many programmers, software engineers, and systems analysts
3.4.3. flexible and powerful
3.5. Disadvantages
3.5.1. does not fit gracefully with certain types of problems
3.5.2. forces programmers to view problems as a series of steps
4. Declarative
4.1. Description
4.2. Types of Problems
4.2.1. efficient for processing words and language
4.2.2. containing complex relationships
4.2.3. semi-structures problems
4.2.4. multiple, interrelated factors
4.3. Computer Languages
4.3.1. Prolog
4.4. Advantages
4.4.1. highly effective for problems with words, concepts, and complex logic
4.4.2. flexibility for querying a set of facts and rules
4.4.3. describe problems using words
4.5. Disadvantages
4.5.1. minimal input and output capabilities
4.5.2. relatively poor performance on personal computer architecture
5. Event-driven
5.1. Description
5.2. Types of Problems
5.2.1. user initiated events
5.3. Computer Languages
5.3.1. Visual Basic
5.3.2. C#
5.4. Advantages
5.4.1. can simplify programming process
5.4.2. reduce development time
5.4.3. VDE combines user interface elements and event-handling routines into a file
5.5. Disadvantages
5.5.1. syntax error
5.5.2. runtime error
5.5.3. logic error