The computer model of the brain I am a computer programmer or computer engineer, and am interested in comparing the brain to a classical computer in some way.  How well does this comparison hold up?

This is a general introduction to the computer/brain metaphor and its practical limitations.  Similar questions on this forum include:


Difference between parallel processing done by human brain and by computers
How does the brain generate answers to questions?
What is the data structure used by the brain to store data?
How is information stored in the brain
How the Brain Does Garbage Collection in Real Time
How does a human classify or cluster data?
Human brain v/s computer: speed comparison?
Does the brain have a &#39;debugging mode&#39;?
Why can&#39;t we use 100% of the brain in a certain moment?
Is it possible to increase the capacity of human brain like “Lucy”?
In what ways do our brains use compression?
How many possible states does a brain have?
What is the capacity of the human brain?
This question's reference to a classical computer refers to a &quot;Turing Machine&quot; style of computation, also known as a knowledge system, in which decisions and possible results are pre-programmed using if-statements, loops, and other logical constructs.
However, most modern computer programmers and engineers are at least somewhat familiar with neural networks, used for machine learning. Artificial neural networks (ANNs) are loosely based on the way the brain (a biological neural network) works.  If you want to use your computing background to understand the brain, then I recommend learning about neural networks instead.  If you already have some understanding of neural networks, then think about how Siri or Watson work.
While neural networks can certainly be thought of as storing data, executing algorithms, parallel processing, and having memory and speed measurements, they are conceptually very different from classical computers, and generally uninstructive to compare. In particular, the &quot;von Neumann&quot; architectural style of modern computers does not have an analog in the brain (there is no separation between areas that compute and areas that store memories, for example). If you are still interested in such a comparison, then many of the questions listed above already have great answers, so check them out.
If you are interested in modeling the brain using a classical computing methodology, then check out ACT-R, a popular architecture for modeling the brain using a modular, knowledge-based system (also see this forum question).
Artificial neural networks are not a perfect model for biological neural networks either, and if you are interested in the difference, then see this forum question.