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...

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...

The world is faced with an epidemic of metabolic diseases such as obesity and type 2 diabetes. This is due to changes in dietary habits and the decrease in physical activity. Exercise is usually part of the prescription, the first line of defense, to prevent or treat metabolic disorders. However, we are still learning how and why exercise provides ...

A First Course in Linear Algebra, originally by K. Kuttler, as a first course for the general students who have an understanding of basic high school algebra and intend to be users of linear algebra methods in their profession, from business & economics to science students.
All major topics of linear algebra are available in detail, as well ...

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...

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...

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...

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...

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...

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...

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...

Introduction to Financial Accounting is intended for a first course in introductory financial accounting. It has been extensively edited by Athabasca University and reflects current International Financial Reporting Standards (IFRS). A corporate approach is utilized versus beginning with a sole proprietorship emphasis and then converting to a corpo...

Introduction to Financial Accounting: U.S. GAAP, was intended for a first course in introductory financial accounting. It focuses on core introductory financial accounting topics that match pre-requisite requirements for students advancing to intermediate financial accounting. A corporate approach is utilized versus beginning with a sole proprietor...

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 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 book covers the entire Business Process Management (BPM) lifecycle, from process identification to process monitoring, covering along the way process modelling, analysis, redesign and automation. Concepts, methods and tools from business management, computer science and industrial engineering are blended into one comprehensive and inter-discip...

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 ...

This title meets a great demand for training in spatial analysis tools accessible to a wide audience. Landscape ecology continues to grow as an exciting discipline with much to offer for solving pressing and emerging problems in environmental science. Much of the strength of landscape ecology lies in its ability to address challenges over large are...

This book was written to serve as an introduction to logic, with in each chapter – if applicable – special emphasis on the interplay between logic and philosophy, mathematics, language and (theoretical) computer science. The reader will not only be provided with an introduction to classical logic, but to philosophical (modal, epistemic, deontic...

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 ...

An introduction to CoffeeScript programming with an emphasis on clarity, abstraction and verification.
Smooth CoffeeScript is a free book about CoffeeScript and programming. No previous programming knowledge is required. Over 200 pages and 35 exercises....

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...