FreeComputerBooks.com
Links to Free Computer, Mathematics, Technical Books all over the World


 Title: A Practical Theory of Programming
 Author(s) Eric C.R. Hehner
 Publisher: Springer 1993 edition (August 26, 1993); eBook (2022524 Edition)
 Permission: "You may copy all or part of this book freely as long as you include this page"
 Hardcover: 247 pages
 eBook: PDF (253 pages)
 Language: English
 ISBN10: 0387941061
 ISBN13: 9780387941066
 Share This:
Book Description
Understanding programming and programming languages requires knowledge of the underlying theoretical model.
This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theories to date. In the theoretical model, a specification is just a boolean expression and refinement is just an ordinary implication.
The author develops a practical and broad method for writing precise specifications and designing programs whose executions probably satisfy the specifications. Beginning with preparatory material in logic, numbers, sets, lists, functions and relations, the book advances further into program theory, the heart of the book. Subsequent chapters may be selected or omitted according to course emphasis.
The text will be useful to students in courses on programming methodology or verification at the advanced undergraduate or beginning graduate level, as well as for software engineers in the field. All technical terms are explained and then demonstrated in the book wherever possible. No advanced mathematical knowledge or programming language is assumed.
The book contains numerous exercises and workedout solutions for specific exercises. Transparency masters and solutions for the remaining exercises are available from the author.
About the Authors Eric C.R. Hehner is a Canadian computer scientist. His main research area is formal methods of software design.
 Computer Programming
 Scheme Programming Language
 Computer Science
 Artificial Intelligence, Machine Learning, and Logic Programming

Elements of Programming (Alexander Stepanov, et al)
The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation.

Programming Fundamentals  A Modular Structured Approach
This book is an introduction to computer programming using any of a variety of programming languages, including C++, C#, Java, JavaScript, Python, and Swift, for writing programmes, and to solid, fundamental programming principles.

Structure and Interpretation of Computer Programs using JavaScript
This book introduces the reader to central ideas of computation by establishing a series of mental models for computation. It has had a dramatic impact on computer science curricula over the past decades. Examples are implemented using the JavaScript.

How to Design Programs: An Introduction to Programming
This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting program design guidelines.

Foundations of Machine Learning (Mehryar Mohri, et al)
This book is a general introduction to machine learning. It covers fundamental modern topics in machine learning while providing the theoretical basis and conceptual tools needed for the discussion and justification of algorithms.

Software Design for Flexibility: Avoid Programming into a Corner
This book describes techniques they have found effectiveover their combined 100plus years of programming experiencethat will help programmers avoid programming themselves into corners.

Isomorphism  Mathematics of Programming (Xinyu Liu)
This book introduces the mathematics behind computer programming. It intents to tell: programming is isomorphic to mathematics. Just like in art and music, there are interesting stories and mathematicians behind the great minds.

Structure and Interpretation of Computer Programs, 2nd Edition
This book has had a dramatic impact on computer science curricula over the past decade. This longawaited revision contains changes throughout the text. Examples are implemented using the Scheme dialect of Lisp.

Exploratory Programming for the Arts and Humanities
This book introduces programming to readers involved with the arts and humanities; there are no prerequisites, and no previous knowledge of programming is assumed. It reveals programming can also be a tool for sketching, brainstorming, and inquiry.

Programming Persistent Memory: A Comprehensive Guide
The book explains fundamental concepts, provides an introduction to Persistent Memory programming APIs for C, C++, JavaScript, and other languages, discusses RMDA with persistent memory; reviews security features; and presents many examples.

Answer Set Programming (Vladimir Lifschitz)
This book book will introduce the reader to the theory and practice of Answer Set Programming (ASP). It will include numerous examples of ASP programs and present the mathematical theory that ASP is based on, and exercises with complete solutions.

Aesthetic Programming: A Handbook of Software Studies
The book explores the technical as well as cultural imaginaries of programming from its insides, introduces and demonstrates the reflexive practice of aesthetic programming, engaging with learning to program as a way to understand and question.

Competitive Programmer's Handbook (Antti Laaksonen)
The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.

Principles of Algorithmic Problem Solving (Johan Sannemo)
The algorithmic approach to solving problems in computer technology is an essential tool. This book presents a readable, entertaining, and energetic book that will motivate and challenge students to open their minds to the algorithmic nature of problem solving.

The Black Art of Programming (Mark McIlroy)
This book is an introduction to computer programming. It covers the essential information of a Computer Science course. It is recommended for beginners and intermediate programmers.
:






















