I: Program Development and Verification.- Smoothsort, an Alternative for Sorting in Situ.- Lambek and Moser Revisited.- A General Axiom of Assignment.- Assignment and Linked Data Structures.- A Proof of the Schorr-Waite Algorithm.- Verification of Sequential Programs: Temporal Axiomatization.- Specification and Derivation of Programs.- Repaying Our Debts.- II: Denotational Semantics.- Lectures on a Mathematical Theory of Computation.- Semantic Models.- III: Abstract Data Types.- Algebras, Theories and Freeness: An Introduction for Computer Scientists.- An Analysis of Semantic Models for Algebraic Specifications.- IV: Infinite Structures.- Fundamental Properties of Infinite Trees.- Behaviors of Processes and Synchronized Systems of Processes.- V: Concurrent Programs.- A Tutorial on the Split Binary Semaphore.- A Fixed Point Approach to Applicative Multiprogramming.- Discrete Event Simulation Based on Communicating Sequential Processes.- Structure of an Operating System.