Ausgehend von Beispielen vermittelt dieses Lehrbuch grundlegende Paradigmen der Informatik. Die Schwerpunkte liegen auf dem Algorithmenbegriff, einer Einführung in die Programmierung auf Grundlage der Programmiersprache Java und objektorientierten Konzepten. Ferner führt das Buch an die Aufwandsanalyse von Algorithmen und die Funktionsweise von Rechnern heran. Die 5. Auflage enthält ein neues Kapitel, das erweiterten Programmierkonzepten gewidmet ist. Es geht auf Klassenbibliotheken und die Graphikprogrammierung ein, erklärt die Strukturierung von Programmiersprachen sowie die modellgestützte Softwareentwicklung anhand von UML und gibt ausgehend von den vermittelten Java-Kenntnissen eine Einführung in die Programmiersprache C++. So gelingt der Einstieg in das Informatikstudium!
Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it offers, in a principled way. The book provides a theoretical account of the fundamentals underlying machine learning and the mathematical derivations that transform these principles into practical algorithms. Following a presentation of the basics, the book covers a wide array of central topics unaddressed by previous textbooks. These include a discussion of the computational complexity of learning and the concepts of convexity and stability; important algorithmic paradigms including stochastic gradient descent, neural networks, and structured output learning; and emerging theoretical concepts such as the PAC-Bayes approach and compression-based bounds. Designed for advanced undergraduates or beginning graduates, the text makes the fundamentals and algorithms of machine learning accessible to students and non-expert readers in statistics, computer science, mathematics and engineering.
Algorithmic design, especially for hard problems, is more essential for success in solving them than any standard improvement of current computer tech nologies. Because of this, the design of algorithms for solving hard problems is the core of current algorithmic research from the theoretical point of view as well as from the practical point of view. There are many general text books on algorithmics, and several specialized books devoted to particular approaches such as local search, randomization, approximation algorithms, or heuristics. But there is no textbook that focuses on the design of algorithms for hard computing tasks, and that systematically explains, combines, and compares the main possibilities for attacking hard algorithmic problems. As this topic is fundamental for computer science, this book tries to close this gap. Another motivation, and probably the main reason for writing this book, is connected to education. The considered area has developed very dynami cally in recent years and the research on this topic discovered several profound results, new concepts, and new methods. Some of the achieved contributions are so fundamental that one can speak about paradigms which should be in cluded in the education of every computer science student. Unfortunately, this is very far from reality. This is because these paradigms are not sufficiently known in the computer science community, and so they are insufficiently com municated to students and practitioners.
An authoritative guide to computer simulation grounded in a multi-disciplinary approach for solving complex problems Simulation and Computational Red Teaming for Problem Solving offers a review of computer simulation that is grounded in a multi-disciplinary approach. The authors present the theoretical foundations of simulation and modeling paradigms from the perspective of an analyst. The book provides the fundamental background information needed for designing and developing consistent and useful simulations. In addition to this basic information, the authors explore several advanced topics. The book´s advanced topics demonstrate how modern artificial intelligence and computational intelligence concepts and techniques can be combined with various simulation paradigms for solving complex and critical problems. Authors examine the concept of Computational Red Teaming to reveal how the combined fundamentals and advanced techniques are used successfully for solving and testing complex real-world problems. This important book: Demonstrates how computer simulation and Computational Red Teaming support each other for solving complex problems Describes the main approaches to modeling real-world phenomena and embedding these models into computer simulations Explores how a number of advanced artificial intelligence and computational intelligence concepts are used in conjunction with the fundamental aspects of simulation Written for researchers and students in the computational modelling and data analysis fields, Simulation and Computational Red Teaming for Problem Solving covers the foundation and the standard elements of the process of building a simulation and explores the simulation topic with a modern research approach.
Das Buch ist eine praktische Einführung in das Hochleistungsrechnen auf Linux-Clustern. In vier Teilen (Grundlagen, Technik, Programmierung, Praxis) wird ausführlich erklärt, wie man einen Haufen (Cluster) preiswerter Standard-PCs in einen Parallelcomputer verwandelt und diesen dann zur Lösung rechenintensiver Probleme einsetzt. Insbesondere enthält das Buch eine fundierte Einführung in MPI, dem grundlegenden Programmiermodell für Cluster-Computer. Dabei werden anhand konkreter Beispiele die wichtigsten Paradigmen paralleler Programmierung präsentiert. Vorgestellt werden außerdem Entwicklungswerkzeuge, die Fehlersuche in parallelen Programmen und nützliche Bibliotheken.
Software product lines represent perhaps the most exciting paradigm shift in software development since the advent of high-level programming languages. Nowhere else in software engineering have we seen such breathtaking improvements in cost, quality, time to market, and developer productivity, often registering in the order-of-magnitude range. While the underlying concepts are straightforward enough building a family of related products or systems by planned and careful reuse of a base of generalized software development assets the devil can be in the details, as successful product line practice can involve organizational change, business process change, and technology change. The authors ideally combine academic research results with industrial real-world experiences, thus presenting a broad view on product line engineering so that both managers and technical specialists will benefit from reading it. After presenting a common framework for the description of the industrial case studies, they capture the wealth of knowledge that eight companies have gathered during the introduction of the software product line engineering approach in their daily practice. After reading this book, you will understand all the relevant aspects, regarding business, architecture, process, and organizational issues, of applying software product line engineering. If you consider using a product line approach in your organization, or if you want to improve your current practices you will find a rich set of useful information at your fingertips from practitioners to practitioners.
Use a step-by-step process to create and deploy your first Azure IoT Edge solution. Modern day developers and architects in today´s cloud-focused world must understand when it makes sense to leverage the cloud. Computing on the edge is a new paradigm for most people. The Azure IoT Edge platform uses many existing technologies that may be familiar to developers, but understanding how to leverage those technologies in an edge computing scenario can be challenging. Beginning Azure IoT Edge Computing demystifies computing on the edge and explains, through concrete examples and exercises, how and when to leverage the power of intelligent edge computing. It introduces the possibilities of intelligent edge computing using the Azure IoT Edge platform, and guides you through hands-on exercises to make edge computing approachable, understandable, and highly useful. Through user-friendlydiscussion you will not only understand how to build edge solutions, but also when to build them. By explaining some common solution patterns, the decision on when to use the cloud and when to avoid the cloud will become much clearer. What You´ll Learn Create and deploy Azure IoT Edge solutions Recognize when to leverage the intelligent edge pattern and when to avoid it Leverage the available developer tooling to develop and debug IoT Edge solutions Know which off-the-shelf edge computing modules are available Become familiar with some of the lesser-known device protocols used in conjunction with edge computing Understand how to securely deploy and bootstrap an IoT Edge device Explore related topics such as containers and secure device provisioning Who This Book Is For Developers or architects who want to understand edge computing and when and where to use it. Readers should be familiar with C# or Python and have a high-level understanding of the Azure IoT platform.
Delve into your data for the key to success Data mining is quickly becoming integral to creating value and business momentum. The ability to detect unseen patterns hidden in the numbers exhaustively generated by day-to-day operations allows savvy decision-makers to exploit every tool at their disposal in the pursuit of better business. By creating models and testing whether patterns hold up, it is possible to discover new intelligence that could change your business´s entire paradigm for a more successful outcome. Data Mining for Dummies shows you why it doesn´t take a data scientist to gain this advantage, and empowers average business people to start shaping a process relevant to their business´s needs. In this book, you´ll learn the hows and whys of mining to the depths of your data, and how to make the case for heavier investment into data mining capabilities. The book explains the details of the knowledge discovery process including: * Model creation, validity testing, and interpretation * Effective communication of findings * Available tools, both paid and open-source * Data selection, transformation, and evaluation Data Mining for Dummies takes you step-by-step through a real-world data-mining project using open-source tools that allow you to get immediate hands-on experience working with large amounts of data. You´ll gain the confidence you need to start making data mining practices a routine part of your successful business. If you´re serious about doing everything you can to push your company to the top, Data Mining for Dummies is your ticket to effective data mining.
Die Beherrschung von Komplexität ist eine der größten Engineering-Herausforderungen des 21. Jahrhunderts. Themen wie das ´´Internet der Dinge´´ (IoT) und ´´Industrie 4.0´´ beschleunigen diesen Trend. Die modellgetriebene Entwicklung leistet einen entscheidenden Beitrag, um diesen Herausforderungen erfolgreich begegnen zu können. Die Autoren geben einen fundierten Einstieg und praxisorientierten Überblick über die Modellierung von Software für eingebettete Systeme von den Anforderungen über die Architektur bis zum Design, der Codegenerierung und dem Testen. Für jede Phase werden Paradigmen, Methoden, Techniken und Werkzeuge beschrieben und ihre praktische Anwendung in den Vordergrund gestellt. Darüber hinaus wird auf die Integration von Werkzeugen, funktionale Sicherheit und Metamodellierung eingegangen sowie die Einführung eines modellbasierten Ansatzes in einer Organisation und die Notwendigkeit zum lebenslangen Lernen erläutert. Der Leser erfährt in diesem Buch, wie ein modellbasiertes Vorgehen nutzbringend in der Praxis für die Softwareentwicklung eingesetzt wird. Das Vorgehen wird unabhängig von Modellierungswerkzeugen vorgestellt. Zahlreiche Beispiele - exemplarisch auch auf Basis konkreter Werkzeuge - helfen bei der praktischen Umsetzung. Auf der Buch-Website finden sich Werkzeuge, Beispiele, Tutorials sowie weitere vertiefende Informationen zum Thema.