Programming uses mathematical and logical concepts. Numbers and numerical concepts are fundamental to programming. Integers may be constrained in the maximum and minimum values that can be represented in a program because of storage limitations. Real numbers are approximated by floating-point representations that do not necessarily have infinite precision. Mathematical expressions using arithmetic operators are part of most programming languages.
Logical concepts and Boolean algebra are fundamental to programming. Compound expressions using AND, OR, and NOT are part of most programming languages. Intuitive and formal reasoning about program components using Boolean concepts helps in developing correct programs.
Computational methods may use lists and collections to solve problems. Lists and other collections can be treated as abstract data types (ADTs) in developing programs. Basic operations on collections include adding elements, removing elements, iterating over all elements, and determining whether an element is in a collection.