If you've ever written a non-trivial JavaScript application, you know that creating a code base that's easy to maintain and scales well over time is no small feat. The complexity only grows as the project becomes larger. While it's impossible to plan for every change that could possibly happen over the life of a project, you can help...
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...
How do we evaluate ambiguous concepts such as wellbeing, freedom, and social justice? How do we develop policies that offer everyone the best chance to achieve what they want from life? The capability approach, a theoretical framework pioneered by the philosopher and economist Amartya Sen in the 1980s, has become an increasingly influential way to ...
'This free book addresses an urgent issue on which little organized information exists. It reflects experience in Africa but is highly relevant to other fragile states as well.'—Constantine Michalopoulos, John Hopkins University, USA and former Director of Economic Policy and Co-ordination at the World BankFragile countries face a tripl...
How does the brain orchestrate perceptions, thoughts, and actions from the activity of its neurons? Addressing these challenging issues requires methods with sufficiently high temporal and spatial resolution of neuronal activity in both local and global networks as well as theories to advance understanding how different levels of brain dynamics int...
For medical and health workers this book is a must-have, because statistical methods in these fields are vital, and no equivalent work is available. For medical and health students this is equally true.A unique point is its low threshold, textually simple and at the same time full of self-assessment opportunities. Other unique points are the succin...
This free book explores the fundamentals of computer music and functional programming through the Haskell programming language. Functional programming is typically considered difficult to learn. This introduction in the context of creating music will allow students and professionals with a musical inclination to leverage their experience to help un...
There are many books that teach beginners how to write secret messages using ciphers. There are a couple books that teach beginners how to hack ciphers. As far as I can tell, there are no books to teach beginners how to write programs to hack ciphers. This book fills that gap.
This book is for complete beginners who do not know anything about en...
The mission of the first edition of this book was to introduce the anykernel and rump kernels and motivate their existence. Additionally, we explored the characteristics of the technology through various experiments. The paramount, often criminally overlooked experiment was the one hiding in plain sight: is it possible to construct the system in a ...
Guido van Rossum created the Python programming language in the late 1980s. In contrast to other popular languages such as C, C++ , Java, and C#, Python strives to provide a simple but powerful syntax.
Python is used for software development at companies and organizations such as Google, Yahoo, Facebook, CERN, Industrial Light and Magic, and NAS...
This book is assembled from lectures given by the author over a period of 10 years at the School of Computing of DePaul University. The lectures cover multiple classes, including Analysis and Design of Algorithms, Scientific Computing, Monte Carlo Simulations, and Parallel Algorithms. These lectures teach the core knowledge required by any scientis...
The Little Book of Semaphores is a free textbook that introduces the principles of synchronization for concurrent programming.
In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good und...
The Raspberry Pi is loved the world over by educators and makers thanks to its tiny size and endless possibilities. Find out why it's loved and how to use it with the latest official Projects Book - we've managed to stuff the fifth edition with another 200 pages of inspiring projects, practical tutorials, and definitive reviews.
- Lear...
This book for courses in Digital Systems Design introduces students to the fundamental hardware used in modern computers. Coverage includes both the classical approach to digital system design (i.e., pen and paper) in addition to the modern hardware description language (HDL) design approach (computer-based). Using this textbook enables readers to ...
This book for courses in Digital Systems Design introduces students to the fundamental hardware used in modern computers. Coverage includes both the classical approach to digital system design (i.e., pen and paper) in addition to the modern hardware description language (HDL) design approach (computer-based). Using this textbook enables readers to ...
This book provides a starter's guide to Verilog, to be used in conjunction with a one-semester course in Digital Systems Design, or on its own for readers who only need an introduction to the language. This book is designed to match the way the material is actually taught in the classroom. Topics are presented in a manner which builds foundati...
This definitive text/reference on computer network and information security presents a comprehensive guide to the repertoire of security tools, algorithms and best practices mandated by the rapidly evolving ubiquitous technology we are increasingly dependent on. Fully revised and updated, this timely new edition encompasses the latest developments ...
This textbook examines a wide range of humanitarian action issues in five parts, presented by specialists from different academic fields. The respective parts reflect the five core modules of the International NOHA Joint Master’s Programme “International Humanitarian Action”: a) World Politics, b) International Law, c) Public Health, d) Anthr...
This book provides students and practicing engineers with a comprehensive guide to off-grid electrification: from microgrids and energy kiosks to solar home systems and solar lanterns. As the off-grid electrification industry grows, universities are starting and expanding courses and programs in humanitarian engineering and appropriate technology. ...
Windows Server has powered a generation of organizations, from small businesses to large enterprises. No matter what your role in IT, you can be guaranteed you that have touched Windows Server at some point in your career or at very least you have seen it from afar! This book introduces you to Windows Server 2016, which is the next version of Windo...
The Excel VBA Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
The Java Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
This book shall provide you a walk through the different aspect of application development using Qt version 5.x. It focuses on the new Qt Quick technology but also provides necessary information of writing C++ back-ends and extension for Qt Quick....
The Microsoft SQL Server Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
Author Emanuele DelBono guides readers along the first steps of mastering the Elixir programming language in Elixir Succinctly. Providing a brief overview of Elixir's history and purpose and clear instructions to create an app with Elixir, DelBono makes it easy for developers who wish to add a new language to their repertoire....
Even the best programmers make mistakes, and experienced programmer Mike Pirnat has made his share during 15+ years with Python. Some have been simple and silly; others were embarrassing and downright costly. In this O'Reilly report, he dissects some of his most memorable blunders, peeling them back layer-by-layer to reveal just what went wron...
Firefox, a free Web browser developed by the Mozilla Foundation, is used by an estimated 270 million people worldwide. To maintain and improve the Firefox browser, Mozilla depends not only on its team of professional programmers and managers but also on a network of volunteer technologists and enthusiasts - free/libre and open source software (FLOS...
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....
At least 80% of all information being collected by enterprises includes geolocation data. The Bing Maps V8 library is a very large collection of JavaScript code that allows web developers to place a map on a webpage, query for data, and manipulate objects on a map, creating a geo-application. In Bing Maps V8 Succinctly, James McCaffrey takes reader...
The Visual Basic .NET Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
This open book follows the development of the Building Resilience in Teacher Education (BRiTE) project across Australia and internationally. Drawing on the success of this project and the related research collaborations that have since emerged, it highlights the importance of cultivating resilience at various stages of teachers' careers.
Divi...
Online teaching can quickly become overwhelming. Finding ways to offer detailed and quality support, learning, and feedback, but through efficient and time-saving methods, will mean higher quality learning for less instructional time. For example, save all the course announcements, as they can be reused time and again. Create files of all tutorials...