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

This book makes JavaScript less challenging to learn for newcomers, by offering a modern view that is as consistent as possible.
Highlights:
- Get started quickly, by initially focusing on modern features.
- Test-driven exercises and quizzes available for most chapters.
- Covers all essential features of JavaScript, up to and including ES2020...

This is an introduction to the Go language from Google. Its aim is to provide a guide to this new and innovative language.
The intended audience of this book is people who are familiar with programming and know multiple programming languages,be it C, C++, Perl, Java, Erlang, Scala or Haskell. This is not a book which teaches you how to program, ...

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

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

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

Discrete Mathematics: An Open Introduction is a free, open source textbook appropriate for a first or second year undergraduate course for math majors, especially those who will go on to teach. Since Spring 2013, the book has been used as the primary textbook or a supplemental resource at more than 75 colleges and universities around the world (see...

This book covers the standard material for a one-semester course in multivariable calculus. The topics include curves, differentiability and partial derivatives, multiple integrals, vector fields, line and surface integrals, and the theorems of Green, Stokes, and Gauss. Roughly speaking, the book is organized into three main parts corresponding to ...

Applied Discrete Structures, is a two semester undergraduate text in discrete mathematics, focusing on the structural properties of mathematical objects. These include matrices, functions, graphs, trees, lattices and algebraic structures. The algebraic structures that are discussed are monoids, groups, rings, fields and vector spaces.
Applied D...

Classic Computer Science Problems in Python deepens your knowledge of problem solving techniques from the realm of computer science by challenging you with time-tested scenarios, exercises, and algorithms. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover c...

Professional developers know the many benefits of writing application code that's clean, well-organized, and easy to maintain. By learning and following established patterns and best practices, you can take your code and your career to a new level.
With Practices of the Python Pro, you'll learn to design professional-level, clean, easi...

Bayesian methods for statistical analysis is a book on statistical methods for analysing a wide variety of data. The book consists of 12 chapters, starting with basic concepts and covering numerous topics, including Bayesian estimation, decision theory, prediction, hypothesis testing, hierarchical models, Markov chain Monte Carlo methods, finite po...

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

Covering the design and implementation of assemblers and loaders, this comprehensive book opens with an introduction to one-pass and two-pass assemblers. Important concepts such as absolute and relocatable object files are discussed, as are assembler features such as local labels and multiple location counters. The format, meaning and implementatio...