Book picks similar to
Computer Graphics Through OpenGL: From Theory to Experiments by Sumanta Guha
programming
science
engineering
The Art of Statistics: How to Learn from Data
David Spiegelhalter - 2019
Statistics are everywhere, as integral to science as they are to business, and in the popular media hundreds of times a day. In this age of big data, a basic grasp of statistical literacy is more important than ever if we want to separate the fact from the fiction, the ostentatious embellishments from the raw evidence -- and even more so if we hope to participate in the future, rather than being simple bystanders. In The Art of Statistics, world-renowned statistician David Spiegelhalter shows readers how to derive knowledge from raw data by focusing on the concepts and connections behind the math. Drawing on real world examples to introduce complex issues, he shows us how statistics can help us determine the luckiest passenger on the Titanic, whether a notorious serial killer could have been caught earlier, and if screening for ovarian cancer is beneficial. The Art of Statistics not only shows us how mathematicians have used statistical science to solve these problems -- it teaches us how we too can think like statisticians. We learn how to clarify our questions, assumptions, and expectations when approaching a problem, and -- perhaps even more importantly -- we learn how to responsibly interpret the answers we receive. Combining the incomparable insight of an expert with the playful enthusiasm of an aficionado, The Art of Statistics is the definitive guide to stats that every modern person needs.
How to Build Your Own Spaceship: The Science of Personal Space Travel
Piers Bizony - 2008
The future is here: Civilians are launching into orbit. How to Build Your Own Spaceship takes readers on a fun and quirky trip to the forefront of commercial space travel-the latest technology, the major business players, and the personal and financial benefits that are ripe for the picking. Science-writer Piers Bizony's breadth of knowledge, quick wit, and no-nonsense explanations of the hard science in this emerging arena will satisfy even the most dedicated space fanatics. With practical advice (from picking the best jet fuel to funding your own fleet of space crafts), unbelievable space facts, and fascinating photos, Bizony's user-friendly guide to blasting off is a must-have ticket to the final frontier.
Computer Networks and Internets [With CDROM and Companion Website Access Code Card]
Douglas E. Comer - 1996
Leading networking authority Douglas Comer presents a wide-ranging, self-contained tour of the concepts, principles, and technologies that enable today's Internet to support applications ranging from web browsing to telephony and multimedia. This Fifth Edition has been thoroughly reorganized, revised, and updated: it includes extensive new coverage of topics ranging from wireless protocols to network performance, while reducing or eliminating coverage of older protocols and technologies. Comer begins by illuminating the applications and facilities offered by today's Internet. Next, he systematically introduces the underlying network technologies and protocols that make them possible: low-level data communications; packet switching, LAN, and WAN technologies; and Internet protocols such as TCP, IP, UDP, and IPv6. With these concepts and technologies established, he introduces several of the most important contemporary issues faced by network implementers and managers, including quality of service, Internet telephony, multimedia, network security, and network management. Comer has carefully designed this book to support both top-down and bottom-up teaching approaches. Students need no background in operating systems, and no sophisticated math: Comer relies throughout on figures, drawings, examples, and analogies, "not" mathematical proofs.
Python for Informatics: Exploring Information: Exploring Information
Charles Severance - 2002
You can think of Python as your tool to solve problems that are far beyond the capability of a spreadsheet. It is an easy-to-use and easy-to learn programming language that is freely available on Windows, Macintosh, and Linux computers. There are free downloadable copies of this book in various electronic formats and a self-paced free online course where you can explore the course materials. All the supporting materials for the book are available under open and remixable licenses. This book is designed to teach people to program even if they have no prior experience.
Effective Python: 59 Specific Ways to Write Better Python
Brett Slatkin - 2015
This makes the book random-access: Items are easy to browse and study in whatever order the reader needs. I will be recommending "Effective Python" to students as an admirably compact source of mainstream advice on a very broad range of topics for the intermediate Python programmer. " Brandon Rhodes, software engineer at Dropbox and chair of PyCon 2016-2017" It s easy to start coding with Python, which is why the language is so popular. However, Python s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up. " Effective Python " will help you master a truly Pythonic approach to programming, harnessing Python s full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers best-selling "Effective C++, " Brett Slatkin brings together 59 Python best practices, tips, and shortcuts, and explains them with realistic code examples. Drawing on years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You ll learn the best way to accomplish key tasks, so you can write code that s easier to understand, maintain, and improve. Key features includeActionable guidelines for all major areas of Python 3.x and 2.x development, with detailed explanations and examples Best practices for writing functions that clarify intention, promote reuse, and avoid bugs Coverage of how to accurately express behaviors with classes and objects Guidance on how to avoid pitfalls with metaclasses and dynamic attributes More efficient approaches to concurrency and parallelism Better techniques and idioms for using Python s built-in modules Tools and best practices for collaborative development Solutions for debugging, testing, and optimization in order to improve quality and performance "
Java Concurrency in Practice
Brian Goetz - 2005
Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book."--Martin BuchholzJDK Concurrency Czar, Sun Microsystems"For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's--and tomorrow's--systems."--Doron RajwanResearch Scientist, Intel Corp"This is the book you need if you're writing--or designing, or debugging, or maintaining, or contemplating--multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover."--Ted NewardAuthor of Effective Enterprise Java"Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance."--Kirk PepperdineCTO, JavaPerformanceTuning.com"This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it."--Dr. Cliff ClickSenior Software Engineer, Azul Systems"I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today."--Dr. Heinz KabutzThe Java Specialists' Newsletter"I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery--it's destined to be a very important book."--Bruce TateAuthor of Beyond Java" Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere."--Bill VennersAuthor of Inside the Java Virtual MachineThreads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.This book covers:Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model
First Steps
Chris Hechtl - 2010
They and several heroes of future space flight take on and do the impossible, build a program to explore and settle the red planet in a very short time period. Along the way they dig up old and invent new technology to overcome the many problems facing them. Mario and his wife are forced to take his brother's place when he is viciously attacked moments before launch. The team must overcome many problems, weather, radiation, and politics to get the colony started. Along the way they must divert an asteroid which has some far reaching consequences. Mankind will never be the same after the Mario brothers come on the scene!
Jurassic Ark
Edward J. McFadden III - 2020
Led by Brazilian guide Diogo and a contingent of mercenaries, the husband and wife team trek into the jungle to investigate.The trail of dead monkeys leads deep into the rainforest and the group fractures when Mic describes seeing a fifteen-foot spinosaurus prowling the forest. Despite the defections of their guide and two guards, the scientists track the dinosaur in search of answers.The horrors they discover quickly turn their mission to one of survival as the team fights monsters of the past… and the unknown.
CBD-Rich Hemp Oil - Cannabinoid Nursing 101: Cannabis Medicine is Back
Tina Rappaport - 2014
Although it has a long history, the recent discovery (1992) of the body's widespread endocannabinoid system (ECS) has thrust cannabis back into the limelight again as a viable medicine. In 2012 over 2.5 million prescriptions were written for medical marijuana in the United States. CBD and THC are both cannabinoids found in cannabis. However, while THC produces a “high” in the user, CBD does not. And now legal CBD-rich hemp oil is available over-the-counter in all 50 states, without a prescription. It was discovered that the Hemp Family of plants (cannabis, marijuana) is loaded with cannabinoids that stimulate our ECS receptor sites. These sites are found in the brain, organs, glands, connective tissue and immune cells and plays regulatory roles in many physiological processes including appetite, pain-sensation, mood and memory. The primary purpose of this system revolves around maintaining balance in the body. Cannabinoids found in all varieties of cannabis work in harmony with the cannabinoids we naturally produce when our system is functioning properly. It is now coming to light that we may very well be “Endocannabinoid Deficient” and supplementing with Cannabidiol, known as CBD, may provide just what we’re missing to restore optimum health. The health benefits of cannabidiol (CBD) from natural hemp oil is this book's primary focus. It explores the similarities, differences, uses and benefits of hemp, cannabis and medical marijuana along with the interplay of THC and CBD. Their 480 other components are also discussed, such as terpenoids, flavonoids, enzymes, vitamins, etc. Make no mistake about it, the endocannabinoid system, although newly discovered, is just as important as any other bodily system, like the muscular, cardiac, circulatory or digestive system. The ECS requires its own specialized medicine as found in the Hemp Family of plants, which is also known as cannabis, and which includes all strains of marijuana. Here is a list of conditions known and/or being researched that may be helped by cannabinoid therapeutics and supplementation: Acne ADD/ADHD Addiction AIDS ALS (Lou Gehrig's Disease) Alzheimer’s Anorexia Antibiotic Resistance Anxiety Atherosclerosis Arthritis Asthma Autism Bipolar Cancer Colitis/Crohn’s Depression Diabetes Endocrine Disorders Epilepsy/Seizure Fibromyalgia Glaucoma Heart Disease Huntington’s Inflammation Irritable Bowel Kidney Disease Liver Disease Metabolic Syndrome Migraine Mood Disorders Motion Sickness Multiple Sclerosis Nausea Neurodegeneration Neuropathic Pain Obesity OCD Osteoporosis Parkinson’s Prion/Mad Cow Disease PTSD Rheumatism Schizophrenia Sickle Cell Anemia Skin Conditions Sleep Disorders Spinal Cord Injury Stress Stroke/TBI 10% of the proceeds from sales of this book will be donated to the American Cannabis Nurses Association in an effort to bring together nurses, to share, integrate and one day certify nurses in the science of endocannabinoid therapeutics in nursing practice.
Effective Java
Joshua Bloch - 2001
The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util
The Algorithm Design Manual
Steven S. Skiena - 1997
Drawing heavily on the author's own real-world experiences, the book stresses design and analysis. Coverage is divided into two parts, the first being a general guide to techniques for the design and analysis of computer algorithms. The second is a reference section, which includes a catalog of the 75 most important algorithmic problems. By browsing this catalog, readers can quickly identify what the problem they have encountered is called, what is known about it, and how they should proceed if they need to solve it. This book is ideal for the working professional who uses algorithms on a daily basis and has need for a handy reference. This work can also readily be used in an upper-division course or as a student reference guide. THE ALGORITHM DESIGN MANUAL comes with a CD-ROM that contains: * a complete hypertext version of the full printed book. * the source code and URLs for all cited implementations. * over 30 hours of audio lectures on the design and analysis of algorithms are provided, all keyed to on-line lecture notes.
Communication Systems
Simon Haykin - 1978
In addition to being the most up-to-date communications text available, Simon Haykin has added MATLAB computer experiments.
Nuclear Energy: What Everyone Needs to Know(r)
Charles D. Ferguson - 2011
Worries about the dangers that nuclear plants and their radioactive waste posed to nearby communities grew over time, and plant construction in the UnitedStates virtually died after the early 1980s. The 1986 disaster at Chernobyl only reinforced nuclear power's negative image. Yet in the decade prior to the Japanese nuclear crisis of 2011, sentiment about nuclear power underwent a marked change. The alarming acceleration of global warming due to theburning of fossil fuels and concern about dependence on foreign fuel has led policymakers, climate scientists, and energy experts to look once again at nuclear power as a source of energy.In this accessible overview, Charles D. Ferguson provides an authoritative account of the key facts about nuclear energy. What is the origin of nuclear energy? What countries use commercial nuclear power, and how much electricity do they obtain from it? How can future nuclear power plants be madesafer? What can countries do to protect their nuclear facilities from military attacks? How hazardous is radioactive waste? Is nuclear energy a renewable energy source? Featuring a discussion of the recent nuclear crisis in Japan and its ramifications, Ferguson addresses these questions and more inNuclear Energy: What Everyone Needs to Know(R), a book that is essential for anyone looking to learn more about this important issue.What Everyone Needs to Know(R) is a registered trademark of Oxford University Press.
Joel on Software
Joel Spolsky - 2004
For years, Joel Spolsky has done exactly this at www.joelonsoftware.com. Now, for the first time, you can own a collection of the most important essays from his site in one book, with exclusive commentary and new insights from joel.
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric Evans - 2003
"His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.