Gør som tusindvis af andre bogelskere
Tilmeld dig nyhedsbrevet og få gode tilbud og inspiration til din næste læsning.
Ved tilmelding accepterer du vores persondatapolitik.Du kan altid afmelde dig igen.
This book provides an undergraduate introduction to analysing data for data science, computer science, and quantitative social science students.
The third edition of this textbook has been fully revised and adds material about the SSA form, polymorphism, garbage collection, and pattern matching. It presents techniques for making realistic compilers for simple to intermediate-complexity programming languages. The techniques presented in the book are close to those used in professional compilers, albeit in places slightly simplified for presentation purposes. "Further reading" sections point to material about the full versions of the techniques.All phases required for translating a high-level language to symbolic machine language are covered, and some techniques for optimising code are presented. Type checking and interpretation are also included.Aiming to be neutral with respect to implementation languages, algorithms are mostly presented in pseudo code rather than in any specific language, but suggestions are in many places given for how these can be realised in different language paradigms.Depending on how much of the material from the book is used, it is suitable for both undergraduate and graduate courses for introducing compiler design and implementation.
A strong mathematical foundation of the logical engines available in modern proof assistants, such as the PVS verification system, is essential for computer scientists, mathematicians and engineers to increment their capabilities to provide formal proofs of theorems and to certify the robustness of software and hardware systems.
This book presents a systematic model-based approach for software architecture according to three complementary viewpoints: structure, behavior, and execution. It covers a unified modeling approach and consolidates theory and practice with well-established learning outcomes. The authors cover the fundamentals of software architecture description and presents SysADL, a specialization of the OMG Standard Systems Modeling Language (SysML) with the aim of bringing together the expressive power of an Architecture Description Language (ADL) with a standard notation, widely accepted by industry and compliant with the ISO/IEC/IEEE 42010 Standard on Architecture Description in Systems and Software Engineering.The book is clearly structured in four parts:The first part focuses on the fundamentals of software architecture, exploring the concepts and constructs for modeling software architecture from differing viewpoints. Each chapter covers a specific viewpoint illustrated with examples of a real system. The second part focuses on how to design software architecture for achieving quality attributes. Each chapter covers a specific quality attribute and presents well-defined approaches to achieve it. Each architectural case study is illustrated with different examples drawn from a real-life system.The third part shows readers how to apply software architecture style to design architectures that meet the quality attributes. Each chapter covers a specific architectural style and gives insights on how to describe substyles. Each style is illustrated by variants and examples of a real-life system.The fourth part presents how to textually represent software architecture models to complement visual notation, including different examples. Software Architecture in Action is designed for teaching the required modeling techniques to both undergraduate andgraduate students, giving them the practical techniques and tools needed to design the architecture of software-intensive systems. Similarly, this book will appeal to software development architects, designers, programmers and project managers too.
This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. It focuses on two approaches: the Coq proof assistant and the B suite.
This easy-to-follow textbook provides a modern, algorithmic introduction to digital image processing. It concentrates on practical applications and working implementations whilst also presenting important formal details and the necessary mathematics.
This textbook is the third of three 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 concrete implementations of the most important techniques.
Designed for interactive learning both inside and outside of the classroom, each programming paradigm is highlighted through the implementation of a non-trivial programming language, demonstrating when each language may be appropriate for a given problem.
This textbook presents a detailed introduction to the essentials of networking and communications technologies. discusses networking models and standards, local area and wide area networks, network protocols, TCP/IP-based networks, network management and wireless communications;
Programming Languages is a self-contained approach to the topic, and differentiates between the design, implementation and pragmatic aspects of programming languages overall. The main programming paradigms are presented, in a straightforward way.
This classroom-tested textbook provides an accessible introduction to the design, formal modeling, and analysis of distributed computer systems.
This clearly written textbook presents an accessible introduction to discrete mathematics for computer science students, offering the reader an enjoyable and stimulating path to improve their programming competence. The text empowers students to think critically, to be effective problem solvers, to integrate theory and practice, and to recognize the importance of abstraction. Its motivational and interactive style provokes a conversation with the reader through a questioning commentary, and supplies detailed walkthroughs of several algorithms.This updated and enhanced new edition also includes new material on directed graphs, and on drawing and coloring graphs, in addition to more than 100 new exercises (with solutions to selected exercises).Topics and features: assumes no prior mathematical knowledge, and discusses concepts in programming as and when they are needed; designed for both classroom use and self-study, presenting modular and self-contained chapters that follow ACM curriculum recommendations; describes mathematical processes in an algorithmic manner, often supported by a walkthrough demonstrating how the algorithm performs the desired task; includes an extensive set of exercises throughout the text, together with numerous examples, and shaded boxes highlighting key concepts; selects examples that demonstrate a practical use for the concept in question.Students embarking on the start of their studies of computer science will find this book to be an easy-to-understand and fun-to-read primer, ideal for use in a mathematics course taken concurrently with their first programming course.
This accessible textbook supports a foundation or module course on A.I., covering a broad selection of the subdisciplines within this field. It provides study exercises at the end of each chapter, plus examples, definitions, theorems, and illustrations.
Tracing the story of computing from Babylonian counting boards to smartphones, this inspiring textbook provides a concise overview of the key events in the history of computing, together with discussion exercises to stimulate deeper investigation into this fascinating area.
Programming language analysis and translation techniques are used in many software application areas.A Practical Approach to Compiler Construction covers the fundamental principles of the subject in an accessible way.
reviews the basic image processing methods for segmenting or enhancing certain features in an image, with a focus on morphology methods for binary images; describes how to change the geometry within an image, how to align two images so that they are as similar as possible, and how to detect lines and paths in images;
The other describes how to compile a C subset to real (x86) hardware, as a smooth extension of the previously presented compilers.The examples present several interpreters and compilers for toy languages, including compilers for a small but usable subset of C, abstract machines, a garbage collector, and ML-style polymorphic type inference.
The updated and expanded 4th edition of this book explores mathematical techniques and problem-solving strategies for computer games, animation, virtual reality, CAD and other areas of computer graphics. Includes 120 worked examples and some 270 illustrations.
This book provides a concise introduction to Pervasive Computing, otherwise known as Internet of Things (IoT) and Ubiquitous Computing (Ubicomp) which addresses the seamless integration of computing systems within everyday objects.
This is the second volume of a book series that provides a modern, algori- mic introduction to digital image processing. This second volume, titled Core Algorithms, extends the introductory - terial presented in the ?rst volume (Fundamental Techniques) with additional techniques that are, nevertheless, part of the standard image processing to- box.
Features: provides an introduction to the basic notation and mathematical concepts for describing an image and the key concepts for mapping an image into an image; explains the topologic and geometric basics for analysing image regions and distributions of image values and discusses identifying patterns in an image;
The coverage spans key concepts adopted from statistics and machine learning, useful techniques for graph analysis and parallel programming, and the practical application of data science for such tasks as building recommender systems or performing sentiment analysis.
This engaging text presents the fundamental mathematics and modelling techniques for computing systems in a novel and light-hearted way, which can be easily followed by students at the very beginning of their university education.
This book provides a needed introductory presentation of the fundamental ideas behind these approaches, stresses their relationship by formulating and proving the relevant theorems, and illustrates the applications of semantics in computer science.
After a brief explanation of why modeling is an indispensable part of software development, the authors introduce the individual diagram types of UML (the class and object diagram, the sequence diagram, the state machine diagram, the activity diagram, and the use case diagram), as well as their interrelationships, in a step-by-step manner.
Tilmeld dig nyhedsbrevet og få gode tilbud og inspiration til din næste læsning.
Ved tilmelding accepterer du vores persondatapolitik.