The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice ...
The Business of Plant Breeding is the result of a study on demand-led plant variety design for markets in Africa, sharing best practices from private and public sector breeding programmes worldwide that are applicable to improving tropical crops in Africa.
Beginning with an overview of the principles of demand-led plant breeding, the book then d...
To help you get the most of out of your Raspberry Pi computer, this official Handbook features 200 pages of essential information, inspiring projects, practical tutorials, and definitive reviews.
- Learn how to set up your Raspberry Pi and start using it;
- Discover the new Raspberry Pi 400 and High Quality Camera;
- Be inspired by incredible ...
The author wrote this open book to help you quickly learn Next.js and get familiar with how it works.
The ideal reader of the book has zero knowledge of Next.js, has used React in the past, and is looking forward diving more into the React ecosystem, in particular server-side rendering.
I find Next.js an awesome tool to create Web Application...
The purpose of this book is to help you program shared-memory parallel systems without risking your sanity. Nevertheless, you should think of the information in this book as a foundation on which to build, rather than as a completed cathedral. Your mission, if you choose to accept, is to help make further progress in the exciting field of parallel ...
You can cache static assets - more than half the payload needed to respond to many web requests - and even application‑generated web pages (whether partial or complete). And you can use cache clusters and microcaching to increase the caching capability of your web applications while simplifying implementation and reducing operational complexity.
...
This issue we're paying homage to some of our favourite projects built on the Raspberry Pi. We're living in a golden age for experimentation, accessible making and digital discovery - and a large part of that is thanks to this teeny tiny computer. Just add imagination!
- How one maker achieved perfection (yes, really!) by embracing fai...
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...
If your 3D printer is looking a little dusty and unloved, now's the time to put it to work: we've 50 of the best 3D prints to improve your home, office, workshop and more. From functional to frivolous, we've got ideas for you. It's time to unleash the awesome power of your printer!
- Oskitone: where 3D printing meets analogue...
When you've graduated from breadboards and jumper wires it's time to tackle electronics the way the pros do it: by making your own PCBs! We'll take you from beginner to slightly more experienced beginner, with a guide to designing, debugging and manufacturing your own custom electronic creation.
- Learn the secrets of the guitaris...
Bash is the shell, or command language interpreter, for thegnuoperating system. Thename is an acronym for the 'Bourne-Again SHell', a pun on Stephen Bourne, the authorof the direct ancestor of the current Unix shellsh, which appeared in the Seventh Edition Bell Labs Research version of Unix.
Bash is largely compatible withshand incorpo...
If you're new to programming, this book will introduce you to thepatterns and concepts used to build modern web applications. You'lllearn how to build a web app (and how the big pieces fit together) by building something from scratch! While this little book won't be able tocover absolutely everything you need to know about programmin...
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 ...
Improving learning evidence and outcomes for those most in need in developing countries is at the heart of the United Nations' Sustainable Development Goal on Education (SDG4). This timely volume brings together contributions on current empirical research and analysis of emerging trends that focus on improving the quality of education through ...
Put simply, Azure Virtual Desktop is a way to serve Windows resources over the internet. You can deliver an entire desktop or specific applications, and your users can access them anywhere, on any device. In Azure Virtual Desktop Succinctly, author Marco Moioli provides a thorough overview of the service, covering how it can enhance your organizati...
Human beings come in all shapes and sizes, all abilities and disabilities. So why should we have to fit in with technology, when technology can so easily be changed to suit us? That's the key question that unites the projects in this issue. From joystick adaptations to prosthetic limbs, we take a look at the ways that open source hardware is m...
Containers change how developers build, test, and deploy code. Adopting them takes time. Using them the wrong way can slow down your delivery process.
But you don't have a team of engineers to dedicate to this like Spotify or Netflix do. Maybe you're a startup CTO with features to ship - you can't spend hundreds of hours on intern...
A free and open-source introduction to the art and science of cinema. From the earliest iterations to the latest innovations, this introductory text explores the tools and techniques of mise-en-scene, narrative form, cinematography, editing, sound and acting, how each has contributed to the evolution of cinematic language, and how that evolution im...
Planning to build a microservice-driven cloud native application or looking to modernize existing application services? Consider using a service mesh. A service mesh approach can help you create robust and scalable applications, but it also introduces new challenges. This updated report answers common questions regarding service mesh architectures ...
With more and more companies moving on-premises applications to the cloud, software and cloud solution architects alike are busy investigating ways to improve load balancing, performance, security, and high availability for workloads. This practical book describes Microsoft Azure's load balancing options and explains how NGINX can contribute t...
Few software developers would build an application without using source control, but its adoption for databases has been slower. Yet without source control to maintain the scripts necessary to create our database objects, load lookup data, and take other actions, we cannot guarantee a reliable and repeatable database deployment process, let alone c...
Even as spending on digital transformation continues to skyrocket, mainframes nevertheless have major advantages for global enterprises. These systems still process huge amounts of information and allow for highly secure transactions. In this practical book, author Tom Taulli shows software developers how to pursue a hybrid approach by integrating ...
Lecture notes for the Yale Computer Science course CPSC 469/569 Randomized Algorithms. Suitable for use as a supplementary text for an introductory graduate or advanced undergraduate course on randomized algorithms. Discusses tools from probability theory, including random variables and expectations, union bound arguments, concentration bounds, app...
Flutter made quite the impact when it landed in the cross-platform mobile framework landscape. Developed by Google, open source, targeting iOS and Android, smooth animations and motion, platform awareness, hot reload - the list of highlights goes on and on, demonstrating why Flutter is a worth any mobile developer's attention. In Flutter UI Su...
Every Database Administrator, developer, report writer, and anyone else who writes T-SQL to access SQL Server data, must understand how to read and interpret execution plans. My book leads you right from the basics of capturing plans, through how to interrupt them in their various forms, graphical or XML, and then how to use the information you fin...
For healthcare professionals, clinical education is foundational to the learning process. However, balancing safe patient care with supportive learning opportunities for students can be challenging for instructors and the complex social context of clinical learning environments makes intentional teaching approaches essential. Clinical instructors r...
Field programmable gate arrays (FPGAs) are integrated circuits that enable designers to program customized digital logic in the field. FPGAs have been around since the 1980s and were originally conceived to give all design teams the ability to create custom logic. In the early days, using an FPGA in your design meant you had to do a lot of programm...
A new edition of a graduate-level machine learning textbook that focuses on the analysis and theory of algorithms.
This book is a general introduction to machine learning that can serve as a textbook for graduate students and a reference for researchers. It covers fundamental modern topics in machine learning while providing the theoretical basi...
Svelte is an exciting Web framework that offers a fresh new take on how to build Web applications.
If you are already experienced in React, Vue, Angular or other frontend frameworks you might be pleasantly surprised by Svelte.
My first impression with Svelte was that it all feels so much more like plain JavaScript than working with other fram...
New Global Cities in Latin America and Asia: Welcome to the Twenty-First Century proposes new visions of global cities and regions historically considered "secondary" in the international context. The arguments are not only based on material progress made by these metropolises, but also on the growing social difficulties experienced (e.g....
Linux crash analysis - this is a subject that has lots of unanswered mail threads and plain text documents scattered all over the place, inaccessible to almost everyone, save the tiny percentage of super geeks.
My personal and professional interest in the last three years has taken me down the path of Linux kernel secrets, all the way into assem...
Resilient Web Design, you might think that this is a handbook for designing robust websites. This is not a handbook. It's more like a history book.
But in the world of web design, we are mostly preoccupied with the here and now. When we think beyond our presentmoment, it is usually to contemplate the future - to imaginethe devices, features...