Date of Original Version




Rights Management

Author's Pre-print: author can archive pre-print (ie pre-refereeing) Author's Post-print: author can archive post-print (ie final draft post-refereeing) Publisher's Version/PDF: author cannot archive publisher's version/PDF General Conditions: On author's or employer's website or funders mandated repository only On a non-profit server Pre-prints can be deposited on public repositories as long as accompanied by ACM copyright notice upon transfer of copyright Post-prints can only be deposited in public repositories with explicit permission of publisher Cannot use publisher version Publisher copyright and source must be acknowledged Must link to publisher version with statement that this is the definitive version and DOI Must state that version on repository is the authors version Set statement "© ACM, YYYY. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in PUBLICATION, {VOL#, ISS#, (DATE)}"

Abstract or Table of Contents

It is argued that the teaching of programming is central to the education of skilled computer professionals, that the teaching of programming languages is central to the teaching of programming. that these topics must include the specification, structuring, and verification of software, and that they should be taught with the same regard to rigor and precision as in traditional mathematics.