Even for non-CS majors, CS discipline offers some important concepts
which it is useful for everyone to understand. Just as there is a
utility for everyone to understand a certain amount of math and science,
there is a good reason for people to understand a certain amount of
computer science. This partially helps me collect the background I
need for those times when it's appropriate to support this belief.
Of course, I expect the way I weigh ideas and topics is highly biased from
the perspective of a computer systems person. A theorist would, no doubt,
have lumped many of the "engineering" things in the later half into one or two
bullets and expanded my initial points.
I welcome your feedback on important ideas which I may have omitted,
or other suggestions for improvement.
André DeHon