Book picks similar to
First-Order Logic and Automated Theorem Proving by Melvin Fitting
logic
mathematics
prolog
logic-reading-list
Mindstorms: Children, Computers, And Powerful Ideas
Seymour Papert - 1980
We have Mindstorms to thank for that. In this book, pioneering computer scientist Seymour Papert uses the invention of LOGO, the first child-friendly programming language, to make the case for the value of teaching children with computers. Papert argues that children are more than capable of mastering computers, and that teaching computational processes like de-bugging in the classroom can change the way we learn everything else. He also shows that schools saturated with technology can actually improve socialization and interaction among students and between students and teachers.
Site Reliability Engineering: How Google Runs Production Systems
Betsy Beyer - 2016
So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Michael T. Nygard - 2007
Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?If you're a developer and don't want to be on call for 3AM for the rest of your life, this book will help.In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You'll learn how to design your application for maximum uptime, performance, and return on investment.Mike explains that many problems with systems today start with the design.
Code Complete
Steve McConnell - 1993
Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Refactoring: Improving the Design of Existing Code
Martin Fowler - 1999
Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring, these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use... until now. In Refactoring: Improving the Design of Existing Software, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.
Calculus, Better Explained: A Guide To Developing Lasting Intuition
Kalid Azad - 2015
Learn the essential concepts using concrete analogies and vivid diagrams, not mechanical definitions. Calculus isn't a set of rules, it's a specific, practical viewpoint we can apply to everyday thinking. Frustrated With Abstract, Mechanical Lessons? I was too. Despite years of classes, I didn't have a strong understanding of calculus concepts. Sure, I could follow mechanical steps, but I had no lasting intuition. The classes I've seen are too long, taught in the wrong order, and without solid visualizations. Here's how this course is different: 1) It gets to the point. A typical class plods along, saving concepts like Integrals until Week 8. I want to see what calculus can offer by Minute 8. Each compact, tightly-written lesson can be read in 15 minutes. 2) Concepts are taught in their natural order. Most classes begin with the theory of limits, a technical concept discovered 150 years after calculus was invented. That's like putting a new driver into a Formula-1 racecar on day 1. We can begin with the easy-to-grasp concepts discovered 2000 years ago. 3) It has vivid analogies and visualizations. Calculus is usually defined as the "study of change"... which sounds like history or geology. Instead of an abstract definition, we'll see calculus a step-by-step viewpoint to explore patterns. 4) It's written by a human, for humans. I'm not a haughty professor or strict schoolmarm. I'm a friend who saw a fun way to internalize some difficult ideas. This course is a chat over coffee, not a keep-your-butt-in-your-seat lecture. The goal is to help you grasp the Aha! moments behind calculus in hours, not a painful semester (or a decade, in my case). Join Thousands Of Happy Readers Here's a few samples of anonymous feedback as people went through the course. The material covers a variety of levels, whether you're looking for intuitive appreciation or the specifics of the rules. "I've done all of this stuff before, and I do understand calculus intuitively, but this was the most fun I've had going through this kind of thing. The informal writing and multitude of great analogies really helps this become an enjoyable read and the rest is simple after that - you make this seem easy, but at the same time, you aren't doing it for us…This is what math education is supposed to be like :)" "I have psychology and medicine background so I relate your ideas to my world. To me the most useful idea was what each circle production feels like. Rings are natural growth…Slices are automatable chunks and automation cheapens production… Boards in the shape on an Arch are psychologically most palatable for work (wind up, hard part, home stretch). Brilliant and kudos, from one INTP to another." "I like how you're introducing both derivatives and integrals at the same time - it's really helps with understanding the relationship between them. Also, I appreciate how you're coming from such a different angle than is traditionally taken - it's always interesting to see where you decide to go next." "That was breathtaking. Seriously, mail my air back please, I've grown used to it. Beautiful work, thank you. Lesson 15 was masterful. I am starting to feel calculus. "d/dx is good" (sorry, couldn't resist!)."