A Practical Theory of Programming

A Practical Theory of Programming
Author: Eric C.R. Hehner
Publisher: Springer Science & Business Media
Total Pages: 257
Release: 2012-09-08
Genre: Computers
ISBN: 1441985964

There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.

Practical Foundations for Programming Languages

Practical Foundations for Programming Languages
Author: Robert Harper
Publisher: Cambridge University Press
Total Pages: 513
Release: 2016-04-04
Genre: Computers
ISBN: 1107150302

This book unifies a broad range of programming language concepts under the framework of type systems and structural operational semantics.

Functional Programming

Functional Programming
Author: Bruce J. MacLennan
Publisher: Addison-Wesley Professional
Total Pages: 616
Release: 1990
Genre: Computers
ISBN:

Elements of Programming

Elements of Programming
Author: Alexander Stepanov
Publisher: Lulu.com
Total Pages: 282
Release: 2019-06-17
Genre: Computers
ISBN: 0578222140

Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. This 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. Using abstract algorithms leads to efficient, reliable, secure, and economical software.

Distributed Programming

Distributed Programming
Author: A. Udaya Shankar
Publisher: Springer Science & Business Media
Total Pages: 389
Release: 2012-09-15
Genre: Computers
ISBN: 1461448816

Distributed Programming: Theory and Practice presents a practical and rigorous method to develop distributed programs that correctly implement their specifications. The method also covers how to write specifications and how to use them. Numerous examples such as bounded buffers, distributed locks, message-passing services, and distributed termination detection illustrate the method. Larger examples include data transfer protocols, distributed shared memory, and TCP network sockets. Distributed Programming: Theory and Practice bridges the gap between books that focus on specific concurrent programming languages and books that focus on distributed algorithms. Programs are written in a "real-life" programming notation, along the lines of Java and Python with explicit instantiation of threads and programs. Students and programmers will see these as programs and not "merely" algorithms in pseudo-code. The programs implement interesting algorithms and solve problems that are large enough to serve as projects in programming classes and software engineering classes. Exercises and examples are included at the end of each chapter with on-line access to the solutions. Distributed Programming: Theory and Practice is designed as an advanced-level text book for students in computer science and electrical engineering. Programmers, software engineers and researchers working in this field will also find this book useful.

Practical Programming

Practical Programming
Author: Paul Gries
Publisher: Pragmatic Bookshelf
Total Pages: 554
Release: 2017-12-06
Genre: Computers
ISBN: 1680504126

Classroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6.

Drawing Programs: The Theory and Practice of Schematic Functional Programming

Drawing Programs: The Theory and Practice of Schematic Functional Programming
Author: Tom Addis
Publisher: Springer Science & Business Media
Total Pages: 401
Release: 2009-10-30
Genre: Computers
ISBN: 1848826184

Drawing Programs: The Theory and Practice of Schematic Functional Programming describes a diagrammatic (schematic) approach to programming. It introduces a sophisticated tool for programmers who would rather work with diagrams than with text. The language is a complete functional language that has evolved into a representation scheme that is unique. The result is a simple coherent description of the process of modelling with the computer. The experience of using this tool is introduced gradually with examples, small projects and exercises. The new computational theory behind the tool is interspersed between these practical descriptions so that the reasons for the activity can be understood and the activity, in turn, illustrates some elements of the theory Access to the tool, its source code and a set of examples that range from the simple to the complex is free (see www.springer.com/978-1-84882-617-5). A description of the tool’s construction and how it may be extended is also given. The authors’ experience with undergraduates and graduates who have the understanding and skill of a functional language learnt through using schema have also shown an enhanced ability to program in other computer languages. Readers are provided with a set of concepts that will ensure a good robust program design and, what is more important, a path to error free programming.

Concepts in Programming Languages

Concepts in Programming Languages
Author: John C. Mitchell
Publisher: Cambridge University Press
Total Pages: 546
Release: 2003
Genre: Computers
ISBN: 9780521780988

A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.

Modern Programming Languages

Modern Programming Languages
Author: Adam Brooks Webber
Publisher: Franklin Beedle & Associates
Total Pages: 0
Release: 2003
Genre: Programming languages (Electronic computers)
ISBN: 9781887902762

Typical undergraduate CS/CE majors have a practical orientation: they study computing because they like programming and are good at it. This book has strong appeal to this core student group. There is more than enough material for a semester-long course. The challenge for a course in programming language concepts is to help practical ......