JavaScript is a programming language that conforms to the ECMAScript specification. It is an unofficial and free JavaScript ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
C# is a general-purpose, modern and object-oriented programming language pronounced as "C sharp". It is an unofficial and free C# ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
A regular expression (regex or regexp) is a sequence of characters that define a search pattern. It is an unofficial and free Regular Expressions book created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
Vim is a console-based multi-mode (modal) text editor. It is widely used and available by default on all Unix, Linux, and Apple OS X systems. Vim has a large active community and a wide user base. The editor supports all popular programming languages, and many plugins are available to extend its features.
It is an unofficial and free Vim book cr...
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...
Statistics is quickly becoming the most important and multi-disciplinary field of mathematics. According to the American Statistical Association, statistician is one of the top ten fastest-growing occupations and statistics is one of the fastest-growing bachelor degrees. Statistical literacy is essential to our data driven society.
Despite the ...
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 book is designed to introduce you to writing programs with the Go programming language. You'll learn how to write useful tools and applications that can run on remote servers, or local Windows, macOS, and Linux systems for development.
The topics that it covers include how to:
- Install and set up a local Go development environment on...
This open book features a selection of articles written by Erich Ch. Wittmann between 1984 to 2019, which shows how the "design science conception" has been continuously developed over a number of decades. The articles not only describe this conception in general terms, but also demonstrate various substantial learning environments that s...
This open book presents selected papers from International Symposium on Mathematics, Quantum Theory, and Cryptography (MQC), which was held on September 25-27, 2019 in Fukuoka, Japan. The international symposium MQC addresses the mathematics and quantum theory underlying secure modeling of the post quantum cryptography including e.g. mathematical s...
This open book offers an initial introduction to programming for scientific and computational applications using the Python programming language. The presentation style is compact and example-based, making it suitable for students and researchers with little or no prior experience in programming.
The book uses relevant examples from mathematics a...
This open handbook brings together the latest research from a wide range of internationally influential scholars to analyze educational policy research from international, historical and interdisciplinary perspectives. By effectively breaking through the boundaries between countries and disciplines, it presents new theories, techniques and methods ...
Python for Kids is a lighthearted introduction to the Python language and to programming in general, complete with illustrations and kid-friendly examples. We begin with the basics of how to install Python and write simple commands. In bite-sized chapters, you'll discover the essentials of Python, including how to use Python's extensive s...
Types are the central organizing principle of the theory of programming languages. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absence of ill-d...
Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet. Python is an easy to use and easy to learn programming language that is freely availa...
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....
Anyone can be a scientist, and this issue we'll show you how. Whether you're interested in space, traffic, the oceans, or something else, there's a citizen science project for you. The world has never been more connected - so let's use that connectivity to make our planet better!
- We talk to a real-like scientist about the e...
The book is based on "First semester in Numerical Analysis with Julia". The contents of the original book are retained, while all the algorithms are implemented in Python (Version 3.8.0). Python is an open source (under OSI), interpreted, general-purpose programming language that has a large number of users around the world. Python is ran...
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, ...
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) ...
Mastering Dyalog APL is a complete guide to the use of Dyalog, beginning with a thorough introduction to the APL programming language. Following this, the tutorial describes a large number of common coding techniques and discusses a variety of interfaces, including file handling and COM/OLE. Bernard Legrand provides a comprehensive introduction to ...
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...
This open book aims to provide novice programmers solid foundation of basic knowledge regardless of the programming language. This book covers the fundamentals of programming that have not changed significantly over the last 10 years. Educational content was developed by an authoritative author team led by Svetlin Nakov from the Software University...
It is increasingly clear that the shapes of reality - whether of the natural world, or of the built environment - are in some profound sense mathematical. Therefore it would benefit students and educated adults to understand what makes mathematics itself 'tick', and to appreciate why its shapes, patterns and formulae provide us with preci...
Creative Scala is aimed at developers who have no prior experience in Scala. It is designed to give you a fun introduction to functional programming. We assume you have some familiarity with another programming language but little or no experience with Scala or other functional languages.
We have three goals with this book:
1. To give an introd...
This book walks through all the most important and useful Excel functionalities that will advance your career in financial services. From logical functions such as IFERROR to calculating the yield of a bond, CFI's Excel book provides you with numerous examples and key shortcuts! We hope you find this book useful in reaching your future goals....
The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.
The book is especially intended for students who want to learn algorithms and possibly participate in the International Olympi...
Back in the mid 90s, Beej got tired of all his friends asking him how to do this stuff with networking programming in C, so he put pen to paper on the early World Wide Web and wrote down everything he knew just to get them off his back. Since then, the Guide has expanded significantly, with plenty of examples, and covers IPv6. Inside you'll fi...