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...
Computer Networks: A Systems Approach, Sixth Edition, explores the key principles of computer networking, using real world examples from network and protocol design. Using the Internet as the primary example, this best-selling classic textbook explains various protocols and networking technologies. The systems-oriented approach encourages students ...
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...
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...
In Performing Deception, Brian Rappert reconstructs the practice of entertainment magic by analysing it through the lens of perception, deception and learning, as he goes about studying conjuring himself.
Through this novel meditation on reasoning and skill, Rappert elevates magic from the undertaking of mere trickery to an art that offers the b...
From component choice, to packaging, to marketing, to the million other things that you need to do when you scale up production, we'll help you turn your project into a product - and along the way it'll help you be a better maker.
- Build a rocket-powered wing-wing glider out of balsa wood and 3D printed parts (it's like the space...
Everyone needs a little cryptology.
The problem with crypto is that it has a reputation of being very hard and mysterious, as well as very easy to get wrong. While there are aspects of crypto that are connected to quite modern and complex theories - such as number theory, an old and deep branch of mathematics; complexity theory, a new(er) and su...
The Raspberry Pi Pico: it's tiny, it's fast, it's versatile, and even more impressively these days it's available. And now it's got even better, with the introduction of the new internet-enabled Raspberry Pi Pico W. We'll run through the capabilities of this little board, and get you started on the road to victory with...
As children we were told not to play with our food. As adults, we can do whatever the heck we like. Join us this month to celebrate the joy of messing around with food, whether that's grilling cheese, making coffee, or automating the construction of tacos.
- Find things to make and do with polystyrene
- Drool over a 3D printed chocolate Je...
You might think that the next big leap in 3D printing would come in the form of a pristine white box from a high-end manufacturing facility. You'd be wrong. The hot new thing in 3D printing is an open source machine you can put together yourself in your kitchen. Come with us, and find out why your next printer should be a Voron.
- Grow food...
The Internet of Things is playground for makers. From practical projects such as pet feeders and automatic blind, to silly things like a texting pot plant, there are as many ways of connecting ordinary object to the internet as you can imagine. Let's explore!
- Meet the mom behind Geek Mom Projects
- Build a flatpack rocket
- Turn 3D prin...
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Inst...
Introduction to engineering mechanics: statics, for those who love to learn. Concepts include: particles and rigid body equilibrium equations, distributed loads, shear and moment diagrams, trusses, method of joints and sections, & inertia.
This is the first of two courses to describe how objects move and the forces that cause motion. This co...
It's not yet Christmas, but we come bearing glad tidings: the supply of Raspberry Pis available to hobbyists is starting to come back to normal. To celebrate, we're exploring 20 of the best hardware projects you can build with a Raspberry Pi - whether that's large or small, simple or complex, useful or not-so-useful.
- Keep your p...
Bodging electrical components together on a breadboard is all very well, but when it comes to making a circuit permanent, you have to learn to solder. We've rounded up the best wizarding wands to give you this magical maker power.
- Vandalism done properly
- A robot that can climb stairs
- Air-powered rocketry
- Use a laser cutter to mak...
With enough inspiration, the world is your playground - that's why this issue we're bringing you 16 of the best DIY toys and games to keep boredom at bay.
- Get started with surface mount soldering
- Make Islamic-inspired geometric LED patterns
- Building an aeroplane powered by the super duper supercapacitor
- Drool over the finest...
This book is an introduction to the language of systems biology, which is spoken among many disciplines, from biology to engineering. Authors Thomas Sauter and Marco Albrecht draw on a multidisciplinary background and evidence-based learning to facilitate the understanding of biochemical networks, metabolic modeling and system dynamics.
Their pe...
In order to represent real life situations mathematically, we often use symbols to represent unknown quantities. We call these symbols variables. Each mathematical subject requires knowledge of manipulating expressions and equations to solve for a variable. Careers such as automobile accident investigators, quality control engineers, and insurance ...