Author: Edsger Wybe Dijkstra

Publisher: Prentice Hall

ISBN: N.A

Category: Computers

Page: 217

View: 575

Executional abstraction; The role of programming languages; States and their characterization; The characterization of semantics; The semantic characterization of a programming language; Two theorems; On the design of properly terminating; Euclid's algorithm revisited; The formal treatment of some small examples; The linear search theorem; The problem of the next permutation.
Read More

Author: David Gries

Publisher: Springer Science & Business Media

ISBN: 1461259835

Category: Computers

Page: 388

View: 6063

Describes basic programming principles and their step-by- step applications.Numerous examples are included.
Read More

Author: Wim Feijen,A.J.M. van Gasteren

Publisher: Springer Science & Business Media

ISBN: 1475731264

Category: Computers

Page: 370

View: 8860

Here, the authors propose a method for the formal development of parallel programs - or multiprograms as they prefer to call them. They accomplish this with a minimum of formal gear, i.e. with the predicate calculus and the well- established theory of Owicki and Gries. They show that the Owicki/Gries theory can be effectively put to work for the formal development of multiprograms, regardless of whether these algorithms are distributed or not.
Read More

Author: B. Walraet

Publisher: Elsevier

ISBN: 1483294218

Category: Computers

Page: 505

View: 8125

This comprehensive approach to the creation of software systems charts a road through system modelling techniques, allowing software engineers to create software meeting two very basic requirements: • that the software system represent a narrow emulation of the organization system that served as its model; • and that the software system display life attributes identical to those of the organization system that it automatizes. The result is a quantum leap increase in software application quality. Such benefit is achieved by the introduction of a fundamental paradigm: the office-floor metaphor which incorporates such well-balanced basic ideas as the functional normalization of tasks and information (in sharp contrast to the classic data normalization) and the principle of tenant-ownership.
Read More

Author: Edsger W. Dijkstra,Carel S. Scholten

Publisher: Springer Science & Business Media

ISBN: 1461232287

Category: Computers

Page: 220

View: 6781

This booklet presents a reasonably self-contained theory of predicate trans former semantics. Predicate transformers were introduced by one of us (EWD) as a means for defining programming language semantics in a way that would directly support the systematic development of programs from their formal specifications. They met their original goal, but as time went on and program derivation became a more and more formal activity, their informal introduction and the fact that many of their properties had never been proved became more and more unsatisfactory. And so did the original exclusion of unbounded nondeterminacy. In 1982 we started to remedy these shortcomings. This little monograph is a result of that work. A possible -and even likely- criticism is that anyone sufficiently versed in lattice theory can easily derive all of our results himself. That criticism would be correct but somewhat beside the point. The first remark is that the average book on lattice theory is several times fatter (and probably less self contained) than this booklet. The second remark is that the predicate transformer semantics provided only one of the reasons for going through the pains of publication.
Read More

fundamentals of a discipline of computer program and systems design

Author: Edward Yourdon,Larry L. Constantine

Publisher: Yourdon

ISBN: N.A

Category: Computers

Page: 446

View: 3395

Read More

Programming Theory for Distributed Applications

Author: Jayadev Misra

Publisher: Springer Science & Business Media

ISBN: 144198528X

Category: Computers

Page: 420

View: 8043

In this book, a programming model is developed that addresses the fundamental issues of 'large-scale programming'. The approach unifies several concepts from database theory, object-oriented programming and designs of reactive systems. The model and the associated theory has been christened "Seuss." The major goal of Seuss is to simplify multiprogramming. To this end, the concern of concurrent implementation is separated from the core program design problem. A program execution is understood as a single thread of control - sequential executions of actions that are chosen according to some scheduling policy. As a consequence, it is possible to reason about the properties of a program from its single execution thread.
Read More

Author: Roland Backhouse

Publisher: John Wiley & Sons

ISBN: 0470684534

Category: Computers

Page: 432

View: 6286

An entertaining and captivating way to learn the fundamentals of using algorithms to solve problems The algorithmic approach to solving problems in computer technology is an essential tool. With this unique book, algorithm guru Roland Backhouse shares his four decades of experience to teach the fundamental principles of using algorithms to solve problems. Using fun and well-known puzzles to gradually introduce different aspects of algorithms in mathematics and computing. Backhouse presents you with a readable, entertaining, and energetic book that will motivate and challenge you to open your mind to the algorithmic nature of problem solving. Provides a novel approach to the mathematics of problem solving focusing on the algorithmic nature of problem solving Uses popular and entertaining puzzles to teach you different aspects of using algorithms to solve mathematical and computing challenges Features a theory section that supports each of the puzzles presented throughout the book Assumes only an elementary understanding of mathematics Let Roland Backhouse and his four decades of experience show you how you can solve challenging problems with algorithms!
Read More

Author: Edward Yourdon

Publisher: Prentice Hall

ISBN: N.A

Category: Computers

Page: 364

View: 8329

Provides a practical explanation of modular and structural programming principles and techniques applicable to all major languages.
Read More

An Introduction

Author: Niklaus Wirth

Publisher: Prentice Hall

ISBN: N.A

Category: Computer programming

Page: 169

View: 9521

"Offers students the opportunity to master techniques and skills necessary for success in broadcast television, audio and news production ... designed to cover introductory production concepts, this book contains exercises based on specific learning objectives"--P. [4] of cover.
Read More

Author: Kumiko Tanaka-Ishii

Publisher: Cambridge University Press

ISBN: 0521516552

Category: Computers

Page: 217

View: 1986

Considers what computers can and cannot do, analysing how computer sign systems compare to humans through a concept of reflexivity.
Read More

Author: Robert Harper

Publisher: Cambridge University Press

ISBN: 1107150302

Category: Computers

Page: 512

View: 3320

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

Author: Daniel P. Friedman,David Thrane Christiansen

Publisher: MIT Press

ISBN: 0262536439

Category: Computers

Page: 424

View: 4811

An introduction to dependent types, demonstrating the most beautiful aspects, one step at a time. A program's type describes its behavior. Dependent types are a first-class part of a language, and are much more powerful than other kinds of types; using just one language for types and programs allows program descriptions to be as powerful as the programs they describe. The Little Typer explains dependent types, beginning with a very small language that looks very much like Scheme and extending it to cover both programming with dependent types and using dependent types for mathematical reasoning. Readers should be familiar with the basics of a Lisp-like programming language, as presented in the first four chapters of The Little Schemer. The first five chapters of The Little Typer provide the needed tools to understand dependent types; the remaining chapters use these tools to build a bridge between mathematics and programming. Readers will learn that tools they know from programming—pairs, lists, functions, and recursion—can also capture patterns of reasoning. The Little Typer does not attempt to teach either practical programming skills or a fully rigorous approach to types. Instead, it demonstrates the most beautiful aspects as simply as possible, one step at a time.
Read More

Modelling and Reasoning about Systems

Author: Michael Huth,Mark Ryan

Publisher: Cambridge University Press

ISBN: 113945305X

Category: Computers

Page: N.A

View: 9848

Recent years have seen the development of powerful tools for verifying hardware and software systems, as companies worldwide realise the need for improved means of validating their products. There is increasing demand for training in basic methods in formal reasoning so that students can gain proficiency in logic-based verification methods. The second edition of this successful textbook addresses both those requirements, by continuing to provide a clear introduction to formal reasoning which is both relevant to the needs of modern computer science and rigorous enough for practical application. Improvements to the first edition have been made throughout, with extra and expanded sections on SAT solvers, existential/universal second-order logic, micro-models, programming by contract and total correctness. The coverage of model-checking has been substantially updated. Further exercises have been added. Internet support for the book includes worked solutions for all exercises for teachers, and model solutions to some exercises for students.
Read More

Reflections on the Craft of Programming

Author: Peter Seibel

Publisher: Apress

ISBN: 1430219483

Category: Computers

Page: 632

View: 7362

Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress’s highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words “at work” suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 15 folks who’ve been kind enough to agree to be interviewed: Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow Joe Armstrong: Inventor of Erlang Joshua Bloch: Author of the Java collections framework, now at Google Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger Douglas Crockford: JSON founder, JavaScript architect at Yahoo! L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal Dan Ingalls: Smalltalk implementor and designer Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler Donald Knuth: Author of The Art of Computer Programming and creator of TeX Peter Norvig: Director of Research at Google and author of the standard text on AI Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress Ken Thompson: Inventor of UNIX Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker What you’ll learnHow the best programmers in the world do their jobs! Who this book is for Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers. Table of Contents Jamie Zawinski Brad Fitzpatrick Douglas Crockford Brendan Eich Joshua Bloch Joe Armstrong Simon Peyton Jones Peter Norvig Guy Steele Dan Ingalls L Peter Deutsch Ken Thompson Fran Allen Bernie Cosell Donald Knuth
Read More

Author: Daniel P. Friedman,Mitchell Wand

Publisher: MIT Press

ISBN: 0262062798

Category: Computers

Page: 410

View: 5957

1. Inductive sets of data 2. Data abstraction 3. Expressions 4. State 5. Continuation-passing interpreters 6. Continuation-passing style 7. Types 8. Modules 9. Objects and classes.
Read More

An Interdisciplinary Approach

Author: Robert Sedgewick,Kevin Wayne

Publisher: Addison-Wesley Professional

ISBN: 0134076451

Category: Computers

Page: 1168

View: 8904

Named a Notable Book in the 21st Annual Best of Computing list by the ACM! Robert Sedgewick and Kevin Wayne’s Computer Science: An Interdisciplinary Approach is the ideal modern introduction to computer science with Java programming for both students and professionals. Taking a broad, applications-based approach, Sedgewick and Wayne teach through important examples from science, mathematics, engineering, finance, and commercial computing. The book demystifies computation, explains its intellectual underpinnings, and covers the essential elements of programming and computational problem solving in today’s environments. The authors begin by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O. Next, they turn to functions, introducing key modular programming concepts, including components and reuse. They present a modern introduction to object-oriented programming, covering current programming paradigms and approaches to data abstraction. Building on this foundation, Sedgewick and Wayne widen their focus to the broader discipline of computer science. They introduce classical sorting and searching algorithms, fundamental data structures and their application, and scientific techniques for assessing an implementation’s performance. Using abstract models, readers learn to answer basic questions about computation, gaining insight for practical application. Finally, the authors show how machine architecture links the theory of computing to real computers, and to the field’s history and evolution. For each concept, the authors present all the information readers need to build confidence, together with examples that solve intriguing problems. Each chapter contains question-and-answer sections, self-study drills, and challenging problems that demand creative solutions. Companion web site (introcs.cs.princeton.edu/java) contains Extensive supplementary information, including suggested approaches to programming assignments, checklists, and FAQs Graphics and sound libraries Links to program code and test data Solutions to selected exercises Chapter summaries Detailed instructions for installing a Java programming environment Detailed problem sets and projects Companion 20-part series of video lectures is available at informit.com/title/9780134493831
Read More

Author: Edsger W. Dijkstra

Publisher: Springer Science & Business Media

ISBN: 146125695X

Category: Computers

Page: 362

View: 2567

Since the summer of 1973, when I became a Burroughs Research Fellow, my life has been very different from what it had been before. The daily routine changed: instead of going to the University each day, where I used to spend most of my time in the company of others, I now went there only one day a week and was most of the time -that is, when not travelling!- alone in my study. In my solitude, mail and the written word in general became more and more important. The circumstance that my employer and I had the Atlantic Ocean between us was a further incentive to keep a fairly complete record of what I was doing. The public part of that output found its place in what became known as "the EWD series", which can be viewed as a form of scientific correspondence, possible since the advent of the copier. (That same copier makes it hard to estimate its actual distribution: I myself made about two dozen copies of my texts, but their recipients were welcome to act as further nodes of the distribution tree. ) The decision to publish a se1ection from the EWD series in book form was at first highly embarrassing, but as the months went by I got used to the idea. As soon as some guiding principles had been adopted -preferably not published elsewhere, as varied and as representative as possible, etc.
Read More