The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical...
ISBN:
(数字)9780857290182
ISBN:
(纸本)9780857290175
The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computerscience that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software *** idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of *** text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computerscience student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.
This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computerscience or related fields. Introduction to Compiler Design presents techniques for ma...
ISBN:
(数字)9780857298294
ISBN:
(纸本)9780857298287
This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computerscience or related fields. Introduction to Compiler Design presents techniques for making realistic, though non-optimizing compilers for simple programming languages using methods that are close to those used in "real" compilers, albeit slightly simplified in places for presentation purposes. All phases required for translating a high-level language to machine language is covered, including lexing, parsing, intermediate-code generation, machine-code generation and register allocation. Interpretation is covered briefly. Aiming to be neutral with respect to implementation languages, algorithms are presented in pseudo-code rather than in any specific programming language, and suggestions for implementation in several different language flavors are in many cases given. The techniques are illustrated with examples and exercises. The author has taught Compiler Design at the University of Copenhagen for over a decade, and the book is based on material used in the undergraduate Compiler Design course there. Additional material for use with this book, including solutions to selected exercises, is available at http://***/~torbenm/ICD
This textbook presents an algorithmic approach to mathematical analysis, with a focus on modelling and on the applications of analysis. Fully integrating mathematical software into the text as an important component o...
ISBN:
(数字)9780857294463
ISBN:
(纸本)9780857294456
This textbook presents an algorithmic approach to mathematical analysis, with a focus on modelling and on the applications of analysis. Fully integrating mathematical software into the text as an important component of analysis, the book makes thorough use of examples and explanations using MATLAB, Maple, and Java applets. Mathematical theory is described alongside the basic concepts and methods of numerical analysis, supported by computer experiments and programming exercises, and an extensive use of figure illustrations. Features: thoroughly describes the essential concepts of analysis; provides summaries and exercises in each chapter, as well as computer experiments; discusses important applications and advanced topics; presents tools from vector and matrix algebra in the appendices, together with further information on continuity; includes definitions, propositions and examples throughout the text; supplementary software can be downloaded from the book's webpage.
Core Concepts in Data Analysis: Summarization, Correlation and Visualization provides in-depth descriptions of those data analysis approaches that either summarize data (principal component analysis and clustering, in...
ISBN:
(数字)9780857292872
ISBN:
(纸本)9780857292865
Core Concepts in Data Analysis: Summarization, Correlation and Visualization provides in-depth descriptions of those data analysis approaches that either summarize data (principal component analysis and clustering, including hierarchical and network clustering) or correlate different aspects of data (decision trees, linear rules, neuron networks, and Bayes rule).Boris Mirkin takes an unconventional approach and introduces the concept of multivariate data summarization as a counterpart to conventional machine learning prediction schemes, utilizing techniques from statistics, data analysis, data mining, machine learning, computational intelligence, and information *** following from his in-depth analysis of the models underlying summarization techniques are introduced, and applied to challenging issues such as the number of clusters, mixed scale data standardization, interpretation of the solutions, as well as relations between seemingly unrelated concepts: goodness-of-fit functions for classification trees and data standardization, spectral clustering and additive clustering, correlation and visualization of contingency data. The mathematical detail is encapsulated in the so-called formulation parts, whereas most material is delivered through presentation parts that explain the methods by applying them to small real-world data sets; concise computation parts inform of the algorithmic and coding issues. Four layers of active learning and self-study exercises are provided: worked examples, case studies, projects and questions.
As our society grows ever more reliant on computers, so it also becomes more vulnerable to computer crime. Cyber attacks have been plaguing computer users since the 1980s, and computer security experts are predicting ...
ISBN:
(数字)9780857290069
ISBN:
(纸本)9780857290052
As our society grows ever more reliant on computers, so it also becomes more vulnerable to computer crime. Cyber attacks have been plaguing computer users since the 1980s, and computer security experts are predicting that smart telephones and other mobile devices will also become the targets of cyber security threats in the future. Developed from the author's successful Springer guide to Foundations of computer Security, this accessible textbook/reference is fully updated and enhanced with resources for students and tutors. topics and features: examines the physical security of computer hardware, networks, and digital data; introduces the different forms of rogue software (or malware), discusses methods for preventing and defending against malware, and describes a selection of viruses, worms and Trojans in detail; investigates the important threats to network security, and explores the subjects of authentication, spyware, and identity theft; discusses issues of privacy and trust in the online world, including children's privacy and safety; includes appendices which discuss the definition, meaning, and history of the term hacker, introduce the language of "l33t Speak", and provide a detailed virus timeline; provides numerous exercises and examples throughout the text, in addition to a Glossary of terms used in the book; supplies additional resources at the associated website, http://***/, including an introduction to cryptography, and answers to the exercises. Clearly and engagingly written, this concise textbook is an ideal resource for undergraduate classes on computer security. The book is mostly non-mathematical, and is suitable for anyone familiar with the basic concepts of computers and computations.
This self-contained textbook assumes that the reader has some familiarity with one programming language, and adopts a simple yet rigorous approach. The author explains the main programming paradigms (imperative, objec...
ISBN:
(数字)9781848829145
ISBN:
(纸本)9781848829138
This self-contained textbook assumes that the reader has some familiarity with one programming language, and adopts a simple yet rigorous approach. The author explains the main programming paradigms (imperative, object-oriented, functional, and logic), and makes clear separation between the design, implementation and pragmatic aspects of programming languages. As well as an excellent guide for undergraduates the content will also be useful for software practitioners who want to consolidate and update their knowledge of programming languages.
The development of programming languages has radically modified our relation to language, complexity and machines. This book is an introduction to the principles around which these languages are organised – imperativ...
ISBN:
(数字)9781848820326
ISBN:
(纸本)9781848820319
The development of programming languages has radically modified our relation to language, complexity and machines. This book is an introduction to the principles around which these languages are organised – imperative constructions, functional constructions, reference, dynamic data types, objects and more. Using Java as a main language, but systematically comparing it to other languages it enables the reader to understand the unifying concepts that lie beneath each particular language and provides the tools that allow the students to adapt to new programming languages.
A Concise and Practical Introduction to Programming Algorithms in Java has two main goals. The first is for novice programmers to learn progressively the basic concepts underlying most imperative programming languages...
ISBN:
(数字)9781848823396
ISBN:
(纸本)9781848823389
A Concise and Practical Introduction to Programming Algorithms in Java has two main goals. The first is for novice programmers to learn progressively the basic concepts underlying most imperative programming languages using Java. The second goal is to introduce new programmers to the very basic principles of thinking the algorithmic way and turning the algorithms into programs using the programming concepts of Java. The book is divided into two parts and includes: The fundamental notions of variables, expressions and assignments with type checking - Conditional and loop statements - Explanation of the concepts of functions with pass-by-value arguments and recursion - Fundamental sequential and bisection search techniques - Basic iterative and recursive sorting algorithms. Each chapter of the book concludes with a set of exercises to enable students to practice concepts covered.
A Concise Introduction to Computation Models and Computability Theory provides an introduction to the essential concepts in computability, using several models of computation, from the standard Turing Machines and Rec...
ISBN:
(数字)9781848824348
ISBN:
(纸本)9781848824331
A Concise Introduction to Computation Models and Computability Theory provides an introduction to the essential concepts in computability, using several models of computation, from the standard Turing Machines and Recursive Functions, to the modern computation models inspired by quantum physics. An in-depth analysis of the basic concepts underlying each model of computation is provided. Divided into two parts, the first highlights the traditional computation models used in the first studies on computability: - Automata and Turing Machines; - Recursive functions and the Lambda-Calculus; - Logic-based computation models. and the second part covers object-oriented and interaction-based models. There is also a chapter on concurrency, and a final chapter on emergent computation models inspired by quantum mechanics. At the end of each chapter there is a discussion on the use of computation models in the design of programming languages.
This easy-to-follow textbook is the second of 3 volumes which provide a modern, algorithmic introduction to digital image processing, designed to be used both by learners desiring a firm foundation on which to build, ...
ISBN:
(数字)9781848001954
ISBN:
(纸本)9781848001947
This easy-to-follow textbook is the second of 3 volumes which provide a modern, algorithmic introduction to digital image processing, designed to be used both by learners desiring a firm foundation on which to build, and practitioners in search of critical analysis and modern implementations of the most important techniques. It extends the introductory material presented in the first volume (Fundamental Techniques) with additional techniques that form part of the standard image processing toolbox. The textbook presents a critical selection of algorithms, illustrated explanations and concise mathematical derivations, for readers to gain a deeper understanding of the topic. It also encourages the reader to actively construct and experiment with the algorithms to develop their understanding for how to use these methods in the real world. This reader-friendly text will equip undergraduates with a deeper understanding of the topic as well as being valuable for further developing knowledge for self-study.
暂无评论