This paper is for mathematicians who are curious about how topology is being used to prove computer programs correct. Those advanced parts have been limited to Sections III, V, and VI, and they are marked by a [clock symbol]. By contrast, sections II, IV, and VII are suitable as a companion to existing textbooks in a Computer Science course such as Organization of Programming Languages, the course CS 8 as described in Curriculum . Perhaps in a first reading you might read just those sections.
Among many books and articles on the semantics, or meaning, of computer languages, several now claim to be easy introductions to the topic. For example, the review by Kitchen  of a book by Hennessy  says that the book is "a very readable introduction ...my wholehearted nominee for this field's principal introductory text." Instead, I find it terribly dense and unmotivated. It does not answer the most basic questions: Why does anyone care what a computer program means? What are the options for semantics (a formal meaning from other disciplines that inform our choice?
And what about professional mathematicians now pressed into service teaching Computer Science courses? Sections II, IV, and VII are meant to be an easy introduction to the semantics of computer programs, with the harder details clearly marked. I mostly wanted to say the things that I didn't find in books, so this paper is meant to supplement printed textbooks, not to replace them.
Chase, Gene B., "What Does a Computer Program Mean? An Introduction to Denotational Semantics" (1995). ACMS Conference Proceedings 1995. 12.
Applied Mathematics Commons, Computer Sciences Commons, Higher Education Commons, History of Science, Technology, and Medicine Commons, Mathematics Commons, Science and Mathematics Education Commons, Teacher Education and Professional Development Commons