Specification of Abstract Data Types

Specification of Abstract Data Types

Author: Jacques Loeckx

Publisher: Vieweg+Teubner Verlag

Published: 1996

Total Pages: 280

ISBN-13:

DOWNLOAD EBOOK

Specification of Abstract Data Types provides an authoritative introduction to the mathematical foundations of algebraic program specification. Unlike most other publications on the subject, this book does not draw on category theory, but instead tries to demystify the topic and promote its use in practical applications. It clearly distinguishes between the study of algebras, logic, specification methods and specification languages and it avoids focusing on a particular logic or a particular specification method. While treating the subject with mathematical precision, the book contains numerous examples, exercises and comments to provide a deeper understanding of concepts discussed. It was conceived as a student textbook but will also be a useful source of reference for researchers and developers using formal specification methods for software design.


Abstract Data Types

Abstract Data Types

Author: Nell Dale

Publisher: Jones & Bartlett Learning

Published: 1996

Total Pages: 770

ISBN-13: 9780669400007

DOWNLOAD EBOOK

Since 1985 Nell Dale's texts have helped shape the way computer science is taught. Now she and Henry Walker, an accomplished instructor and author in his own right, are proposing a new focus for the junior/senior level data structures course. A timely response to the prevalence of object-oriented programming, this new text expands the focus of the advanced data structures course to examine not only the structure of a data object but also its type. This new focus gives students the opportunity to look at data objects from the point of view of both user and implementer.


Abstract Data Types in Standard ML

Abstract Data Types in Standard ML

Author: Rachel Harrison

Publisher:

Published: 1993-08-27

Total Pages: 232

ISBN-13:

DOWNLOAD EBOOK

Abstract Data Types in Standard ML Rachel Harrison University of Southampton, UK This book presents a thorough treatment of data abstraction within a functional framework. The approach to abstract data types strikes a balance between the theoretical and the practical, stressing the importance of producing reliable, high quality code which is robust and reusable. Exercises are provided, as well as numerous annotated algorithms in Standard ML. Emphasis is placed on the key concepts of specification, modularity and generality. Each chapter shows how to specify, apply and implement generic abstract data types, and the specifications are used to verify and validate the correctness of the implementations. Students of software engineering will find this book particularly attractive—for courses such as advanced programming, program design, algorithms and data structures, and program specification. It will also serve as a useful post-introductory text for courses on functional programming.


Nonsequential and Distributed Programming with Go

Nonsequential and Distributed Programming with Go

Author: Christian Maurer

Publisher: Springer Nature

Published: 2021-01-19

Total Pages: 419

ISBN-13: 3658297824

DOWNLOAD EBOOK

Der Band bietet eine kompakte Einführung in die Nichtsequentielle Programmierung als gemeinsamen Kern von Vorlesungen über Betriebssysteme, Verteilte Systeme, Parallele Algorithmen, Echtzeitprogrammierung und Datenbanktransaktionen. Basiskonzepte zur Synchronisation und Kommunikation nebenläufiger Prozesse werden systematisch dargestellt: Schlösser, Semaphore, Monitore, lokaler und netzweiter Botschaftenaustausch. Die Algorithmen sind in der Programmiersprache Google Go formuliert, mit der viele Synchronisationskonzepte ausgedrückt werden können.


Objects, Abstraction, Data Structures and Design

Objects, Abstraction, Data Structures and Design

Author: Elliot B. Koffman

Publisher: John Wiley & Sons

Published: 2005-10-20

Total Pages: 832

ISBN-13: 0471467553

DOWNLOAD EBOOK

Koffman and Wolfgang introduce data structures in the context of C++ programming. They embed the design and implementation of data structures into the practice of sound software design principles that are introduced early and reinforced by 20 case studies. Data structures are introduced in the C++ STL format whenever possible. Each new data structure is introduced by describing its interface in the STL. Next, one or two simpler applications are discussed then the data structure is implemented following the interface previously introduced. Finally, additional advanced applications are covered in the case studies, and the cases use the STL. In the implementation of each data structure, the authors encourage students to perform a thorough analysis of the design approach and expected performance before actually undertaking detailed design and implementation. Students gain an understanding of why different data structures are needed, the applications they are suited for, and the advantages and disadvantages of their possible implementations. Case studies follow a five-step process (problem specification, analysis, design, implementation, and testing) that has been adapted to object-oriented programming. Students are encouraged to think critically about the five-step process and use it in their problem solutions. Several problems have extensive discussions of testing and include methods that automate the testing process. Some cases are revisited in later chapters and new solutions are provided that use different data structures. The text assumes a first course in programming and is designed for Data Structures or the second course in programming, especially those courses that include coverage of OO design and algorithms. A C++ primer is provided for students who have taken a course in another programming language or for those who need a review in C++. Finally, more advanced coverage of C++ is found in an appendix. Course Hierarchy: Course is the second course in the CS curriculum Required of CS majors Course names include Data Structures and Data Structures & Algorithms


Thinking Programs

Thinking Programs

Author: Wolfgang Schreiner

Publisher: Springer Nature

Published: 2021-10-22

Total Pages: 660

ISBN-13: 3030805077

DOWNLOAD EBOOK

This book describes some basic principles that allow developers of computer programs (computer scientists, software engineers, programmers) to clearly think about the artifacts they deal with in their daily work: data types, programming languages, programs written in these languages that compute from given inputs wanted outputs, and programs that describe continuously executing systems. The core message is that clear thinking about programs can be expressed in a single universal language, the formal language of logic. Apart from its universal elegance and expressiveness, this “logical” approach to the formal modeling of and reasoning about computer programs has another advantage: due to advances in computational logic (automated theorem proving, satisfiability solving, model checking), nowadays much of this process can be supported by software. This book therefore accompanies its theoretical elaborations by practical demonstrations of various systems and tools that are based on respectively make use of the presented logical underpinnings.


Object-Oriented Data Structures Using Java

Object-Oriented Data Structures Using Java

Author: Nell Dale

Publisher: Jones & Bartlett Publishers

Published: 2012

Total Pages: 823

ISBN-13: 1449613543

DOWNLOAD EBOOK

Continuing the success of the popular second edition, the updated and revised Object-Oriented Data Structures Using Java, Third Edition is sure to be an essential resource for students learning data structures using the Java programming language. It presents traditional data structures and object-oriented topics with an emphasis on problem-solving, theory, and software engineering principles. Beginning early and continuing throughout the text, the authors introduce and expand upon the use of many Java features including packages, interfaces, abstract classes, inheritance, and exceptions. Numerous case studies provide readers with real-world examples and demonstrate possible solutions to interesting problems. The authors' lucid writing style guides readers through the rigor of standard data structures and presents essential concepts from logical, applications, and implementation levels. Key concepts throughout the Third Edition have been clarified to increase student comprehension and retention, and end-of-chapter exercises have been updated and modified. New and Key Features to the Third Edition: -Includes the use of generics throughout the text, providing the dual benefits of allowing for a type safe use of data structures plus exposing students to modern approaches. -This text is among the first data structures textbooks to address the topic of concurrency and synchonization, which are growing in the importance as computer systems move to using more cores and threads to obtain additional performance with each new generation. Concurrency and synchonization are introduced in the new Section 5.7, where it begins with the basics of Java threads. -Provides numerous case studies and examples of the problem solving process. Each case study includes problem description, an analysis of the problem input and required output, and a discussion of the appropriate data structures to use. -Expanded chapter exercises allow you as the instructor to reinforce topics for your students using both theoretical and practical questions. -Chapters conclude with a chapter summary that highlights the most important topics of the chapter and ties together related topics.


ADA Plus Data Structures

ADA Plus Data Structures

Author: Nell B. Dale

Publisher: Jones & Bartlett Learning

Published: 2007

Total Pages: 940

ISBN-13: 9780763737948

DOWNLOAD EBOOK

Data Structures & Theory of Computation


Program Development in Java

Program Development in Java

Author: Barbara Liskov

Publisher: Pearson Education

Published: 2000-06-06

Total Pages: 467

ISBN-13: 076868496X

DOWNLOAD EBOOK

Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger one; or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology. Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractions--specifications that describe what the modules do--and then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance. Other topics discussed include: Encapsulation and the need for an implementation to provide the behavior defined by the specification Tradeoffs between simplicity and performance Techniques to help readers of code understand and reason about it, focusing on such properties as rep invariants and abstraction functions Type hierarchy and its use in defining families of related data abstractions Debugging, testing, and requirements analysis Program design as a top-down, iterative process, and design patterns The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.