![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > General theory of computing > Data structures
Teach Your Students How to Use Computing to Explore Powerful and Creative Ideas In the twenty-first century, computers have become indispensable in music making, distribution, performance, and consumption. Making Music with Computers: Creative Programming in Python introduces important concepts and skills necessary to generate music with computers. It interweaves computing pedagogy with musical concepts and creative activities, showing students how to integrate the creativity and design of the arts with the mathematical rigor and formality of computer science. The book provides an introduction to creative software development in the Python programming language. It uses innovative music-creation activities to illustrate introductory computer programming concepts, including data types, algorithms, operators, iteration, lists, functions, and classes. The authors also cover GUIs, event-driven programming, big data, sonification, MIDI programming, client'server programming, recursion, fractals, and complex system dynamics. Requiring minimal musical or programming experience, the text is designed for courses in introductory computer science and computing in the arts. It helps students learn computer programming in a creative context and understand how to build computer music applications. Also suitable for self-study, the book shows musicians and digital music enthusiasts how to write music software and create algorithmic music compositions. Web ResourceA supplementary website (http://jythonMusic.org) provides a music library and other software resources used in the text. The music library is an extension of the jMusic library and incorporates other cross-platform programming tools. The website also offers example course and associated media resources.
A 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, allowing students time to adapt to Java while also beginning to learn data structures. As students develop fluency in Java, less code is provided and more algorithms are outlined in pseudocode. The text is designed to support a second course in computer science with an emphasis on elementary data structures. The clear, concise explanations encourage students to read and engage with the material, while partial implementations of most data structures give instructors the flexibility to develop some methods as examples and assign others as exercises. The book also supplies an introductory chapter on Java basics that allows students who are unfamiliar with Java to quickly get up to speed. The book helps students become familiar with how to use, design, implement, and analyze data structures, an important step on the path to becoming skilled software developers.
The field of evolutionary computation is expanding dramatically, fueled by the vast investment that reflects the value of applying its techniques. Culling material from the Handbook of Evolutionary Computation, Evolutionary Computation 1: Basic Algorithms and Operators contains up-to-date information on algorithms and operators used in evolutionary computing. This volume discusses the basic ideas that underlie the main paradigms of evolutionary algorithms, evolution strategies, evolutionary programming, and genetic programming. It is intended to be used by individual researchers, teachers, and students working and studying in this expanding field.
In programming courses, using the different syntax of multiple languages, such as C plus plus, Java, PHP, and Python, for the same abstraction often confuses students new to computer science. Introduction to Programming Languages separates programming language concepts from the restraints of multiple language syntax by discussing the concepts at an abstract level. Designed for a one-semester undergraduate course, this classroom-tested book teaches the principles of programming language design and implementation. It presents: Common features of programming languages at an abstract level rather than a comparative level The implementation model and behavior of programming paradigms at abstract levels so that students understand the power and limitations of programming paradigms Language constructs at a paradigm level A holistic view of programming language design and behavior To make the book self-contained, the author introduces the necessary concepts of data structures and discrete structures from the perspective of programming language theory. The text covers classical topics, such as syntax and semantics, imperative programming, program structures, information exchange between subprograms, object-oriented programming, logic programming, and functional programming. It also explores newer topics, including dependency analysis, communicating sequential processes, concurrent programming constructs, web and multimedia programming, event-based programming, agent-based programming, synchronous languages, high-productivity programming on massive parallel computers, models for mobile computing, and much more. Along with problems and further reading in each chapter, the book includes in-depth examples and case studies using various languages that help students understand syntax in practical contexts.
Authors have attempted to create coherent chapters and sections on how the fundamentals of maintenance cost should be organized, to present them in a logical and sequential order. Necessarily, the text starts with importance of maintenance function in the organization and moves to life cycle cost (LCC) considerations followed by the budgeting constraints. In the process, they have intentionally postponed the discussion about intangible costs and downtime costs later on in the book mainly due to the controversial part of it when arguing with managers. The book will be concluding with a short description of a number of sectors where maintenance cost is of critical importance. The goal is to train the readers for a deeper study and understanding of these elements for decision making in maintenance, more specifically in the context of asset management. This book is intended for managers, engineers, researchers, and practitioners, directly or indirectly involved in the area of maintenance. The book is focused to contribute towards better understanding of maintenance cost and use of this knowledge to improve the maintenance process. Key Features: * Emphasis on maintenance cost and life cycle cost especially under uncertainty. * Systematic approach of how cost models can be applied and used in the maintenance field. * Compiles and reviews existing maintenance cost models. * Consequential and direct costs considered. * Comparison of maintenance costs in different sectors, infrastructure, manufacturing, transport.
A Functional Start to Computing with Python enables students to quickly learn computing without having to use loops, variables, and object abstractions at the start. Requiring no prior programming experience, the book draws on Python's flexible data types and operations as well as its capacity for defining new functions. Along with the specifics of Python, the text covers important concepts of computing, including software engineering motivation, algorithms behind syntax rules, advanced functional programming ideas, and, briefly, finite state machines. Taking a student-friendly, interactive approach to teach computing, the book addresses more difficult concepts and abstractions later in the text. The author presents ample explanations of data types, operators, and expressions. He also describes comprehensions the powerful specifications of lists and dictionaries before introducing loops and variables. This approach helps students better understand assignment syntax and iteration by giving them a mental model of sophisticated data first. Web ResourceThe book's supplementary website at http://functionalfirstpython.com/ provides many ancillaries, including: Interactive flashcards on Python language elements Links to extra support for each chapter Unit testing and programming exercises An interactive Python stepper tool Chapter-by-chapter points Material for lectures
Praise for the first edition: "The well-written, comprehensive book [is] aiming to become a de facto reference for the language and its features and capabilities. The pace is appropriate for beginners; programming concepts are introduced progressively through a range of examples and then used as tools for building applications in various domains, including sophisticated data structures and algorithms Highly recommended. Students of all levels, faculty, and professionals/practitioners.D. Papamichail, University of Miami in CHOICE Magazine Mark Lewis Introduction to the Art of Programming Using Scala was the first textbook to use Scala for introductory CS courses. Fully revised and expanded, the new edition of this popular text has been divided into two books. Object-Orientation, Abstraction, and Data Structures Using Scala, Second Edition is intended to be used as a textbook for a second or third semester course in Computer Science. The Scala programming language provides powerful constructs for expressing both object orientation and abstraction. This book provides students with these tools of object orientation to help them structure solutions to larger, more complex problems, and to expand on their knowledge of abstraction so that they can make their code more powerful and flexible. The book also illustrates key concepts through the creation of data structures, showing how data structures can be written, and the strengths and weaknesses of each one. Libraries that provide the functionality needed to do real programming are also explored in the text, including GUIs, multithreading, and networking. The book is filled with end-of-chapter projects and exercises, and the authors have also posted a number of different supplements on the book website. Video lectures for each chapter in the book are also available on YouTube. The videos show constr
Evolutionary Computation 2: Advanced Algorithms and Operators expands upon the basic ideas underlying evolutionary algorithms. The focus is on fitness evaluation, constraint-handling techniques, population structures, advanced techniques in evolutionary computation, and the implementation of evolutionary algorithms. It is intended to be used by individual researchers and students in the expanding field of evolutionary computation.
The TransNav 2011 Symposium held at the Gdynia Maritime University, Poland in June 2011 has brought together a wide range of participants from all over the world. The program has offered a variety of contributions, allowing to look at many aspects of the navigational safety from various different points of view. Topics presented and discussed at the Symposium were: navigation, safety at sea, sea transportation, education of navigators and simulator-based training, sea traffic engineering, ship's manoeuvrability, integrated systems, electronic charts systems, satellite, radio-navigation and anti-collision systems and many others. This book is part of a series of six volumes and provides an overview of Methods and Algorithms in Navigation and is addressed to scientists and professionals involved in research and development of navigation, safety of navigation and sea transportation.
Besides scheduling problems for single and parallel machines and shop scheduling problems, this book covers advanced models involving due-dates, sequence dependent changeover times and batching. Discussion also extends to multiprocessor task scheduling and problems with multi-purpose machines. Among the methods used to solve these problems are linear programming, dynamic programming, branch-and-bound algorithms, and local search heuristics. The text goes on to summarize complexity results for different classes of deterministic scheduling problems.
The application of sophisticated evolutionary computing approaches for solving complex problems with multiple conflicting objectives in science and engineering have increased steadily in the recent years. Within this growing trend, Memetic algorithms are, perhaps, one of the most successful stories, having demonstrated better efficacy in dealing with multi-objective problems as compared to its conventional counterparts. Nonetheless, researchers are only beginning to realize the vast potential of multi-objective Memetic algorithm and there remain many open topics in its design. This book presents a very first comprehensive collection of works, written by leading researchers in the field, and reflects the current state-of-the-art in the theory and practice of multi-objective Memetic algorithms. "Multi-Objective Memetic algorithms" is organized for a wide readership and will be a valuable reference for engineers, researchers, senior undergraduates and graduate students who are interested in the areas of Memetic algorithms and multi-objective optimization.
This book constitutes the refereed proceedings of the 10th IFIP WG 5.5/SOCOLNET Advanced Doctoral Conference on Computing, Electrical and Industrial Systems, DoCEIS 2019, held in Costa de Caparica, Portugal, in May 2019. The 36 revised full papers presented were carefully reviewed and selected from 73 submissions. The papers present selected results produced in engineering doctoral programs and focus on technological innovation for industry and serivce systems. Research results and ongoing work are presented, illustrated and discussed in the following areas: collaborative systems, collaboration and resilient systems, decision and optimization systems, assistive systems, smart environments, smart manufacturing, water monitoring systems, communication systems, and energy systems.
Representation Theory of Symmetric Groups is the most up-to-date abstract algebra book on the subject of symmetric groups and representation theory. Utilizing new research and results, this book can be studied from a combinatorial, algorithmic or algebraic viewpoint. This book is an excellent way of introducing today's students to representation theory of the symmetric groups, namely classical theory. From there, the book explains how the theory can be extended to other related combinatorial algebras like the Iwahori-Hecke algebra. In a clear and concise manner, the author presents the case that most calculations on symmetric group can be performed by utilizing appropriate algebras of functions. Thus, the book explains how some Hopf algebras (symmetric functions and generalizations) can be used to encode most of the combinatorial properties of the representations of symmetric groups. Overall, the book is an innovative introduction to representation theory of symmetric groups for graduate students and researchers seeking new ways of thought.
Presenting a novel biomimetic design method for transferring design solutions from nature to technology, this book focuses on structure-function patterns in nature and advanced modeling tools derived from TRIZ, the theory of inventive problem-solving. The book includes an extensive literature review on biomimicry as an engine of both innovation and sustainability, and discusses in detail the biomimetic design process, current biomimetic design methods and tools. The structural biomimetic design method for innovation and sustainability put forward in this text encompasses (1) the research method and rationale used to develop and validate this new design method; (2) the suggested design algorithm and tools including the Find structure database, structure-function patterns and ideality patterns; and (3) analyses of four case studies describing how to use the proposed method. This book offers an essential resource for designers who wish to use nature as a source of inspiration and knowledge, innovators and sustainability experts, and scientists and researchers, amongst others.
Reservoir operation is a multi-objective optimization problem, and is traditionally solved with dynamic programming (DP) and stochastic dynamic programming (SDP) algorithms. The thesis presents novel algorithms for optimal reservoir operation, named nested DP (nDP), nested SDP (nSDP), nested reinforcement learning (nRL) and their multi-objective (MO) variants, correspondingly MOnDP, MOnSDP and MOnRL. The idea is to include a nested optimization algorithm into each state transition, which reduces the initial problem dimension and alleviates the curse of dimensionality. These algorithms can solve multi-objective optimization problems, without significantly increasing the algorithm complexity or the computational expenses. It can additionally handle dense and irregular variable discretization. All algorithms are coded in Java and were tested on the case study of the Knezevo reservoir in the Republic of Macedonia. Nested optimization algorithms are embedded in a cloud application platform for water resources modeling and optimization. The platform is available 24/7, accessible from everywhere, scalable, distributed, interoperable, and it creates a real-time multiuser collaboration platform. This thesis contributes with new and more powerful algorithms for an optimal reservoir operation and cloud application platform. All source codes are available for public use and can be used by researchers and practitioners to further advance the mentioned areas.
First published in 1987, the seven chapters that comprise this book review contemporary work on the geometric side of robotics. The first chapter defines the fundamental goal of robotics in very broad terms and outlines a research agenda each of whose items constitutes a substantial area for further research. The second chapter presents recently developed techniques that have begun to address the geometric side of this research agenda and the third reviews several applied geometric ideas central to contemporary work on the problem of motion planning. The use of Voronoi diagrams, a theme opened in these chapters, is explored further later in the book. The fourth chapter develops a theme in computational geometry having obvious significance for the simplification of practical robotics problems - the approximation or decomposition of complex geometric objects into simple ones. The final chapters treat two examples of a class of geometric 'reconstruction' problem that have immediate application to computer-aided geometric design systems.
The solitaire game "The Tower of Hanoi" was invented in the 19th century by the French number theorist Edouard Lucas. The book presents its mathematical theory and offers a survey of the historical development from predecessors up to recent research. In addition to long-standing myths, it provides a detailed overview of the essential mathematical facts with complete proofs, and also includes unpublished material, e.g., on some captivating integer sequences. The main objects of research today are the so-called Hanoi graphs and the related Sierpinski graphs. Acknowledging the great popularity of the topic in computer science, algorithms, together with their correctness proofs, form an essential part of the book. In view of the most important practical applications, namely in physics, network theory and cognitive (neuro)psychology, the book also addresses other structures related to the Tower of Hanoi and its variants. The updated second edition includes, for the first time in English, the breakthrough reached with the solution of the "The Reve's Puzzle" in 2014. This is a special case of the famed Frame-Stewart conjecture which is still open after more than 75 years. Enriched with elaborate illustrations, connections to other puzzles and challenges for the reader in the form of (solved) exercises as well as problems for further exploration, this book is enjoyable reading for students, educators, game enthusiasts and researchers alike. Excerpts from reviews of the first edition: "The book is an unusual, but very welcome, form of mathematical writing: recreational mathematics taken seriously and serious mathematics treated historically. I don't hesitate to recommend this book to students, professional research mathematicians, teachers, and to readers of popular mathematics who enjoy more technical expository detail." Chris Sangwin, The Mathematical Intelligencer 37(4) (2015) 87f. "The book demonstrates that the Tower of Hanoi has a very rich mathematical structure, and as soon as we tweak the parameters we surprisingly quickly find ourselves in the realm of open problems." Laszlo Kozma, ACM SIGACT News 45(3) (2014) 34ff. "Each time I open the book I discover a renewed interest in the Tower of Hanoi. I am sure that this will be the case for all readers." Jean-Paul Allouche, Newsletter of the European Mathematical Society 93 (2014) 56.
This book presents a variety of widely used algorithms, expressing them in a pure functional programming language to make their structure and operation clearer to readers. In the opening chapter the author introduces the specific notations that constitute the variant of Scheme that he uses. The second chapter introduces many of the simpler and more general patterns available in functional programming. The chapters that follow introduce and explain data structures, sorting, combinatorial constructions, graphs, and sublist search. Throughout the book the author presents the algorithms in a purely functional version of the Scheme programming language, which he makes available on his website. The book is supported with exercises, and it is suitable for undergraduate and graduate courses on programming techniques.
This book describes the essential components of the SCION secure Internet architecture, the first architecture designed foremost for strong security and high availability. Among its core features, SCION also provides route control, explicit trust information, multipath communication, scalable quality-of-service guarantees, and efficient forwarding. The book includes functional specifications of the network elements, communication protocols among these elements, data structures, and configuration files. In particular, the book offers a specification of a working prototype. The authors provide a comprehensive description of the main design features for achieving a secure Internet architecture. They facilitate the reader throughout, structuring the book so that the technical detail gradually increases, and supporting the text with a glossary, an index, a list of abbreviations, answers to frequently asked questions, and special highlighting for examples and for sections that explain important research, engineering, and deployment features. The book is suitable for researchers, practitioners, and graduate students who are interested in network security.
Based on a new classification of algorithm design techniques and a clear delineation of analysis methods, Introduction to the Design and Analysis of Algorithms presents the subject in a coherent and innovative manner. Written in a student-friendly style, the book emphasises the understanding of ideas over excessively formal treatment while thoroughly covering the material required in an introductory algorithms course. Popular puzzles are used to motivate students' interest and strengthen their skills in algorithmic problem solving. Other learning-enhancement features include chapter summaries, hints to the exercises, and a detailed solution manual.
Fast Solvers for Mesh-Based Computations presents an alternative way of constructing multi-frontal direct solver algorithms for mesh-based computations. It also describes how to design and implement those algorithms. The book's structure follows those of the matrices, starting from tri-diagonal matrices resulting from one-dimensional mesh-based methods, through multi-diagonal or block-diagonal matrices, and ending with general sparse matrices. Each chapter explains how to design and implement a parallel sparse direct solver specific for a particular structure of the matrix. All the solvers presented are either designed from scratch or based on previously designed and implemented solvers. Each chapter also derives the complete JAVA or Fortran code of the parallel sparse direct solver. The exemplary JAVA codes can be used as reference for designing parallel direct solvers in more efficient languages for specific architectures of parallel machines. The author also derives exemplary element frontal matrices for different one-, two-, or three-dimensional mesh-based computations. These matrices can be used as references for testing the developed parallel direct solvers. Based on more than 10 years of the author's experience in the area, this book is a valuable resource for researchers and graduate students who would like to learn how to design and implement parallel direct solvers for mesh-based computations.
The new computing environment enabled by advances in service oriented arc- tectures, mashups, and cloud computing will consist of service spaces comprising data, applications, infrastructure resources distributed over the Web. This envir- ment embraces a holistic paradigm in which users, services, and resources establish on-demand interactions, possibly in real-time, to realise useful experiences. Such interactions obtain relevant services that are targeted to the time and place of the user requesting the service and to the device used to access it. The bene't of such environment originates from the added value generated by the possible interactions in a large scale rather than by the capabilities of its individual components se- rately. This offers tremendous automation opportunities in a variety of application domains including execution of forecasting, of?ce tasks, travel support, intelligent information gathering and analysis, environment monitoring, healthcare, e-business, community based systems, e-science and e-government. A key feature of this environment is the ability to dynamically compose services to realise user tasks. While recent advances in service discovery, composition and Semantic Web technologies contribute necessary ?rst steps to facilitate this task, the bene?ts of composition are still limited to take advantages of large-scale ubiq- tous environments. The main stream composition techniques and technologies rely on human understanding and manual programming to compose and aggregate s- vices. Recent advances improve composition by leveraging search technologies and ?ow-based composition languages as in mashups and process-centric service c- position.
Fuzzy social choice theory is useful for modeling the uncertainty and imprecision prevalent in social life yet it has been scarcely applied and studied in the social sciences. Filling this gap, Application of Fuzzy Logic to Social Choice Theory provides a comprehensive study of fuzzy social choice theory. The book explains the concept of a fuzzy maximal subset of a set of alternatives, fuzzy choice functions, the factorization of a fuzzy preference relation into the "union" (conorm) of a strict fuzzy relation and an indifference operator, fuzzy non-Arrowian results, fuzzy versions of Arrow's theorem, and Black's median voter theorem for fuzzy preferences. It examines how unambiguous and exact choices are generated by fuzzy preferences and whether exact choices induced by fuzzy preferences satisfy certain plausible rationality relations. The authors also extend known Arrowian results involving fuzzy set theory to results involving intuitionistic fuzzy sets as well as the Gibbard-Satterthwaite theorem to the case of fuzzy weak preference relations. The final chapter discusses Georgescu's degree of similarity of two fuzzy choice functions.
Motivated by a variational model concerning the depth of the objects in a picture and the problem of hidden and illusory contours, this book investigates one of the central problems of computer vision: the topological and algorithmic reconstruction of a smooth three dimensional scene starting from the visible part of an apparent contour. The authors focus their attention on the manipulation of apparent contours using a finite set of elementary moves, which correspond to diffeomorphic deformations of three dimensional scenes. A large part of the book is devoted to the algorithmic part, with implementations, experiments, and computed examples. The book is intended also as a user's guide to the software code appcontour, written for the manipulation of apparent contours and their invariants. This book is addressed to theoretical and applied scientists working in the field of mathematical models of image segmentation.
Network science is a rapidly emerging field of study that encompasses mathematics, computer science, physics, and engineering. A key issue in the study of complex networks is to understand the collective behavior of the various elements of these networks. Although the results from graph theory have proven to be powerful in investigating the structures of complex networks, few books focus on the algorithmic aspects of complex network analysis. Filling this need, Complex Networks: An Algorithmic Perspective supplies the basic theoretical algorithmic and graph theoretic knowledge needed by every researcher and student of complex networks. This book is about specifying, classifying, designing, and implementing mostly sequential and also parallel and distributed algorithms that can be used to analyze the static properties of complex networks. Providing a focused scope which consists of graph theory and algorithms for complex networks, the book identifies and describes a repertoire of algorithms that may be useful for any complex network. Provides the basic background in terms of graph theory Supplies a survey of the key algorithms for the analysis of complex networks Presents case studies of complex networks that illustrate the implementation of algorithms in real-world networks, including protein interaction networks, social networks, and computer networks Requiring only a basic discrete mathematics and algorithms background, the book supplies guidance that is accessible to beginning researchers and students with little background in complex networks. To help beginners in the field, most of the algorithms are provided in ready-to-be-executed form. While not a primary textbook, the author has included pedagogical features such as learning objectives, end-of-chapter summaries, and review questions |
You may like...
Geoecology of Antarctic Ice-Free Coastal…
L. Beyer, M. Boelter
Hardcover
R4,257
Discovery Miles 42 570
Philosophy for Girls - An Invitation to…
Melissa Shew, Kimberly Garchar
Hardcover
R2,445
Discovery Miles 24 450
Specious Science - How Genetics and…
C.Ray Greek, Jean Swingle Greek
Hardcover
R2,219
Discovery Miles 22 190
Biochar in Agriculture for Achieving…
Daniel C. W. Tsang, Yong Sik Ok
Paperback
R2,996
Discovery Miles 29 960
|