This open book discusses service design capabilities in innovation processes, and provides a framework that guides design students, practitioners and researchers towards a better understanding of operational aspects of service design processes. More specifically, it revisits service designers' capabilities in light of the new roles that have o...
This open access book offers a practical guide into research ethics for undergraduate students in the social sciences. A step-by-step approach of the most viable issues, in-depth discussions of case histories and a variety of didactical tools will aid the student to grasp the issues at hand and help him or her develop strategies to deal with them.T...
This open short reader discusses the emerging patterns of sedentary migration versus mobility of the highly-skilled thereby providing a comprehensive overview of the recent literature on highly-skilled migration. Highly-skilled migrations are arguably the only non-controversial migrant category in political and public discourse. The common percepti...
Though sometimes perceived as a hurdle, testing can save developers from heartbreak in the long run. In Angular Testing Succinctly, author Joseph D. Booth provides a quick introduction to different tools and approaches to testing Angular projects to make them higher quality from the start and easier to maintain down the road. Topics covered include...
In this open book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages. Languages are easy to learn, it is the concepts behind them that are difficult. The basic features we study in turn include higher-order functions, data structures in the form of records and variants, muta...
Functional and flexible, this guide takes an objects-first approach to Java programming and problem using games and puzzles. Offers independent introductions to both a command-line interface and a graphical user interface (GUI). Features coverage of Unified Modeling Language (UML), the industry-standard, object-oriented design tool. Illustrates key...
This book looks at some of the central issues in the philosophy of computer science. It is not designed to answer all (or even any) of the philosophical questions that can be raised about the nature of computing, computers, and computer science. Rather, it is designed to "bring you up to speed" on a conversation about these issues - to gi...
The purpose of the book is to give a thorough introduction to the methods of model theory for first order logic. Model theory is the branch of logic that deals with mathematical structures and the formal languages they interpret. First order logic is the most important formal language and its model theory is a rich and interesting subject with sign...
How to Think Like a Computer Scientist is an introductory programming book based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCam...
How to Think Like a Computer Scientist: Learning with Python - is an introduction to computer science using the Python programming language. It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structu...
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system.
The C Programming Language Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. In particular, the goal is to get you up to speed quickly with C....
Bash is the shell, or command language interpreter, for thegnuoperating system. Thename is an acronym for the 'Bourne-Again SHell', a pun on Stephen Bourne, the authorof the direct ancestor of the current Unix shellsh, which appeared in the Seventh Edition Bell Labs Research version of Unix.
Bash is largely compatible withshand incorpo...
This book integrates the vital areas of object-orientation, functional programming, design patterns, and language design. The most important concepts from functional programming are captured with six design patterns: FUNCTION OBJECTS (Black-box behaviour parameterisation) LAZY OBJECTS (Evaluation-by-need semantics) VALUE OBJECTS (Immutable values) ...
You can find a whole range of programming textbooks intended for complete beginners. However, this one is exceptional to certain extent. The whole textbook is designed as a record of the dialogue of the author with his daughter who wants to learn programming. The author endeavors not to explain the Java programming language to the readers, but to t...
The purpose of the 3rd edition of this book is to give a sound and self-contained (in the sense that the necessary probability theory is included) introduction to classical or mainstream statistical theory. It is not a statistical-methods-cookbook, nor a compendium of statistical theories, nor is it a mathematics book. The book is intended to be a ...
This open book is an introduction to algebra for undergraduates who are interested in careers which require a strong background in mathematics. It will benefit students studying computer science and physical sciences, who plan to teach mathematics in schools, or to work in industry or finance. The book assumes that the reader has a solid background...
Introduction to Financial Mathematics: Concepts and Computational Methods serves as a primer in financial mathematics with a focus on conceptual understanding of models and problem solving. It includes the mathematical background needed for risk management, such as probability theory, optimization, and the like. The goal of the book is to expose th...
The Apache HTTP Server, colloquially called Apache, is the world's most used web server software. Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache played a key role in the initial growth of the World Wide Web, quickly overtaking NCSA HTTPd as the dominant HTTP serv...
Cover songs are a familiar feature of contemporary popular music. Musicians describe their own performances as covers, and audiences use the category to organize their listening and appreciation. However, until now philosophers have not had much to say about them. In A Philosophy of Cover Songs, P.D. Magnus demonstrates that philosophy provides a v...
A new edition of a graduate-level machine learning textbook that focuses on the analysis and theory of algorithms.
This book is a general introduction to machine learning that can serve as a textbook for graduate students and a reference for researchers. It covers fundamental modern topics in machine learning while providing the theoretical basi...
This is an intro to C for folks who already know how to program in another language. The first half of the book is written in a tutorial style, while the second half is a reference section complete with examples (inspired by the incomparable Turbo C Bible). The goal is to keep this up-to-date with the latest C standards.
This guide assumes that ...
This course is organized around algorithmic issues that arise in machine learning. Modern machine learning systems are often built on top of algorithms that do not have provable guarantees, and it is the subject of debate when and why they work. In this class, we focus on designing algorithms whose performance we can rigorously analyze for fundamen...
Network and System Administration usually refers only to the traditional skills and recipes for keeping computers and networks running properly. But, in truth, this view omits the most important part of the system: humans. The skill needed to comprehend and tame systems comprising both humans and machines is that of managing complexity. In this boo...
This 2d volume describes the systematic application of Promise Theory to systems, representing a significant step forward in describing functional systems with both dynamics and semantics. By combining quantitative and qualitative descriptions in a single framework, Promise Theory provides the first impartial language for multiscale system phenomen...
Geometry with an Introduction to Cosmic Topology approaches geometry through the lens of questions that have ignited the imagination of stargazers since antiquity. What is the shape of the universe? Does the universe have an edge? Is it infinitely big?
This text develops non-Euclidean geometry and geometry on surfaces at a level appropriate for ...
Julia is a high-level, dynamic programming language. Its features are well suited for numerical analysis and computational science.
Julia works with other languages (C, Python, R, Rust, C++, SQL, JavaScript, ...)
The Purpose of this open book is to introduce programmers to the Julia programming by example. This is a simplified exposition of the l...
Erlang is the result of a project at Ericsson's Computer Science Laboratory to improve the programming of telecommunication applications. A critical requirement was supporting the characteristics of such applications, that include: massive concurrency, fault-tolerance, isolation, dynamic code upgrading at runtime, transactions.
Throughout t...
What is the most pressing problem facing the American public today? Is it immigration reform, health care costs, the student debt crisis, stagnating wages, or a budget deficit reaching into the trillions? How about climate change or the threat of plastic pollution in the ocean? What about gun violence and gun rights? The problems facing the U.S. ar...
In this book we discuss several numerical methods for solving ordinary differential equations. We emphasize the aspects that play an important role in practical problems. We confine ourselves to ordinary differential equations with the exception of the last chapter in which we discuss the heat equation, a parabolic partial differential equation. T...