- Table View
- List View
Concise Encyclopedia of Coding Theory
by W. Cary HuffmanMost coding theory experts date the origin of the subject with the 1948 publication of A Mathematical Theory of Communication by Claude Shannon. Since then, coding theory has grown into a discipline with many practical applications (antennas, networks, memories), requiring various mathematical techniques, from commutative algebra, to semi-definite programming, to algebraic geometry. Most topics covered in the Concise Encyclopedia of Coding Theory are presented in short sections at an introductory level and progress from basic to advanced level, with definitions, examples, and many references. The book is divided into three parts: Part I fundamentals: cyclic codes, skew cyclic codes, quasi-cyclic codes, self-dual codes, codes and designs, codes over rings, convolutional codes, performance bounds Part II families: AG codes, group algebra codes, few-weight codes, Boolean function codes, codes over graphs Part III applications: alternative metrics, algorithmic techniques, interpolation decoding, pseudo-random sequences, lattices, quantum coding, space-time codes, network coding, distributed storage, secret-sharing, and code-based-cryptography. Features Suitable for students and researchers in a wide range of mathematical disciplines Contains many examples and references Most topics take the reader to the frontiers of research
The Concise Focal Encyclopedia of Photography: From the First Photo on Paper to the Digital Revolution
by Michael R. Peres Mark Osterman Grant B. R Omer Nancy M. Stuart J. Tomas LopezDefining photography is impossible. Revealing it is another matter, and that's what The Concise Focal Encyclopedia of Photography does,with each turn of the page.History: The technical origins and evolution of photography are half of the story. The other half consists of the ways that cultural forces have transformed photography into a constellation of practices more diverse than any other mode of representation. Photographers can tell a more in-depth story through a photo like Dorothea Lange's "Migrant Mother" than a journalist ever could with the written word alone.Major themes and practitioners: Over 25 entries, many with supporting illustrations,examine the figures, trends, and ideas that have contributed most heavily to the history and current state of photography.Contemporary issues: The issues influencing photography today are more complex than at any other time in its history. Questions of ethics, desire, perception, digitization, and commercialization all vie for attention. Hear what the experts have to say about crucialissues such as whether or not the images we take today will last the test of time, and if so, how?When material is covered this skillfully, "concise" is no compromise. The Concise Focal Encyclopedia of Photography is packed with useful information, compellingideas, and - best of all - pure pleasure.
Concise Guide to Computation Theory
by Akira MaruokaThis textbook presents a thorough foundation to the theory of computation. Combining intuitive descriptions and illustrations with rigorous arguments and detailed proofs for key topics, the logically structured discussion guides the reader through the core concepts of automata and languages, computability, and complexity of computation. Topics and features: presents a detailed introduction to the theory of computation, complete with concise explanations of the mathematical prerequisites; provides end-of-chapter problems with solutions, in addition to chapter-opening summaries and numerous examples and definitions throughout the text; draws upon the author's extensive teaching experience and broad research interests; discusses finite automata, context-free languages, and pushdown automata; examines the concept, universality and limitations of the Turing machine; investigates computational complexity based on Turing machines and Boolean circuits, as well as the notion of NP-completeness.
Concise Guide to Computing Foundations: Core Concepts and Select Scientific Applications
by Kevin Brewer Cathy BareissThis book will help future scientists to become more intelligent users of computing technology in their practice of science. The content is suitable for introductory courses on the foundations of computing and the specific application of computers in different areas of science. The text presents a set of modules for use in existing science courses in order to integrate individual aspects of computational thinking, as well as a set of modules introducing the computer science concepts needed to understand the computing involved. These modules guide science students in their independent learning. The book covers computing applications in such diverse areas as bioinformatics, cladistics, chemical kinetics, molecular modeling, geographic information systems, flow analysis, the solving of equations, curve fitting, optimization, and scientific data acquisition. The computing topics covered include simulations, errors, data representation, algorithms, XMS, compression, databases, performance, and complexity.
Concise Guide to Databases: A Practical Introduction (Undergraduate Topics in Computer Science)
by Paul Crowther Peter LakeThis easy-to-read textbook/reference presents a comprehensive introduction to databases, opening with a concise history of databases and of data as an organisational asset. As relational database management systems are no longer the only database solution, the book takes a wider view of database technology, encompassing big data, NoSQL, object and object-relational and in-memory databases. The text also examines the issues of scalability, availability, performance and security encountered when building and running a database in the real world. Topics and features: presents review and discussion questions at the end of each chapter, in addition to skill-building, hands-on exercises; introduces the fundamental concepts and technologies in database systems, placing these in an historic context; describes the challenges faced by database professionals; reviews the use of a variety of database types in business environments; discusses areas for further research within this fast-moving domain.
Concise Guide to Formal Methods
by Gerard O'ReganThis 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 Aristotle’s syllogistic logic and the logic of the Stoics, through Boole’s symbolic logic, to Frege’s 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 Dijkstra’s calculus of weakest preconditions, Hoare’s 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 computer science and mathematics curious as to how formal methods are applied to the field of computing.
Concise Guide to Numerical Algorithmics: The Foundations and Spirit of Scientific Computing (SpringerBriefs in Computer Science)
by John Lawrence NazarethNumerical Algorithmic Science and Engineering (NAS&E), or more compactly, Numerical Algorithmics, is the theoretical and empirical study and the practical implementation and application of algorithms for solving finite-dimensional problems of a numeric nature. The variables of such problems are either discrete-valued, or continuous over the reals, or, and as is often the case, a combination of the two, and they may or may not have an underlying network/graph structure. This re-emerging discipline of numerical algorithmics within computer science is the counterpart of the now well-established discipline of numerical analysis within mathematics, where the latter’s emphasis is on infinite-dimensional, continuous numerical problems and their finite-dimensional, continuous approximates. A discussion of the underlying rationale for numerical algorithmics, its foundational models of computation, its organizational details, and its role, in conjunction with numerical analysis, in support of the modern modus operandi of scientific computing, or computational science & engineering, is the primary focus of this short monograph. It comprises six chapters, each with its own bibliography. Chapters 2, 3 and 6 present the book’s primary content. Chapters 1, 4, and 5 are briefer, and they provide contextual material for the three primary chapters and smooth the transition between them. Mathematical formalism has been kept to a minimum, and, whenever possible, visual and verbal forms of presentation are employed and the discussion enlivened through the use of motivating quotations and illustrative examples. The reader is expected to have a working knowledge of the basics of computer science, an exposure to basic linear algebra and calculus (and perhaps some real analysis), and an understanding of elementary mathematical concepts such as convexity of sets and functions, networks and graphs, and so on. Although this book is not suitable for use as the principal textbook for a course on numerical algorithmics (NAS&E), it will be of value as a supplementary reference for a variety of courses. It can also serve as the primary text for a research seminar. And it can be recommended for self-study of the foundations and organization of NAS&E to graduate and advanced undergraduate students with sufficient mathematical maturity and a background in computing. When departments of computer science were first created within universities worldwide during the middle of the twentieth century, numerical analysis was an important part of the curriculum. Its role within the discipline of computer science has greatly diminished over time, if not vanished altogether, and specialists in that area are now to be found mainly within other fields, in particular, mathematics and the physical sciences. A central concern of this monograph is the regrettable, downward trajectory of numerical analysis within computer science and how it can be arrested and suitably reconstituted. Resorting to a biblical metaphor, numerical algorithmics (NAS&E) as envisioned herein is neither old wine in new bottles, nor new wine in old bottles, but rather this re-emerging discipline is a decantation of an age-old vintage that can hopefully find its proper place within the larger arena of computer science, and at what appears now to be an opportune time.
Concise Guide to Optimization Models and Methods: A Problem-Based Test Prep for Students
by Xian Wen NgThis concise text contains the most commonly-encountered examination problems in the topic of Optimization Models and Methods, an important module in engineering and other disciplines where there exists an increasing need to operate optimally and sustainably under constraints, such as tighter resource availability, environmental consideration, and cost pressures. This book is comprehensive in coverage as it includes a diverse spectrum of problems from numerical open-ended questions that probe creative thinking to the relation of concepts to realistic settings. The book adopts many examples of design scenarios as context for curating sample problems. This will help students relate desktop problem-solving to tackling real-world problems. Succinct yet rigorous, with over a 100 pages of problems and corresponding worked solutions presented in detail, the book is ideal for students of engineering, applied science, and market analysis.
Concise Guide to Quantum Computing: Algorithms, Exercises, and Implementations (Texts in Computer Science)
by Sergei Kurgalin Sergei BorzunovThis textbook is intended for practical, laboratory sessions associated with the course of quantum computing and quantum algorithms, as well as for self-study. It contains basic theoretical concepts and methods for solving basic types of problems and gives an overview of basic qubit operations, entangled states, quantum circuits, implementing functions, quantum Fourier transform, phase estimation, etc. The book serves as a basis for the application of new information technologies in education and corporate technical training: theoretical material and examples of practical problems, as well as exercises with, in most cases, detailed solutions, have relation to information technologies. A large number of detailed examples serve to better develop professional competencies in computer science.
Concise Guide to Software Engineering
by Gerard O'ReganThis 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 computer science 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.
Concise Guide to Software Engineering: From Fundamentals to Application Methods (Undergraduate Topics in Computer Science)
by Gerard O'ReganThis 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 computer science 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.
Concise Guide to Software Testing (Undergraduate Topics in Computer Science)
by Gerard O'ReganThis practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment.Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book.This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.
Concise Guide to Software Verification: From Model Checking to Annotation Checking (Texts in Computer Science)
by Marieke Huisman Anton WijsThis textbook overviews the whole spectrum of formal methods and techniques that are aimed at verifying correctness of software, and how they can be used in practice. It focuses on techniques whereby the user has some control over the properties that are being checked. More specifically, it shows a wide range of techniques covering the whole spectrum: from abstract system design to implementation, from bug finding to full proofs, and from techniques that are push-button by design and give a yes/no answer to techniques that require the user to provide explicit guidance to steer the analysis process.Topics and features:Covers a broad spectrum of software verification techniques, from model checking to annotation checkingProvides numerous examples to demonstrate the techniquesFocuses on how techniques can be used (and the main ideas behind how they work), as opposed to how they are implementedExplains strengths and weaknesses of the techniques, providing insight into when to use which technique in practiceThis unique textbook has been written primarily for master’s level students in computer science studying embedded systems and specializing in software technology. The book will also be of interest for students studying cyber security and data science technology, as well as for system or software developers interested in techniques that offer formal guarantees about software.
A Concise Handbook of Business Research: Special Emphasis on Data Analysis Using MS-Excel and R
by Ashish Arya Vishnu Nath Pankaj MadanThis book deals with the basics of Research Methodology (RM) for Business Research and statistical analysis for dealing with data using two software: R (a free statistical analysis environment) and MS-Excel. Apart from the basic concepts of Research Methodology, the book contains an additional chapter on improving academic writing. It contains important details on plagiarism, citation and referencing in MS-Word, and improving project/dissertation writing using free online software. Print edition not for sale in South Asia (India, Sri Lanka, Nepal, Bangladesh, Pakistan or Bhutan)
A Concise Introduction to Data Structures using Java (Chapman And Hall/crc Textbooks In Computing Ser. #11)
by Mark J. JohnsonA student-friendly text, A Concise Introduction to Data Structures Using Java takes a developmental approach, starting with simpler concepts first and then building toward greater complexity. Important topics, such as linked lists, are introduced gradually and revisited with increasing depth. More code and guidance are provided at the beginning, al
A Concise Introduction to Hypercomplex Fractals
by Andrzej KatuninThis book presents concisely the full story on complex and hypercomplex fractals, starting from the very first steps in complex dynamics and resulting complex fractal sets, through the generalizations of Julia and Mandelbrot sets on a complex plane and the Holy Grail of the fractal geometry – a 3D Mandelbrot set, and ending with hypercomplex, multicomplex and multihypercomplex fractal sets which are still under consideration of scientists. I tried to write this book in a possibly simple way in order to make it understandable to most people whose math knowledge covers the fundamentals of complex numbers only. Moreover, the book is full of illustrations of generated fractals and stories concerned with great mathematicians, number spaces and related fractals. In the most cases only information required for proper understanding of a nature of a given vector space or a construction of a given fractal set is provided, nevertheless a more advanced reader may treat this book as a fundamental compendium on hypercomplex fractals with references to purely scientific issues like dynamics and stability of hypercomplex systems.
A Concise Introduction to Image Processing using C++ (Chapman & Hall/CRC Numerical Analysis and Scientific Computing Series)
by null Meiqing Wang null Choi-Hong LaiImage recognition has become an increasingly dynamic field with new and emerging civil and military applications in security, exploration, and robotics. Written by experts in fractal-based image and video compression, A Concise Introduction to Image Processing using C++ strengthens your knowledge of fundamentals principles in image acquisition, conservation, processing, and manipulation, allowing you to easily apply these techniques in real-world problems. The book presents state-of-the-art image processing methodology, including current industrial practices for image compression, image de-noising methods based on partial differential equations (PDEs), and new image compression methods, such as fractal image compression and wavelet compression. It begins with coverage of representation, and then moves on to communications and processing. It concludes with discussions of processing techniques based on image representations and transformations developed in earlier chapters. The accompanying downloadable resources contain code for all algorithms.Suitable as a text for any course on image processing, the book can also be used as a self-study resource for researchers who need a concise and clear view of current image processing methods and coding examples. The authors introduce mathematical concepts with rigor suitable for readers with some background in calculus, algebra, geometry, and PDEs. All algorithms described are illustrated with code implementation and many images compare the results of different methods. The inclusion of C++ implementation code for each algorithm described enables students and practitioners to build up their own analysis tool.
A Concise Introduction to Languages and Machines (Undergraduate Topics in Computer Science)
by Alan P. ParkesA Concise Introduction to Languages, Machines and Logic provides an accessible introduction to three key topics within computer science: formal languages, abstract machines and formal logic. Written in an easy-to-read, informal style, this textbook assumes only a basic knowledge of programming on the part of the reader. The approach is deliberately non-mathematical, and features: - Clear explanations of formal notation and jargon, - Extensive use of examples to illustrate algorithms and proofs, - Pictorial representations of key concepts, - Chapter opening overviews providing an introduction and guidance to each topic, - End-of-chapter exercises and solutions, - Offers an intuitive approach to the topics. This reader-friendly textbook has been written with undergraduates in mind and will be suitable for use on course covering formal languages, formal logic, computability and automata theory. It will also make an excellent supplementary text for courses on algorithm complexity and compilers.
A Concise Introduction to Machine Learning
by A.C. FaulThe emphasis of the book is on the question of Why – only if why an algorithm is successful is understood, can it be properly applied, and the results trusted. Algorithms are often taught side by side without showing the similarities and differences between them. This book addresses the commonalities, and aims to give a thorough and in-depth treatment and develop intuition, while remaining concise. This useful reference should be an essential on the bookshelves of anyone employing machine learning techniques. The author's webpage for the book can be accessed here.
A Concise Introduction to Mathematical Logic (Universitext)
by Wolfgang RautenbergTraditional logic as a part of philosophy is one of the oldest scientific disciplines and can be traced back to the Stoics and to Aristotle. Mathematical logic, however, is a relatively young discipline and arose from the endeavors of Peano, Frege, and others to create a logistic foundation for mathematics. It steadily developed during the twentieth century into a broad discipline with several sub-areas and numerous applications in mathematics, informatics, linguistics and philosophy. This book treats the most important material in a concise and streamlined fashion. The third edition is a thorough and expanded revision of the former. Although the book is intended for use as a graduate text, the first three chapters can easily be read by undergraduates interested in mathematical logic. These initial chapters cover the material for an introductory course on mathematical logic, combined with applications of formalization techniques to set theory. Chapter 3 is partly of descriptive nature, providing a view towards algorithmic decision problems, automated theorem proving, non-standard models including non-standard analysis, and related topics. The remaining chapters contain basic material on logic programming for logicians and computer scientists, model theory, recursion theory, Gödel's Incompleteness Theorems, and applications of mathematical logic. Philosophical and foundational problems of mathematics are discussed throughout the text. Each section of the seven chapters ends with exercises some of which of importance for the text itself. There are hints to most of the exercises in a separate file Solution Hints to the Exercises which is not part of the book but is available from the author's website.
A Concise Introduction to Programming in Python (Chapman And Hall/crc Textbooks In Computing Ser.)
by Mark J. JohnsonSuitable for newcomers to computer science, A Concise Introduction to Programming in Python provides a succinct, yet complete, first course in computer science using the Python programming language. The book features:Short, modular chapters with brief and precise explanations, intended for one class periodEarly introduction of basic procedural cons
A Concise Introduction to Programming in Python (Chapman & Hall/CRC Textbooks in Computing #12)
by Mark J. JohnsonA Concise Introduction to Programming in Python, Second Edition provides a hands-on and accessible introduction to writing software in Python, with no prior programming experience required. The Second Edition was thoroughly reorganized and rewritten based on classroom experience to incorporate: A spiral approach, starting with turtle graphics, and then revisiting concepts in greater depth using numeric, textual, and image data Clear, concise explanations written for beginning students, emphasizing core principles A variety of accessible examples, focusing on key concepts Diagrams to help visualize new concepts New sections on recursion and exception handling, as well as an earlier introduction of lists, based on instructor feedback The text offers sections designed for approximately one class period each, and proceeds gradually from procedural to object-oriented design. Examples, exercises, and projects are included from diverse application domains, including finance, biology, image processing, and textual analysis. It also includes a brief "How-To" sections that introduce optional topics students may be interested in exploring. The text is written to be read, making it a good fit in flipped classrooms. Designed for either classroom use or self-study, all example programs and solutions to odd-numbered exercises (except for projects) are available at: http://www.central.edu/go/conciseintro/.
A Concise Introduction to Robot Programming with ROS2
by Francisco Martín RicoA Concise Introduction to Robot Programming with ROS2 provides the reader with the concepts and tools necessary to bring a robot to life through programming. It will equip the reader with the skills necessary to undertake projects with ROS2, the new version of ROS. It is not necessary to have previous experience with ROS2 as it will describe its concepts, tools, and methodologies from the beginning. Key Features Uses the two programming languages officially supported in ROS2 (C++, mainly, and Python) Approaches ROS2 from three different but complementary dimensions: the Community, Computation Graph, and the Workspace Includes a complete simulated robot, development and testing strategies, Behavior Trees, and Nav2 description, setup, and use A GitHub repository with code to assist readers It will appeal to motivated engineering students, engineers, and professionals working with robot programming.
A Concise Introduction to Scientific Visualization: Past, Present, and Future
by Brad Eric Hollister Alex PangScientific visualization has always been an integral part of discovery, starting first with simplified drawings of the pre-Enlightenment and progressing to present day. Mathematical formalism often supersedes visual methods, but their use is at the core of the mental process. As historical examples, a spatial description of flow led to electromagnetic theory, and without visualization of crystals, structural chemistry would not exist. With the advent of computer graphics technology, visualization has become a driving force in modern computing. A Concise Introduction to Scientific Visualization – Past, Present, and Future serves as a primer to visualization without assuming prior knowledge. It discusses both the history of visualization in scientific endeavour, and how scientific visualization is currently shaping the progress of science as a multi-disciplinary domain.