![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming
While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined ideally there exist complete precise descriptions of the source and target languages. Additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available. This book deals with the analysis phase of translators for programming languages. It describes lexical, syntactic and semantic analysis, specification mechanisms for these tasks from the theory of formal languages, and methods for automatic generation based on the theory of automata. The authors present a conceptual translation structure, i.e., a division into a set of modules, which transform an input program into a sequence of steps in a machine program, and they then describe the interfaces between the modules. Finally, the structures of real translators are outlined. The book contains the necessary theory and advice for implementation. This book is intended for students of computer science. The book is supported throughout with examples, exercises and program fragments. "
These are my lecture notes from CS681: Design and Analysis of Algo rithms, a one-semester graduate course I taught at Cornell for three consec utive fall semesters from '88 to '90. The course serves a dual purpose: to cover core material in algorithms for graduate students in computer science preparing for their PhD qualifying exams, and to introduce theory students to some advanced topics in the design and analysis of algorithms. The material is thus a mixture of core and advanced topics. At first I meant these notes to supplement and not supplant a textbook, but over the three years they gradually took on a life of their own. In addition to the notes, I depended heavily on the texts * A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms. Addison-Wesley, 1975. * M. R. Garey and D. S. Johnson, Computers and Intractibility: A Guide to the Theory of NP-Completeness. w. H. Freeman, 1979. * R. E. Tarjan, Data Structures and Network Algorithms. SIAM Regional Conference Series in Applied Mathematics 44, 1983. and still recommend them as excellent references.
Secure two-party computation, called secure function evaluation (SFE), enables two mutually mistrusting parties, the client and server, to evaluate an arbitrary function on their respective private inputs while revealing nothing but the result. Originally the technique was considered to be too inefficient for practical privacy-preserving applications, but in recent years rapid speed-up in computers and communication networks, algorithmic improvements, automatic generation, and optimizations have enabled their application in many scenarios. The author offers an extensive overview of the most practical and efficient modern techniques used in the design and implementation of secure computation and related protocols. After an introduction that sets secure computation in its larger context of other privacy-enhancing technologies such as secure channels and trusted computing, he covers the basics of practically efficient secure function evaluation, circuit optimizations and constructions, hardware-assisted garbled circuit protocols, and the modular design of efficient SFE protocols. The goal of the author's research is to use algorithm engineering methods to engineer efficient secure protocols, both as a generic tool and for solving practical applications, and he achieves an excellent balance between the theory and applicability. The book is essential for researchers, students and practitioners in the area of applied cryptography and information security who aim to construct practical cryptographic protocols for privacy-preserving real-world applications.
Describing a new optimization algorithm, the "Teaching-Learning-Based Optimization (TLBO)," in a clear and lucid style, this book maximizes reader insights into how the TLBO algorithm can be used to solve continuous and discrete optimization problems involving single or multiple objectives. As the algorithm operates on the principle of teaching and learning, where teachers influence the quality of learners' results, the elitist version of TLBO algorithm (ETLBO) is described along with applications of the TLBO algorithm in the fields of electrical engineering, mechanical design, thermal engineering, manufacturing engineering, civil engineering, structural engineering, computer engineering, electronics engineering, physics and biotechnology. The book offers a valuable resource for scientists, engineers and practitioners involved in the development and usage of advanced optimization algorithms.
Coding For Dummies, (9781119293323) was previously published as Coding For Dummies, (9781118951309). While this version features a new Dummies cover and design, the content is the same as the prior release and should not be considered a new or updated product. Hands-on exercises help you learn to code like a pro No coding experience is required for Coding For Dummies, your one-stop guide to building a foundation of knowledge in writing computer code for web, application, and software development. It doesn't matter if you've dabbled in coding or never written a line of code, this book guides you through the basics. Using foundational web development languages like HTML, CSS, and JavaScript, it explains in plain English how coding works and why it's needed. Online exercises developed by Codecademy, a leading online code training site, help hone coding skills and demonstrate results as you practice. The site provides an environment where you can try out tutorials built into the text and see the actual output from your coding. You'll also gain access to end-of-chapter challenges to apply newly acquired skills to a less-defined assignment. So what are you waiting for? * The current demand for workers with coding and computer science skills far exceeds the supply * Teaches the foundations of web development languages in an easy-to-understand format * Offers unprecedented opportunities to practice basic coding languages * Readers can access online hands-on exercises and end-of-chapter assessments that develop and test their new-found skills If you're a student looking for an introduction to the basic concepts of coding or a professional looking to add new skills, Coding For Dummies has you covered.
Semantic Web Services for Web Databases introduces an end-to-end framework for querying Web databases using novel Web service querying techniques. This includes a detailed framework for the query infrastructure for Web databases and services. Case studies are covered in the last section of this book. Semantic Web Services For Web Databases is designed for practitioners and researchers focused on service-oriented computing and Web databases.
In Part I, the impact of an integro-differential operator on parity logic engines (PLEs) as a tool for scientific modeling from scratch is presented. Part II outlines the fuzzy structural modeling approach for building new linear and nonlinear dynamical causal forecasting systems in terms of fuzzy cognitive maps (FCMs). Part III introduces the new type of autogenetic algorithms (AGAs) to the field of evolutionary computing. Altogether, these PLEs, FCMs, and AGAs may serve as conceptual and computational power tools.
Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation is devoted to a new paradigm for evolutionary computation, named estimation of distribution algorithms (EDAs). This new class of algorithms generalizes genetic algorithms by replacing the crossover and mutation operators with learning and sampling from the probability distribution of the best individuals of the population at each iteration of the algorithm. Working in such a way, the relationships between the variables involved in the problem domain are explicitly and effectively captured and exploited. This text constitutes the first compilation and review of the techniques and applications of this new tool for performing evolutionary computation. Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation is clearly divided into three parts. Part I is dedicated to the foundations of EDAs. In this part, after introducing some probabilistic graphical models - Bayesian and Gaussian networks - a review of existing EDA approaches is presented, as well as some new methods based on more flexible probabilistic graphical models. A mathematical modeling of discrete EDAs is also presented. Part II covers several applications of EDAs in some classical optimization problems: the travelling salesman problem, the job scheduling problem, and the knapsack problem. EDAs are also applied to the optimization of some well-known combinatorial and continuous functions. Part III presents the application of EDAs to solve some problems that arise in the machine learning field: feature subset selection, feature weighting in K-NN classifiers, rule induction, partial abductive inference in Bayesian networks, partitional clustering, and the search for optimal weights in artificial neural networks. Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation is a useful and interesting tool for researchers working in the field of evolutionary computation and for engineers who face real-world optimization problems. This book may also be used by graduate students and researchers in computer science. ... I urge those who are interested in EDAs to study this well-crafted book today.' David E. Goldberg, University of Illinois Champaign-Urbana.
Putting capability management into practice requires both a solid theoretical foundation and realistic approaches. This book introduces a development methodology that integrates business and information system development and run-time adjustment based on the concept of capability by presenting the main findings of the CaaS project - the Capability-Driven Development (CDD) methodology, the architecture and components of the CDD environment, examples of real-world applications of CDD, and aspects of CDD usage for creating business value and new opportunities. Capability thinking characterizes an organizational mindset, putting capabilities at the center of the business model and information systems development. It is expected to help organizations and in particular digital enterprises to increase flexibility and agility in adapting to changes in their economic and regulatory environments. Capability management denotes the principles of how capability thinking should be implemented in an organization and the organizational means. This book is intended for anyone who wants to explore the opportunities for developing and managing context-dependent business capabilities and the supporting business services. It does not require a detailed understanding of specific development methods and tools, although some background knowledge and experience in information system development is advisable. The individual chapters have been written by leading researchers in the field of information systems development, enterprise modeling and capability management, as well as practitioners and industrial experts from these fields.
Optimization is presented in most multivariable calculus courses as an application of the gradient, and while this treatment makes sense for a calculus course, there is much more to the theory of optimization. Optimization problems are generated constantly, and the theory of optimization has grown and developed in response to the challenges presented by these problems. This textbook aims to show readers how optimization is done in practice and help them to develop an appreciation for the richness of the theory behind the practice. Exercises, problems (including modeling and computational problems), and implementations are incorporated throughout the text to help students learn by doing. Python notes are inserted strategically to help readers complete computational problems and implementations. The Basics of Practical Optimization, Second Edition is intended for undergraduates who have completed multivariable calculus, as well as anyone interested in optimization. The book is appropriate for a course that complements or replaces a standard linear programming course.
Hardware description languages (HDL) such as VHDL and Verilog have found their way into almost every aspect of the design of digital hardware systems. Since their inception they gradually proved to be an essential part of modern design methodologies and design automation tools, ever exceeding their original goals of being description and simulation languages. Their use for automatic synthesis, formal proof, and testing are good examples. So far, HDLs have been mainly dealing with digital systems. However, integrated systems designed today require more and more analog parts such as A/D and D/A converters, phase locked loops, current mirrors, etc. The verification of the complete system therefore asks for the use of a single language. Using VHDL or Verilog to handle analog descriptions is possible, as it is shown in this book, but the real power is coming from true mixed-signal HDLs that integrate discrete and continuous semantics into a unified framework. Analog HDLs (AHDL) are considered here a subset of mixed-signal HDLs as they intend to provide the same level of features as HDLs do but with a scope limited to analog systems, possibly with limited support of discrete semantics. Analog and Mixed-Signal Hardware Description Languages covers several aspects related to analog and mixed-signal hardware description languages including: The use of a digital HDL for the description and the simulation of analog systems The emergence of extensions of existing standard HDLs that provide true analog and mixed-signal HDLs. The use of analog and mixed-signal HDLs for the development of behavioral models of analog (electronic) building blocks (operational amplifier, PLL) and for the design of microsystems that do not only involve electronic parts. The use of a front-end tool that eases the description task with the help of a graphical paradigm, yet generating AHDL descriptions automatically. Analog and Mixed-Signal Hardware Description Languages is the first book to show how to use these new hardware description languages in the design of electronic components and systems. It is necessary reading for researchers and designers working in electronic design.
This book reviews the present understanding of the history of software and establishes an agenda for further research. By exploring this current understanding, the authors identify the fundamental elements of software. The problems and questions addressed in the book range from purely technical to societal issues. Thus, the articles presented offer a fresh view of this history with new categories and interrelated themes, comparing and contrasting software with artefacts in other disciplines, so as to ascertain in what ways software is similar to and different from other technologies.This volume is based on the international conference "Mapping the History of Computing: Software Issues", held in April 2000 at the Heinz Nixdorf Museums Forum in Paderborn, Germany.
Mathematical summary for Digital Signal Processing Applications with Matlab consists of Mathematics which is not usually dealt in the DSP core subject, but used in DSP applications. Matlab programs with illustrations are given for the selective topics such as generation of Multivariate Gaussian distributed sample outcomes, Bacterial foraging algorithm, Newton's iteration, Steepest descent algorithm, etc. are given exclusively in the separate chapter. Also Mathematical summary for Digital Signal Processing Applications with Matlab is written in such a way that it is suitable for Non-Mathematical readers and is very much suitable for the beginners who are doing research in Digital Signal Processing.
As miniaturisation deepens, and nanotechnology and its machines become more prevalent in the real world, the need to consider using quantum mechanical concepts to perform various tasks in computation increases. Such tasks include: the teleporting of information, breaking heretofore "unbreakable" codes, communicating with messages that betray eavesdropping, and the generation of random numbers. This is the first book to apply quantum physics to the basic operations of a computer, representing the ideal vehicle for explaining the complexities of quantum mechanics to students, researchers and computer engineers, alike, as they prepare to design and create the computing and information delivery systems for the future. Both authors have solid backgrounds in the subject matter at the theoretical and more practical level. While serving as a text for senior/grad level students in computer science/physics/engineering, this book has its primary use as an up-to-date reference work in the emerging interdisciplinary field of quantum computing - the only prerequisite being knowledge of calculus and familiarity with the concept of the Turing machine.
Rules represent a simplified means of programming, congruent with our understanding of human brain constructs. With the advent of business rules management systems, it has been possible to introduce rule-based programming to nonprogrammers, allowing them to map expert intent into code in applications such as fraud detection, financial transactions, healthcare, retail, and marketing. However, a remaining concern is the quality, safety, and reliability of the resulting programs. This book is on business rules programs, that is, rule programs as handled in business rules management systems. Its conceptual contribution is to present the foundation for treating business rules as a topic of scientific investigation in semantics and program verification, while its technical contribution is to present an approach to the formal verification of business rules programs. The author proposes a method for proving correctness properties for a business rules program in a compositional way, meaning that the proof of a correctness property for a program is built up from correctness properties for the individual rules-thus bridging a gap between the intuitive understanding of rules and the formal semantics of rule programs. With this approach the author enables rule authors and tool developers to understand, express formally, and prove properties of the execution behavior of business rules programs. This work will be of interest to practitioners and researchers in the areas of program verification, enterprise computing, database management, and artificial intelligence.
This edited book is dedicated to Professor N. U. Ahmed, a leading scholar and a renowned researcher in optimal control and optimization on the occasion of his retirement from the Department of Electrical Engineering at University of Ottawa in 1999. The contributions of this volume are in the areas of optimal control, non linear optimization and optimization applications. They are mainly the im proved and expanded versions of the papers selected from those presented in two special sessions of two international conferences. The first special session is Optimization Methods, which was organized by K. L. Teo and X. Q. Yang for the International Conference on Optimization and Variational Inequality, the City University of Hong Kong, Hong Kong, 1998. The other one is Optimal Control, which was organized byK. Teo and L. Caccetta for the Dynamic Control Congress, Ottawa, 1999. This volume is divided into three parts: Optimal Control; Optimization Methods; and Applications. The Optimal Control part is concerned with com putational methods, modeling and nonlinear systems. Three computational methods for solving optimal control problems are presented: (i) a regularization method for computing ill-conditioned optimal control problems, (ii) penalty function methods that appropriately handle final state equality constraints, and (iii) a multilevel optimization approach for the numerical solution of opti mal control problems. In the fourth paper, the worst-case optimal regulation involving linear time varying systems is formulated as a minimax optimal con trol problem."
Looking back at the years that have passed since the realization of the very first electronic, multi-purpose computers, one observes a tremendous growth in hardware and software performance. Today, researchers and engi neers have access to computing power and software that can solve numerical problems which are not fully understood in terms of existing mathemati cal theory. Thus, computational sciences must in many respects be viewed as experimental disciplines. As a consequence, there is a demand for high quality, flexible software that allows, and even encourages, experimentation with alternative numerical strategies and mathematical models. Extensibil ity is then a key issue; the software must provide an efficient environment for incorporation of new methods and models that will be required in fu ture problem scenarios. The development of such kind of flexible software is a challenging and expensive task. One way to achieve these goals is to in vest much work in the design and implementation of generic software tools which can be used in a wide range of application fields. In order to provide a forum where researchers could present and discuss their contributions to the described development, an International Work shop on Modern Software Tools for Scientific Computing was arranged in Oslo, Norway, September 16-18, 1996. This workshop, informally referred to as Sci Tools '96, was a collaboration between SINTEF Applied Mathe matics and the Departments of Informatics and Mathematics at the Uni versity of Oslo."
What will be the next revolution in software technology to follow XML and generics? Whatever it may be, it is likely to come from functional programming, where many of the key ideas of the last decade originated. In this textbook, the leading researchers of the field take you on a tour of the current hot topics in functional programming, with applications ranging from financial contracts to circuit design. There are also chapters on new idioms for structuring programs, such as monads and arrows. All new concepts are illustrated with many examples, and exercises appear throughout to further enliven the material. Several of the chapters describe a substantial piece of software, and most of these programs are collected on a website for free downloading. This book was edited in honour of Richard S.Bird, Professor of Computer Science at the University of Oxford, on his 60th birthday.
This edited book presents scientific results of the 14th ACIS/IEEE International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2013), held in Honolulu, Hawaii, USA on July 1-3, 2013. The aim of this conference was to bring together scientists, engineers, computer users, and students to share their experiences and exchange new ideas, research results about all aspects (theory, applications and tools) of computer and information science, and to discuss the practical challenges encountered along the way and the solutions adopted to solve them. The conference organizers selected the 17 outstanding papers from those papers accepted for presentation at the conference.
* With this book readers might well be able to build the next Mars Rover. * First book out on Java robotics. * The biggest selling point about this book is that no one else shows readers how to combine the power of their PC with a robust programming language in Java to create exciting robotics. * The book is a great teaching aid (in robotics or software) that establishes a new paradigm for thinking about robotics along with simpler ways to do things, i.e., vs. the old way using microcontrollers.
The launch of Microsoft s Kinect, the first high-resolution depth-sensing camera for the consumer market, generated considerable excitement not only among computer gamers, but also within the global community of computer vision researchers. The potential of consumer depth cameras extends well beyond entertainment and gaming, to real-world commercial applications such virtual fitting rooms, training for athletes, and assistance for the elderly. This authoritative text/reference reviews the scope and impact of this rapidly growing field, describing the most promising Kinect-based research activities, discussing significant current challenges, and showcasing exciting applications. Topics and features: presents contributions from an international selection of preeminent authorities in their fields, from both academic and corporate research; addresses the classic problem of multi-view geometry of how to correlate images from different viewpoints to simultaneously estimate camera poses and world points; examines human pose estimation using video-rate depth images for gaming, motion capture, 3D human body scans, and hand pose recognition for sign language parsing; provides a review of approaches to various recognition problems, including category and instance learning of objects, and human activity recognition; with a Foreword by Dr. Jamie Shotton of Microsoft Research, Cambridge, UK. This broad-ranging overview is a must-read for researchers and graduate students of computer vision and robotics wishing to learn more about the state of the art of this increasingly hot topic."
Constraint Logic Programming (CLP), an area of extreme research interest in recent years, extends the semantics of Prolog in such a way that the combinatorial explosion, a characteristic of most problems in the field of Artificial Intelligence, can be tackled efficiently. By employing solvers dedicated to each domain instead of the unification algorithm, CLP drastically reduces the search space of the problem, which leads to increased efficiency in the execution of logic programs. CLP offers the possibility of solving complex combinatorial problems in an efficient way, and at the same time maintains the advantages offered by the declarativeness of logic programming. The aim of this book is to present parallel and constraint logic programming, offering a basic understanding of the two fields to the reader new to the area. The first part of the book gives an introduction to the fundamental aspects of conventional logic programming which is necessary for understanding the parts that follow. The second part includes an introduction to parallel logic programming, architectures and implementations proposed in the area. Finally, the third part presents the principles of constraint logic programming. The last two parts also include descriptions of the supporting facilities for the two paradigms in two popular systems; ECLIPSe and SICStus. These platforms have been selected mainly because they offer both parallel and constraint features. Annotated and explained examples are also included in the relevant parts, offering a valuable guide and a first practical experience to the reader. Finally, applications of the covered paradigms are presented. The authors felt that a book of this kind should provide some theoretical background necessary for the understanding of the covered logic programming paradigms, and a quick start for the reader interested in writing parallel and constraint logic programming programs. However it is outside the scope of this book to provide a deep theoretical background of the two areas. In that sense, this book is addressed to a public interested in obtaining a knowledge of the domain, without spending the time and effort to understand the extensive theoretical work done in the field &endash; namely postgraduate and advanced undergraduate students in the area of logic programming. This book fills a gap in the current bibliography, since there is no comprehensive book of this level that covers the areas of conventional, parallel, and constraint logic programming. Parallel and Constraint Logic Programming: An Introduction to Logic, Parallelism and Constraints is appropriate for an advanced level course on Logic Programming or Constraints, and as a reference for practitioners and researchers in industry.
It gives me immense pleasure to introduce this timely handbook to the research/- velopment communities in the ?eld of signal processing systems (SPS). This is the ?rst of its kind and represents state-of-the-arts coverage of research in this ?eld. The driving force behind information technologies (IT) hinges critically upon the major advances in both component integration and system integration. The major breakthrough for the former is undoubtedly the invention of IC in the 50's by Jack S. Kilby, the Nobel Prize Laureate in Physics 2000. In an integrated circuit, all components were made of the same semiconductor material. Beginning with the pocket calculator in 1964, there have been many increasingly complex applications followed. In fact, processing gates and memory storage on a chip have since then grown at an exponential rate, following Moore's Law. (Moore himself admitted that Moore's Law had turned out to be more accurate, longer lasting and deeper in impact than he ever imagined. ) With greater device integration, various signal processing systems have been realized for many killer IT applications. Further breakthroughs in computer sciences and Internet technologies have also catalyzed large-scale system integration. All these have led to today's IT revolution which has profound impacts on our lifestyle and overall prospect of humanity. (It is hard to imagine life today without mobiles or Internets ) The success of SPS requires a well-concerted integrated approach from mul- ple disciplines, such as device, design, and application.
The underlying technologies enabling the realization of recent advances in areas like mobile and enterprise computing are artificial intelligence (AI), modeling and simulation, and software engineering. A disciplined, multifaceted, and unified approach to modeling and simulation is now essential in new frontiers, such as Simulation Based Acquisition. This volume is an edited survey of international scientists, academicians, and professionals who present their latest research findings in the various fields of AI; collaborative/distributed computing; and modeling, simulation, and their integration. Whereas some of these areas continue to seek answers to basic fundamental scientific inquiries, new questions have emerged only recently due to advances in computing infrastructures, technologies, and tools. The book¿s principal goal is to provide a unifying forum for developing postmodern, AI-based modeling and simulation environments and their utilization in both traditional and modern application domains. Features and topics: * Blends comprehensive, advanced modeling and simulation theories and methodologies in a presentation founded on formal, system-theoretic and AI-based approaches * Uses detailed, real-world examples to illustrate key concepts in systems theory, modeling, simulation, object orientation, and intelligent systems * Addresses a broad range of critical topics in the areas of modeling frameworks, distributed and high-performance object-oriented simulation approaches, as well as robotics, learning, multi-scale and multi-resolution models, and multi-agent systems * Includes new results pertaining to intelligent and agent-based modeling, the relationship between AI-based reasoning and Discrete-Event System Specification, and large-scale distributed modeling and simulation frameworks * Provides cross-disciplinary insight into how computer science, computer engineering, and systems engineering can collectively provide a rich set of theories and methods enabling contemporary modeling and simulation This state-of-the-art survey on collaborative/distributed modeling and simulation computing environments is an essential resource for the latest developments and tools in the field for all computer scientists, systems engineers, and software engineers. Professionals, practitioners, and graduate students will find this reference invaluable to their work involving computer simulation, distributed modeling, discrete-event systems, AI, and software engineering. |
![]() ![]() You may like...
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R4,186
Discovery Miles 41 860
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,917
Discovery Miles 19 170
|