![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming
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 book discusses all the major nature-inspired algorithms with a focus on their application in the context of solving navigation and routing problems. It also reviews the approximation methods and recent nature-inspired approaches for practical navigation, and compares these methods with traditional algorithms to validate the approach for the case studies discussed. Further, it examines the design of alternative solutions using nature-inspired techniques, and explores the challenges of navigation and routing problems and nature-inspired metaheuristic approaches.
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.
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.
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.
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.
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.
This book aims to promote an understanding of the origins and dynamics of the software industry in a number of key emerging markets - Brazil, China, India and Israel, and to establish what experiences, if any, are potentially replicable in other prevailing markets. In-depth interviews with leading players in the industry are combined with other new data to provide a comparative study of the dynamics of the sector in emerging markets, to emphasise the public policy implications of these developments, and place them in a wider international context. The last 25 years have seen an explosive growth in the software industry, which is still overwhelmingly dominated by firms from North America and Europe. The authors argue that a number of companies from emerging markets have made significant headway and have even consolidated their positions on account of major cost advantages. They go on to explain the factors behind these developments, and conclude that the software industry, through its ability to project good corporate governance, its lack of hierarchy and widespread use of motivating working practices and compensation schemes, has proved a powerful example to other sectors in these emerging market economies. This book will be of immense interest to both academics and practitioners with an interest in development economics or technology.
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 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 volume presents some recent and principal developments related to computational intelligence and optimization methods in control. Theoretical aspects and practical applications of control engineering are covered by 14 self-contained contributions. Additional gems include the discussion of future directions and research perspectives designed to add to the reader's understanding of both the challenges faced in control engineering and the insights into the developing of new techniques. With the knowledge obtained, readers are encouraged to determine the appropriate control method for specific 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 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.
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."
Modern embedded systems are used for connected, media-rich, and highly integrated handheld devices such as mobile phones, digital cameras, and MP3 players. All of these embedded systems require networking, graphic user interfaces, and integration with PCs, as opposed to traditional embedded processors that can perform only limited functions for industrial applications. While most books focus on these controllers, "Modern Embedded Computing" provides a thorough understanding of the platform architecture of modern embedded computing systems that drive mobile devices. The book offers a comprehensive view of developing a framework
for embedded systems-on-chips. Examples feature the Intel Atom
processor, which is used in high-end mobile devices such as
e-readers, Internet-enabled TVs, tablets, and net books. Beginning
with a discussion of embedded platform architecture and Intel
Atom-specific architecture, modular chapters cover system boot-up,
operating systems, power optimization, graphics and multi-media,
connectivity, and platform tuning. Companion lab materials
compliment the chapters, offering hands-on embedded design
experience.
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.
This book focuses on crisis management in software development which includes forecasting, responding and adaptive engineering models, methods, patterns and practices. It helps the stakeholders in understanding and identifying the key technology, business and human factors that may result in a software production crisis. These factors are particularly important for the enterprise-scale applications, typically considered very complex in managerial and technological aspects and therefore, specifically addressed by the discipline of software engineering. Therefore, this book throws light on the crisis responsive, resilient methodologies and practices; therewith, it also focuses on their evolutionary changes and the resulting benefits.
This edition provides a comprehensively updated and enhanced review of current quality methods and standards. It outlines causes of failure, current practice and standards and suggests an ideal approach to software control at each stage of the design cycle. The emphasis of this new edition has shifted towards safety critical software. This book should be of interest to systems designers, software engineers, and safety and reliability engineers.
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.
This book provides a platform for academics and practitioners for sharing innovative results, approaches, developments, and research projects in computer science and information technology, focusing on the latest challenges in advanced computing and solutions introducing mathematical and engineering approaches. The book presents discussions in the area of advances and challenges of modern computer science, including telecommunications and signal processing, machine learning and artificial intelligence, intelligent control systems, modeling and simulation, data science and big data, data visualization and graphics systems, distributed, cloud and high-performance computing, and software engineering. The papers included are presented at TELECCON 2019 organized by Peter the Great St. Petersburg University during November 18-19, 2019.
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 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. |
![]() ![]() You may like...
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,341
Discovery Miles 13 410
News Search, Blogs and Feeds - A Toolkit
Lars Vage, Lars Iselid
Paperback
R1,412
Discovery Miles 14 120
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R4,186
Discovery Miles 41 860
|