The title of this book was originally Think Perl 6, but since Perl 6 has been renamed Raku, we have also changed the title of the book.
Want to learn how to program and think like a computer scientist? This practical guide gets you started on your programming journey with the help of Raku (Perl 6), the younger sister of the popular Perl programm...

Database Design, 2nd Edition covers database systems and database design concepts. New to this edition are SQL info, additional examples, key terms and review exercises at the end of each chapter.
Topics include:The history of databases; Characteristics and benefits of databases; Data models; Data modelling; Classification of database management...

Introductory Statistics follows scope and sequence requirements of a one-semester introduction to statistics course and is geared toward students majoring in fields other than math or engineering. The text assumes some knowledge of intermediate algebra and focuses on statistics application over theory. Introductory Statistics includes innovative pr...

The Coder's Apprentice is a course book, written by Pieter Spronck, that is aimed at teaching Python 3 to students and teenagers who are completely new to programming. Contrary to many of the other books that teach Python programming, this book assumes no previous knowledge of programming on the part of the students, and contains numerous exercises...

If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for...

Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its wa...

Complexity science uses computation to explore the physical and social sciences. In Think Complexity, you'll use graphs, cellular automata, and agent-based models to study topics in physics, biology, and economics.
Whether you're an intermediate-level Python programmer or a student of computational modeling, you'll delve into examples of complex...

If you understand basic mathematics and know how to program with Python, you're ready to dive into signal processing. While most resources start with theory to teach this complex subject, this practical book introduces techniques by showing you how they're applied in the real world. In the first chapter alone, you'll be able to decompose a sound in...

This book presents computer programming as a key method for solving mathematical problems. This second edition of the well-received book has been extensively revised: All code is now written in Python version 3.6 (no longer version 2.7). In addition, the two first chapters of the previous edition have been extended and split up into five new chapte...

Modeling and simulation are powerful tools for explaining the world, making predictions, designing things that work, and making them work better. Learning to use these tools can be difficult; this book is my attempt to make the experience as enjoyable and productive as possible.
By reading this book - and working on the exercises - you will lear...

This free book, or really a "coursebook" for a college freshman-level class, has been updated for Spring 2014 and provides an introduction to programming and problem solving using both Matlab and Mathcad. We provide a balanced selection of introductory exercises and real-world problems (i.e. no "contrived" problems). We include ...

This book has been designed for a first course on digital design for engineering and computer science students. It offers an extensive introduction on fundamental theories, from Boolean algebra and binary arithmetic to sequential networks and finite state machines, together with the essential tools to design and simulate systems composed of a contr...

This third edition laboratory manual was written to accompany Food Analysis, Fifth Edition, by the same author. New to this third edition of the laboratory manual are four introductory chapters that complement both the textbook chapters and the laboratory exercises. The 24 laboratory exercises in the manual cover 21 of the 35 chapters in the textbo...

This book contains 157 problems in classical electromagnetism, most of them new and original compared to those found in other textbooks. Each problem is presented with a title in order to highlight its inspiration in different areas of physics or technology, so that the book is also a survey of historical discoveries and applications of classical e...

This book introduces readers to the basic principles of bioinformatics and the practical application and utilization of computational tools, without assuming any prior background in programming or informatics. It provides a coherent overview of the complex field and focuses on the implementation of online tools, genome databases and software that c...

This easy-to-follow textbook/reference presents a concise introduction to mathematical analysis from an algorithmic point of view, with a particular focus on applications of analysis and aspects of mathematical modelling. The text describes the mathematical theory alongside the basic concepts and methods of numerical analysis, enriched by computer ...

This carefully written textbook offers a thorough introduction to abstract algebra, covering the fundamentals of groups, rings and fields. The first two chapters present preliminary topics such as properties of the integers and equivalence relations. The author then explores the first major algebraic structure, the group, progressing as far as the ...

Algorithms are the lifeblood of computer science. They are the machines that proofs build and the music that programs play. Their history is as old as mathematics itself. This book is a wide-ranging, idiosyncratic treatise on the design and analysis of algorithms, covering several fundamental techniques, with an emphasis on intuition and the proble...

The ideal reader for this book will be quantitatively literate and has a basic understanding of statistical concepts and R programming. The book gives a rigorous treatment of the elementary concepts in statistical inference from a classical frequentist perspective. After reading this book and performing the exercises, the student will understand th...

This book aims to teach the Python programming language using a practical approach. Its method is quite simple: after a short introduction to each topic, the reader is invited to learn more by solving the proposed exercises.
These exercises have been used extensively in my web development and distributed computing classes at the Superior School ...

The demand for skilled data science practitioners in industry, academia, and government is rapidly growing. This book introduces concepts and skills that can help you tackle real-world data analysis challenges. It covers concepts from probability, statistical inference, linear regression and machine learning. It also helps you develop skills such a...

The book heavily leans on examples to present features of grep as well as regular expressions one by one. It is recommended that you manually type each example and experiment with them. Understanding both the nature of sample input string and the output produced is essential.
You should have prior experience working with command line and bash sh...

The Graduate Program in Sustainability Science under the Department of Urban Engineering of The University of Tokyo has been running an environmental leadership education program at the graduate student level since 2007 called the Asian Program for Incubation of Environmental Leaders (APIEL). This book describes the University's experiences in esta...

This book summarizes the findings of the VUELCO project, a multi-disciplinary and cross-boundary research funded by the European Commission's 7th framework program. It comprises four broad topics:1. The global significance of volcanic unrest2. Geophysical and geochemical fingerprints of unrest and precursory activity3. Magma dynamics le...

The Internet of Things (IoT) is an emerging network superstructure that will connect physical resources and actual users. It will support an ecosystem of smart applications and services bringing hyper-connectivity to our society by using augmented and rich interfaces. Whereas in the beginning IoT referred to the advent of barcodes and Radio Freque...

This revised, updated textbook presents a systems approach to the planning, management, and operation of water resources infrastructure in the environment. Previously published in 2005 by UNESCO and Deltares (Delft Hydraulics at the time), this new edition, written again with contributions from Jery R. Stedinger, Jozef P. M. Dijkman, and Monique T...

Embedded Firmware Solutions is the perfect introduction and daily-use field guide - for the thousands of firmware designers, hardware engineers, architects, managers, and developers--to Intel's new firmware direction (including Quark coverage), showing how to integrate IntelĀ® Architecture designs into their plans.
Featuring hands-on examples an...

Unannounced and unmarked, blocks turn up all over Ruby programs. Their use ranges from some of Ruby's most basic structures, such as loops, to some of its most sophisticated tricks. Similar to closures or lambdas in other languages, blocks enable some of Ruby's vaunted efficiency. Blocks even allow other people to write some of the code you use.
...

If you know how to program, you have the skills to turn data into knowledge, using tools of probability and statistics. This concise introduction shows you how to perform statistical analysis computationally, rather than mathematically, with programs written in Python.
By working with a single case study throughout this thoroughly revised book, ...

Modeling and Simulation in Python is an introduction to physical modeling using a computational approach. It is organized in three parts:
- The first part presents discrete models, including a bikeshare system and world population growth.
- The second part introduces first-order systems, including models of infectious disease, thermal systems, an...

If you're a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering - data structures and algorithms - in a way that's clearer, more concise, and more engaging than other materials.
By emphasizing prac...

JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.
This much anticipated and thoroughly revis...