Foundations of Computer Technology

Foundations of Computer Technology

Author: Alexander John Anderson

Publisher: CRC Press

Published: 1994-09-08

Total Pages: 456

ISBN-13: 9780412598104

DOWNLOAD EBOOK

Foundations of Computer Technology is an easily accessible introduction to the architecture of computers and peripherals. This textbook clearly and completely explains modern computer systems through an approach that integrates components, systems, software, and design. It provides a succinct, systematic, and readable guide to computers, providing a springboard for students to pursue more detailed technology subjects. This volume focuses on hardware elements within a computer system and the impact of software on its architecture. It discusses practical aspects of computer organization (structure, behavior, and design) delivering the necessary fundamentals for electrical engineering and computer science students. The book not only lists a wide range of terms, but also explains the basic operations of components within a system, aided by many detailed illustrations. Material on modern technologies is combined with a historical perspective, delivering a range of articles on hardware, architecture and software, programming methodologies, and the nature of operating systems. It also includes a unified treatment on the entire computing spectrum, ranging from microcomputers to supercomputers. Each section features learning objectives and chapter outlines. Small glossary entries define technical terms and each chapter ends with an alphabetical list of key terms for reference and review. Review questions also appear at the end of each chapter and project questions inspire readers to research beyond the text. Short, annotated bibliographies direct students to additional useful reading.


Foundations for Programming Languages

Foundations for Programming Languages

Author: John C. Mitchell

Publisher: Mit Press

Published: 1996

Total Pages: 846

ISBN-13: 9780262133210

DOWNLOAD EBOOK

"Programming languages embody the pragmatics of designing software systems, and also the mathematical concepts which underlie them. Anyone who wants to know how, for example, object-oriented programming rests upon a firm foundation in logic should read this book. It guides one surefootedly through the rich variety of basic programming concepts developed over the past forty years." -- Robin Milner, Professor of Computer Science, The Computer Laboratory, Cambridge University "Programming languages need not be designed in an intellectual vacuum; John Mitchell's book provides an extensive analysis of the fundamental notions underlying programming constructs. A basic grasp of this material is essential for the understanding, comparative analysis, and design of programming languages." -- Luca Cardelli, Digital Equipment Corporation Written for advanced undergraduate and beginning graduate students, "Foundations for Programming Languages" uses a series of typed lambda calculi to study the axiomatic, operational, and denotational semantics of sequential programming languages. Later chapters are devoted to progressively more sophisticated type systems.


Foundations of Software Engineering

Foundations of Software Engineering

Author: Ashfaque Ahmed

Publisher: CRC Press

Published: 2016-08-25

Total Pages: 476

ISBN-13: 1498737609

DOWNLOAD EBOOK

The best way to learn software engineering is by understanding its core and peripheral areas. Foundations of Software Engineering provides in-depth coverage of the areas of software engineering that are essential for becoming proficient in the field. The book devotes a complete chapter to each of the core areas. Several peripheral areas are also explained by assigning a separate chapter to each of them. Rather than using UML or other formal notations, the content in this book is explained in easy-to-understand language. Basic programming knowledge using an object-oriented language is helpful to understand the material in this book. The knowledge gained from this book can be readily used in other relevant courses or in real-world software development environments. This textbook educates students in software engineering principles. It covers almost all facets of software engineering, including requirement engineering, system specifications, system modeling, system architecture, system implementation, and system testing. Emphasizing practical issues, such as feasibility studies, this book explains how to add and develop software requirements to evolve software systems. This book was written after receiving feedback from several professors and software engineers. What resulted is a textbook on software engineering that not only covers the theory of software engineering but also presents real-world insights to aid students in proper implementation. Students learn key concepts through carefully explained and illustrated theories, as well as concrete examples and a complete case study using Java. Source code is also available on the book’s website. The examples and case studies increase in complexity as the book progresses to help students build a practical understanding of the required theories and applications.


Software Engineering Foundations

Software Engineering Foundations

Author: Yingxu Wang

Publisher: CRC Press

Published: 2007-08-09

Total Pages: 1488

ISBN-13: 0203496094

DOWNLOAD EBOOK

A groundbreaking book in this field, Software Engineering Foundations: A Software Science Perspective integrates the latest research, methodologies, and their applications into a unified theoretical framework. Based on the author's 30 years of experience, it examines a wide range of underlying theories from philosophy, cognitive informatics, denota


Formal Foundations for Software Engineering Methods

Formal Foundations for Software Engineering Methods

Author: Heinrich Hußmann

Publisher: Springer Science & Business Media

Published: 1997-09-23

Total Pages: 308

ISBN-13: 9783540636137

DOWNLOAD EBOOK

In this book, Hussmann builds a bridge between the pragmatic methods for the design of information systems and the formal, mathematical background. Firstly, the principal feasibility of an integration of the different methods is demonstrated. Secondly, the formalism is used as a systematic semantic analysis of the concepts in SSADM, a British standard structured software engineering method. Thirdly, a way of obtaining a hybrid formal-pragmatic specification using a combination of SSADM notations and formal (SPECTRUM) specifications is shown. This well-written book encourages scientists and software engineers to apply formal methods to practical software development problems.


Foundations of Algebraic Specification and Formal Software Development

Foundations of Algebraic Specification and Formal Software Development

Author: Donald Sannella

Publisher: Springer Science & Business Media

Published: 2012-01-05

Total Pages: 594

ISBN-13: 3642173365

DOWNLOAD EBOOK

This book provides foundations for software specification and formal software development from the perspective of work on algebraic specification, concentrating on developing basic concepts and studying their fundamental properties. These foundations are built on a solid mathematical basis, using elements of universal algebra, category theory and logic, and this mathematical toolbox provides a convenient language for precisely formulating the concepts involved in software specification and development. Once formally defined, these notions become subject to mathematical investigation, and this interplay between mathematics and software engineering yields results that are mathematically interesting, conceptually revealing, and practically useful. The theory presented by the authors has its origins in work on algebraic specifications that started in the early 1970s, and their treatment is comprehensive. This book contains five kinds of material: the requisite mathematical foundations; traditional algebraic specifications; elements of the theory of institutions; formal specification and development; and proof methods. While the book is self-contained, mathematical maturity and familiarity with the problems of software engineering is required; and in the examples that directly relate to programming, the authors assume acquaintance with the concepts of functional programming. The book will be of value to researchers and advanced graduate students in the areas of programming and theoretical computer science.


Designing with Blends

Designing with Blends

Author: Manuel Imaz

Publisher:

Published: 2007

Total Pages: 256

ISBN-13:

DOWNLOAD EBOOK

How recent research in cognitive science offers new ways to understand the interaction of people and computers and develops a new literacy for well-informed, sensitive software design. The evolution of the concept of mind in cognitive science over the past 25 years creates new ways to think about the interaction of people and computers. New ideas about embodiment, metaphor as a fundamental cognitive process, and conceptual integration--a blending of older concepts that gives rise to new, emergent properties--have become increasingly important in software engineering (SE) and human-computer interaction (HCI). If once computing was based on algorithms, mathematical theories, and formal notations, now the use of stories, metaphors, and blends can contribute to well-informed, sensitive software design. In Designing with Blends, Manuel Imaz and David Benyon show how these new metaphors and concepts of mind allow us to discover new aspects of HCI-SE. After 60 years, digital technology has come of age, but software design has not kept pace with technological sophistication; people struggle to understand and use their computers, cameras, phones, and other devices. Imaz and Benyon argue that the dominance of digital media in our lives demands changes in HCI-SE based on advances in cognitive science. The idea of embodied cognition, they contend, can change the way we approach design by emphasizing the figurative nature of interaction. Imaz and Benyon offer both theoretical grounding and practical examples that illustrate the advantages of applying cognitive concepts to software design. A new view of cognition, they argue, will develop a cognitive literacy in software and interaction design that helps designers understand the opportunities of digital technology and provides people with a more satisfying interactive experience.


Software Architecture

Software Architecture

Author: Richard N. Taylor

Publisher: John Wiley & Sons

Published: 2009-01-09

Total Pages: 741

ISBN-13: 0470167742

DOWNLOAD EBOOK

Software architecture is foundational to the development of large, practical software-intensive applications. This brand-new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on supporting creation of real implemented systems. Hence the text details not only modeling techniques, but design, implementation, deployment, and system adaptation -- as well as a host of other topics -- putting the elements in context and comparing and contrasting them with one another. Rather than focusing on one method, notation, tool, or process, this new text/reference widely surveys software architecture techniques, enabling the instructor and practitioner to choose the right tool for the job at hand. Software Architecture is intended for upper-division undergraduate and graduate courses in software architecture, software design, component-based software engineering, and distributed systems; the text may also be used in introductory as well as advanced software engineering courses.


Guide to the Software Engineering Body of Knowledge (Swebok(r))

Guide to the Software Engineering Body of Knowledge (Swebok(r))

Author: IEEE Computer Society

Publisher:

Published: 2014

Total Pages: 348

ISBN-13: 9780769551661

DOWNLOAD EBOOK

In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).