"A programming paradigm is a fundamental style of computer programming. There are four main paradigms: object-oriented, imperative, functional and declarative. Their foundations are distinct models of computation: Turing machine for object-oriented and imperative programming, lambda calculus for functional programming, and first order logic for logic programming" More: http://en.wikipedia.org/wiki/Programming_paradigm
40 Tools To Learn Coding (scroll to bottom of page). The list includes free and paid tools for learning 1) coding logic, 2) programming hardware, 3) coding with visual blocks, and 4) formal coding languages.