- Emphasis is on algorithm
- Large programs are divided into smaller programs known as programs
- Most of the functions share global data
- Data move openly around system from function to function
- Function transforms data from one form to another
- Employes top down approach in program design