Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
|||
Books > Computing & IT > Computer programming
This course-tested textbook describes the design and implementation of operating systems, and applies it to the MTX operating system, a Unix-like system designed for Intel x86 based PCs. Written in an evolutional style, theoretical and practical aspects of operating systems are presented as the design and implementation of a complete operating system is demonstrated. Throughout the text, complete source code and working sample systems are used to exhibit the techniques discussed. The book contains many new materials on the design and use of parallel algorithms in SMP. Complete coverage on booting an operating system is included, as well as, extending the process model to implement threads support in the MTX kernel, an init program for system startup and a sh program for executing user commands. Intended for technically oriented operating systems courses that emphasize both theory and practice, the book is also suitable for self-study.
This book focuses on the methodological treatment of UML/P and addresses three core topics of model-based software development: code generation, the systematic testing of programs using a model-based definition of test cases, and the evolutionary refactoring and transformation of models. For each of these topics, it first details the foundational concepts and techniques, and then presents their application with UML/P. This separation between basic principles and applications makes the content more accessible and allows the reader to transfer this knowledge directly to other model-based approaches and languages. After an introduction to the book and its primary goals in Chapter 1, Chapter 2 outlines an agile UML-based approach using UML/P as the primary development language for creating executable models, generating code from the models, designing test cases, and planning iterative evolution through refactoring. In the interest of completeness, Chapter 3 provides a brief summary of UML/P, which is used throughout the book. Next, Chapters 4 and 5 discuss core techniques for code generation, addressing the architecture of a code generator and methods for controlling it, as well as the suitability of UML/P notations for test or product code. Chapters 6 and 7 then discuss general concepts for testing software as well as the special features which arise due to the use of UML/P. Chapter 8 details test patterns to show how to use UML/P diagrams to define test cases and emphasizes in particular the use of functional tests for distributed and concurrent software systems. In closing, Chapters 9 and 10 examine techniques for transforming models and code and thus provide a solid foundation for refactoring as a type of transformation that preserves semantics. Overall, this book will be of great benefit for practical software development, for academic training in the field of Software Engineering, and for research in the area of model-based software development. Practitioners will learn how to use modern model-based techniques to improve the production of code and thus significantly increase quality. Students will find both important scientific basics as well as direct applications of the techniques presented. And last but not least, the book will offer scientists a comprehensive overview of the current state of development in the three core topics it covers.
This book illustrates how goal-oriented, automated measurement can be used to create Lean organizations and to facilitate the development of Lean software, while also demonstrating the practical implementation of Lean software development by combining tried and trusted tools. In order to be successful, a Lean orientation of software development has to go hand in hand with a company's overall business strategy. To achieve this, two interrelated aspects require special attention: measurement and experience management. In this book, Janes and Succi provide the necessary knowledge to establish "Lean software company thinking," while also exploiting the latest approaches to software measurement. A comprehensive, company-wide measurement approach is exactly what companies need in order to align their activities to the demands of their stakeholders, to their business strategy, etc. With the automatic, non-invasive measurement approach proposed in this book, even small and medium-sized enterprises that do not have the resources to introduce heavyweight processes will be able to make their software development processes considerably more Lean. The book is divided into three parts. Part I, "Motivation for Lean Software Development," explains just what "Lean Production" means, why it can be advantageous to apply Lean concepts to software engineering, and which existing approaches are best suited to achieving this. Part II, "The Pillars of Lean Software Development," presents the tools needed to achieve Lean software development: Non-invasive Measurement, the Goal Question Metric approach, and the Experience Factory. Finally, Part III, "Lean Software Development in Action," shows how different tools can be combined to enable Lean Thinking in software development. The book primarily addresses the needs of all those working in the field of software engineering who want to understand how to establish an efficient and effective software development process. This group includes developers, managers, and students pursuing an M.Sc. degree in software engineering.
A 3D user interface (3DUI) is an interface in which the user performs tasks in three dimensions. For example, interactions using hand/body gestures, interaction using a motion controller (e.g. Sony PlayStation Move), interaction with virtual reality devices using tracked motion controllers, etc. All these technologies which let a user interact in three dimensions are called 3D user interface technologies. These 3D user interfaces have the potential to make games more immersive & engaging and thus potentially provide a better user experience to gamers. Although 3D user interface technologies are available for games, it is unclear how their usage affects game play and if there are any user performance benefits. This book presents state of the art research on exploring 3D user interface technologies for improving video games. It also presents a review of research work done in this area and describes experiments focused on usage of stereoscopic 3D, head tracking, and hand gesture-based control in gaming scenarios. These experiments are systematic studies in gaming environments and are aimed at understanding the effect of the underlined 3D interface technology on the gaming experience of a user. Based on these experiments, several design guidelines are presented which can aid game designers in designing better immersive games.
The book describes recent research results in the areas of modelling, creation, management and presentation of interactive 3D multimedia content. The book describes the current state of the art in the field and identifies the most important research and design issues. Consecutive chapters address these issues. These are: database modelling of 3D content, security in 3D environments, describing interactivity of content, searching content, visualization of search results, modelling mixed reality content, and efficient creation of interactive 3D content. Each chapter is illustrated with example applications based on the proposed approach. The final chapter discusses some important ethical issues related to the widespread use of virtual environments in everyday life. The book provides ready to use solutions for many important problems related to the creation of interactive 3D multimedia applications and will be a primary reading for researchers and developers working in this domain.
This book presents practical optimization techniques used in image processing and computer vision problems. Ill-posed problems are introduced and used as examples to show how each type of problem is related to typical image processing and computer vision problems. Unconstrained optimization gives the best solution based on numerical minimization of a single, scalar-valued objective function or cost function. Unconstrained optimization problems have been intensively studied, and many algorithms and tools have been developed to solve them. Most practical optimization problems, however, arise with a set of constraints. Typical examples of constraints include: (i) pre-specified pixel intensity range, (ii) smoothness or correlation with neighboring information, (iii) existence on a certain contour of lines or curves, and (iv) given statistical or spectral characteristics of the solution. Regularized optimization is a special method used to solve a class of constrained optimization problems. The term regularization refers to the transformation of an objective function with constraints into a different objective function, automatically reflecting constraints in the unconstrained minimization process. Because of its simplicity and efficiency, regularized optimization has many application areas, such as image restoration, image reconstruction, optical flow estimation, etc. Optimization plays a major role in a wide variety of theories for image processing and computer vision. Various optimization techniques are used at different levels for these problems, and this volume summarizes and explains these techniques as applied to image processing and computer vision.
This book develops a coherent and quite general theoretical approach to algorithm design for iterative learning control based on the use of operator representations and quadratic optimization concepts including the related ideas of inverse model control and gradient-based design. Using detailed examples taken from linear, discrete and continuous-time systems, the author gives the reader access to theories based on either signal or parameter optimization. Although the two approaches are shown to be related in a formal mathematical sense, the text presents them separately as their relevant algorithm design issues are distinct and give rise to different performance capabilities. Together with algorithm design, the text demonstrates the underlying robustness of the paradigm and also includes new control laws that are capable of incorporating input and output constraints, enable the algorithm to reconfigure systematically in order to meet the requirements of different reference and auxiliary signals and also to support new properties such as spectral annihilation. Iterative Learning Control will interest academics and graduate students working in control who will find it a useful reference to the current status of a powerful and increasingly popular method of control. The depth of background theory and links to practical systems will be of use to engineers responsible for precision repetitive processes.
Computer technologies are forever evolving and it is vital that computer science educators find new methods of teaching programming in order to maintain the rapid changes occurring in the field. One of the ways to increase student engagement and retention is by integrating games into the curriculum. Gamification-Based E-Learning Strategies for Computer Programming Education evaluates the different approaches and issues faced in integrating games into computer education settings. Featuring emergent trends on the application of gaming to pedagogical strategies and technological tactics, as well as new methodologies and approaches being utilized in computer programming courses, this book is an essential reference source for practitioners, researchers, computer science teachers, and students pursuing computer science.
This edited book presents the scientific outcomes of the 17th International Conference on Software Engineering, Artificial Intelligence Research, Management and Applications (SERA 2019) held on May 29-31, 2019 in Honolulu, Hawaii. The aim of the conference was to bring together researchers and scientists, businessmen and entrepreneurs, teachers, engineers, computer users and students to discuss the numerous fields of computer science and to share their experiences and exchange new ideas and information in a meaningful way. This book includes 13 of the conference's most promising papers featuring recent research in software engineering, management and applications
This well structured book discusses lifecycle optimization of software projects for crisis management by means of software engineering methods and tools. Its outcomes are based on lessons learned from the software engineering crisis which started in the 1960s. The book presents a systematic approach to overcome the crisis in software engineering depends which not only depends on technology-related but also on human-related factors. It proposes an adaptive methodology for software product development, which optimizes the software product lifecycle in order to avoid "local" crises of software production. The general lifecycle pattern and its stages are discussed, and their impact on the time and budget of the software product development is analyzed. The book identifies key advantages and disadvantages for various models selected and concludes that there is no "silver bullet", or universal model, which suits all software products equally well. It approaches software architecture in terms of process, data and system perspectives and proposes an incremental methodology for crisis-agile development of large-scale, distributed heterogeneous applications. The book introduces a number of specialized approaches which are widely used in industry but are often ignored in general writings because of their vendor-specificity. In doing so, the book builds a helpful bridge from academic conceptions of software engineering to the world of software engineering practice. With its systematic coverage of different software engineering methodologies and the presented rich systems engineering examples the book will be beneficial for a broader audience.
This reference and handbook describes theory, algorithms and applications of the Global Positioning System (GPS/Glonass/Galileo/Compass). It is primarily based on source-code descriptions of the KSGsoft program developed at the GFZ in Potsdam. The theory and algorithms are extended and verified for a new development of a multi-functional GPS/Galileo software. Besides the concepts such as the unified GPS data processing method, the diagonalisation algorithm, the adaptive Kalman filter, the general ambiguity search criteria, and the algebraic solution of variation equation reported in the first edition, the equivalence theorem of the GPS algorithms, the independent parameterisation method, and the alternative solar radiation model reported in the second edition, the modernisation of the GNSS system, the new development of the theory and algorithms, and research in broad applications are supplemented in this new edition. Mathematically rigorous, the book begins with the introduction, the basics of coordinate and time systems and satellite orbits, as well as GPS observables, and deals with topics such as physical influences, observation equations and their parameterisation, adjustment and filtering, ambiguity resolution, software development and data processing and the determination of perturbed orbits.
The biggest challenges faced by the software industry are cost control and schedule control. As such, effective strategies for process improvement must be researched and implemented. Analyzing the Role of Risk Mitigation and Monitoring in Software Development is a critical scholarly resource that explores software risk and development as organizations continue to implement more applications across multiple technologies and a multi-tiered environment. Featuring coverage on a broad range of topics such as quantitative risk assessment, threat analysis, and software vulnerability management, this book is a vital resource for engineers, academicians, professionals, and researchers seeking current research on the importance of risk management in software development.
COOP 2012 is the tenth COOP conference, marking twenty years from the first conference in 1992. In this special anniversary edition we asked researchers and practitioners to reflect on what have been the successes and the failures in designing cooperative systems, and what challenges still need to be addressed. We have come a long way in understanding the intricacies of cooperation and in designing systems that support work practices and collective activities. These advances would not have been possible without the concerted effort of contributions from a plethora of domains including CSCW, HCI, Information Systems, Knowledge Engineering, Multi-agent systems, organizational and management sciences, sociology, psychology, anthropology, ergonomics, linguistics, etc. The COOP community is going from strength to strength in developing new technologies, advancing and proposing new methodological approaches, and forging theories.
The book presents various state-of-the-art approaches for process synchronization in a distributed environment. The range of algorithms discussed in the book starts from token based mutual exclusion algorithms that work on tree based topology. Then there are interesting solutions for more flexible logical topology like a directed graph, with or without cycle. In a completely different approach, one of the chapters presents two recent voting-based DME algorithms. All DME algorithms presented in the book aim to ensure fairness in terms of first come first serve (FCFS) order among equal priority processes. At the same time, the solutions consider the priority of the requesting processes and allocate resource for the earliest request when no such request from a higher priority process is pending.
This book presents fundamental new techniques for understanding and processing geospatial data. These "spatial gems" articulate and highlight insightful ideas that often remain unstated in graduate textbooks, and which are not the focus of research papers. They teach us how to do something useful with spatial data, in the form of algorithms, code, or equations. Unlike a research paper, Spatial Gems, Volume 1 does not focus on "Look what we have done!" but rather shows "Look what YOU can do!" With contributions from researchers at the forefront of the field, this volume occupies a unique position in the literature by serving graduate students, professional researchers, professors, and computer developers in the field alike.
This book introduces basic computing skills designed for industry professionals without a strong computer science background. Written in an easily accessible manner, and accompanied by a user-friendly website, it serves as a self-study guide to survey data science and data engineering for those who aspire to start a computing career, or expand on their current roles, in areas such as applied statistics, big data, machine learning, data mining, and informatics. The authors draw from their combined experience working at software and social network companies, on big data products at several major online retailers, as well as their experience building big data systems for an AI startup. Spanning from the basic inner workings of a computer to advanced data manipulation techniques, this book opens doors for readers to quickly explore and enhance their computing knowledge. Computing with Data comprises a wide range of computational topics essential for data scientists, analysts, and engineers, providing them with the necessary tools to be successful in any role that involves computing with data. The introduction is self-contained, and chapters progress from basic hardware concepts to operating systems, programming languages, graphing and processing data, testing and programming tools, big data frameworks, and cloud computing. The book is fashioned with several audiences in mind. Readers without a strong educational background in CS--or those who need a refresher--will find the chapters on hardware, operating systems, and programming languages particularly useful. Readers with a strong educational background in CS, but without significant industry background, will find the following chapters especially beneficial: learning R, testing, programming, visualizing and processing data in Python and R, system design for big data, data stores, and software craftsmanship.
Decision Methods for Forest Resource Management focuses on decision
making for forests that are managed for both ecological and
economic objectives. The essential modern decision methods used in
the scientific management of forests are described using basic
algebra, computer spreadsheets, and numerous examples and
applications. Balanced treatment is given throughout the book to
the ecological and economic impacts of alternative management
decisions in both even-aged and uneven-aged forests.
This book brings together enterprise modeling and software specification, providing a conceptual background and methodological guidelines that concern the design of enterprise information systems. In this, two corresponding disciplines (enterprise engineering and software engineering) are considered in a complementary way. This is how the widely recognized gap between domain experts and software engineers could be effectively addressed. The content is, on the one hand, based on a conceptual invariance (embracing concepts whose essence transcends the barriers between social and technical disciplines) while on the other, the book is featuring a modeling duality, by bringing together social theories (that are underlying with regard to enterprise engineering) and computing paradigms (that are underlying as it concerns software engineering). In addition, the proposed approach as well as its guidelines and related notations further foster such enterprise-software modeling, by facilitating modeling generations and transformations. Considering unstructured business information in the beginning, the modeling process would progress through the methodological construction of enterprise models, to reach as far as a corresponding derivation of software specifications. Finally, the enterprise-software alignment is achieved in a component-based way, featuring a potential for re-using modeling constructs, such that the modeling effectiveness and efficiency are further stimulated. For the sake of grounding the presented studies, a case study and illustrative examples are considered. They are not only justifying the idea of bringing together (in a component-based way) enterprise modeling and software specification but they are also demonstrating various strengths and limitations of the proposed modeling approach. The book was mainly written for researchers and graduate students in enterprise information systems, and also for professionals whose work involves the specification and realization of such systems. In addition, researchers and practitioners entering these fields will benefit from the blended view on enterprise modeling and software specification, for the sake of an effective and efficient design of enterprise information systems.
This book reveals the historical context and the evolution of the technically complex Allied Signals Intelligence (Sigint) activity against Japan from 1920 to 1945. It traces the all-important genesis and development of the cryptanalytic techniques used to break the main Japanese Navy code (JN-25) and the Japanese Army s Water Transport Code during WWII. This is the first book to describe, explain and analyze the code breaking techniques developed and used to provide this intelligence, thus closing the sole remaining gap in the published accounts of the Pacific War. The authors also explore the organization of cryptographic teams and issues of security, censorship, and leaks. Correcting gaps in previous research, this book illustrates how Sigint remained crucial to Allied planning throughout the war. It helped direct the advance to the Philippines from New Guinea, the sea battles and the submarine onslaught on merchant shipping. Written by well-known authorities on the history of cryptography and mathematics, Code Breaking in the Pacific is designed for cryptologists, mathematicians and researchers working in communications security. Advanced-level students interested in cryptology, the history of the Pacific War, mathematics or the history of computing will also find this book a valuable resource."
Working with Sound is an exploration of the ever-changing working practices of audio development in the era of hybrid collaboration in the games industry. Through learnings from the pre-pandemic remote and isolated worlds of audio work, sound designers, composers and dialogue designers find themselves equipped uniquely to thrive in the hybrid, remote, and studio-based realms of today's fast-evolving working landscapes. With unique insights into navigating the worlds of isolation and collaboration, this book explores ways of thinking and working in this world, equipping the reader with inspiration to sustainably tackle the many stages of the development process. Working with Sound is an essential guide for professionals working in dynamic audio teams of all sizes, as well as the designers, producers, artists, animators and programmers who collaborate closely with their colleagues working on game audio and sound.
This book examines the possibilities of incorporating elements of user-centred design (UCD) such as user experience (UX) and usability with agile software development. It explores the difficulties and problems inherent in integrating these two practices despite their relative similarities, such as their emphasis on stakeholder collaboration. Developed from a workshop held at NordiCHI in 2014, this edited volume brings together researchers from across the software development, UCD and creative design fields to discuss the current state-of-the-art. Practical case studies of integrating UCD in Agile development across diverse contexts are presented, whilst the different futures for UCD and other design practices in the context of agile software development are identified and explored. Integrating User Centred Design in Agile Development will be ideal for researchers, designers and academics who are interested in software development, user-centred design, agile methodologies and related areas.
This book provides a broad description of the development and (computational) application of many-electron approaches from a multidisciplinary perspective. In the context of studying many-electron systems Computer Science, Chemistry, Mathematics and Physics are all intimately interconnected. However, beyond a handful of communities working at the interface between these disciplines, there is still a marked separation of subjects. This book seeks to offer a common platform for possible exchanges between the various fields and to introduce the reader to perspectives for potential further developments across the disciplines. The rapid advances of modern technology will inevitably require substantial improvements in the approaches currently used, which will in turn make exchanges between disciplines indispensable. In essence this book is one of the very first attempts at an interdisciplinary approach to the many-electron problem.
|
You may like...
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,247
Discovery Miles 12 470
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,779
Discovery Miles 17 790
Data Abstraction and Problem Solving…
Janet Prichard, Frank Carrano
Paperback
R2,163
Discovery Miles 21 630
|