This clearly written textbook provides an accessible introduction to the three programming paradigms of object-oriented/imperative, functional, and logic programming. Highly interactive in style, the text encourages l...
ISBN:
(数字)9783319707907
ISBN:
(纸本)9783319707891
This clearly written textbook provides an accessible introduction to the three programming paradigms of object-oriented/imperative, functional, and logic programming. Highly interactive in style, the text encourages learning through practice, offering test exercises for each topic covered. Review questions and programming projects are also presented, to help reinforce the concepts outside of the classroom. This updated and revised new edition features new material on the Java implementation of the JCoCo virtual machine. topics and features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; presents an historical perspective on the models of computation used in implementing the programming languages used today; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; illustrates how programs execute at the level of assembly language, through the implementation of a stack-based Python virtual machine called JCoCo and a Python disassembler; introduces object-oriented languages through examples in Java, functional programming with Standard ML, and programming using the logic language Prolog; describes a case study involving the development of a compiler for the high level functional language Small, a robust subset of Standard ML. undergraduate students of computerscience will find this engaging textbook to be an invaluable guide to the skills and tools needed to become a better programmer. While the text assumes some background in an imperative language, and prior coverage of the basics of data structures, the hands-on approach and easy to follow writing style will enable the reader to quickly grasp the essentials of programming languages, frameworks, and architectures.
The full source code for the examples provided in this book aims to encourage innovation and experimentation by a readership that will gain much from the first publication of its kind based on F#. It also covers desig...
ISBN:
(数字)9783319607894
ISBN:
(纸本)9783319607887
The full source code for the examples provided in this book aims to encourage innovation and experimentation by a readership that will gain much from the first publication of its kind based on F#. It also covers design and other aspects of Java and C#.
This essential textbook presents a concise introduction to the fundamental principles of software engineering, together with practical guidance on how to apply the theory in a real-world, industrial environment. The w...
ISBN:
(数字)9783319577500
ISBN:
(纸本)9783319577494
This essential textbook presents a concise introduction to the fundamental principles of software engineering, together with practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality. topics and features: presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering; examines the areas of requirements engineering, software configuration management, software inspections, software testing, software quality assurance, and process quality; covers topics on software metrics and problem solving, software reliability and dependability, and software design and development, including Agile approaches; explains formal methods, a set of mathematical techniques to specify and derive a program from its specification, introducing the Z specification language; discusses software process improvement, describing the CMMI model, and introduces UML, a visual modelling language for software systems; reviews a range of tools to support various activities in software engineering, and offers advice on the selection and management of a software supplier; describes such innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems; includes key learning topics, summaries and review questions in each chapter, together with a useful glossary. This practical and easy-to-follow textbook/reference is ideal for computerscience students seeking to learn how to build high quality and reliable software on time and on budget. The text also serves as a self-study primer for software engineers, quality professionals, and software managers.
This reader-friendly textbook presents a concise and easy to follow introduction to Scala. Scala is an ideal first programming language, which permits programming in multiple paradigms, and enables developers to be mo...
ISBN:
(数字)9783319693682
ISBN:
(纸本)9783319693675
This reader-friendly textbook presents a concise and easy to follow introduction to Scala. Scala is an ideal first programming language, which permits programming in multiple paradigms, and enables developers to be more productive with modern computing infrastructures such as distributed environments. topics and features: provides review questions and problem-solving exercises (with solutions) in each chapter, inspired by real-world applications; addresses each topic in a self-contained manner, highlighting how Scala can be evolved and grown according to the developers needs; presents examples from a broad range of different application domains, including consumer electronics, online payment, retail, vehicle manufacturing, and healthcare; encourages an innovation-oriented mind-set, and the development of practical, saleable skills; draws from the authors extensive experience in industrial software development, academic research, and university teaching. This accessible and hands-on guide will embolden professional software engineers to make the switch to Scala. Instructors teaching introductory programming courses will also find this textbook popular among their students.
This textbook offers undergraduate students an introduction to the main principles and some of the most popular techniques that constitute software quality assurance. The book seeks to engage students by placing an em...
ISBN:
(数字)9783319648224
ISBN:
(纸本)9783319648217
This textbook offers undergraduate students an introduction to the main principles and some of the most popular techniques that constitute software quality assurance. The book seeks to engage students by placing an emphasis on the underlying foundations of modern quality-assurance techniques, using these to highlight why techniques work, as opposed to merely focussing on how they work. In doing so it provides readers with a comprehensive understanding of where software quality fits into the development lifecycle (spoiler: everywhere), and what the key quality assurance activities are. The book focuses on quality assurance in a way that typical, more generic software engineering reference books do not. It is structured so that it can (and should) be read from cover to cover throughout the course of a typical university module. Specifically, it is Concise: it is small enough to be readable in its entirety over the course of a typical software engineering module. Explanatory: topics are discussed not merely in terms of what they are, but also why they are the way they are what events, technologies, and individuals or organisations helped to shape them into what they are now. Applied: topics are covered with a view to giving the reader a good idea of how they can be applied in practice, and by pointing, where possible, to evidence of their efficacy. The book starts from some of the most general notions (e.g. quality and development process), and gradually homes-in on the more specific activities, assuming knowledge of the basic notions established in prior chapters. Each chapter concludes with a Key Points section, summarising the main issues that have been covered in the chapter. Throughout the book there are exercises that serve to remind readers of relevant parts in the book that have been covered previously, and give them the opportunity to reflect on a particular topic and refer to related references.
This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computerscience or related fields. The text presents techniques for making realistic, though ...
ISBN:
(数字)9783319669663
ISBN:
(纸本)9783319669656
This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computerscience or related fields. The text presents techniques for making realistic, though non-optimizing, compilers for simple programming languages.
This concise and accessible textbook will enable readers to quickly develop the working skills necessary to solve computational problems in a server-based environment, using HTML and PHP. The importance of learning by...
ISBN:
(数字)9783319569734
ISBN:
(纸本)9783319569727
This concise and accessible textbook will enable readers to quickly develop the working skills necessary to solve computational problems in a server-based environment, using HTML and PHP. The importance of learning by example (as opposed to simply learning by copying) is emphasized through extensive use of hands-on exercises and examples, with a specific focus on useful science and engineering applications. The clearly-written text is designed to be simple to follow for the novice student, without requiring any background in programming or mathematics beyond algebra. topics and features: describes the creation of HTML pages and the characteristics of HTML documents, showing how to use HTML tables, forms, lists, and frames to organize documents for use with PHP applications; explains how to set up a PHP environment, using a local or remote server; introduces the capabilities and syntax of the PHP language, including coverage of array syntax and use; examines user-defined functions in programming, summarizing PHP functions for reading and writing files, viewing the content of variables, and manipulating strings; reviews the PHP GD graphics library, presenting applications for creating pie charts, bar graphs, and line graphs suitable for displaying scientific data; includes appendices listing HTML and ASCII special characters, and highlighting the essential basic strategies for solving computational problems. Supplying all of the tools necessary to begin coding in HTML and PHP, this invaluable textbook is ideal for undergraduate students taking introductory courses in programming. The book will also serve as a helpful self-study text for professionals in any technical field.
This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. topics and fe...
ISBN:
(数字)9783319640211
ISBN:
(纸本)9783319640204
This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. topics and features: introduces the key concepts in software engineering, software reliability and dependability, formal methods, and discrete mathematics; presents a short history of logic, from Aristotles syllogistic logic and the logic of the Stoics, through Booles symbolic logic, to Freges work on predicate logic; covers propositional and predicate logic, as well as more advanced topics such as fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI; examines the Z specification language, the Vienna Development Method (VDM) and Irish School of VDM, and the unified modelling language (UML); discusses Dijkstras calculus of weakest preconditions, Hoares axiomatic semantics of programming languages, and the classical approach of Parnas and his tabular expressions; provides coverage of automata theory, probability and statistics, model checking, and the nature of proof and theorem proving; reviews a selection of tools available to support the formal methodist, and considers the transfer of formal methods to industry; includes review questions and highlights key topics in every chapter, and supplies a helpful glossary at the end of the book. This stimulating guide provides a broad and accessible overview of formal methods for students of computerscience and mathematics curious as to how formal methods are applied to the field of computing.
This accessible and classroom-tested textbook/reference presents an introduction to the fundamentals of the emerging and interdisciplinary field of data science. The coverage spans key concepts adopted from statistics...
详细信息
ISBN:
(数字)9783319500171
ISBN:
(纸本)9783319500164
This accessible and classroom-tested textbook/reference presents an introduction to the fundamentals of the emerging and interdisciplinary field of data science. 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. topics and features: provides numerous practical case studies using real-world data throughout the book; supports understanding through hands-on experience of solving data science problems using Python; describes techniques and tools for statistical analysis, machine learning, graph analysis, and parallel programming; reviews a range of applications of data science, including recommender systems and sentiment analysis of text data; provides supplementary code resources and data at an associated website.
暂无评论