Von Neumann’s architecture, which applies to almost every computer ever built during the history of computing, builds computers from two clearly separate parts: the processing unit, where instructions are executed, and the memory, where data is stored. Consequently, almost all the programs we run on our computers are divided into two different sections: the algorithm (the executable instructions) and the data that provides the information needed by the algorithm (its input).
Such a clear separation reminds the difference between the two concepts in the title of this post: