Book picks similar to
Electromagnetic Concepts and Applications by S.V. Marshall
egr201
egr201-f2
technical
technical-reference
Fluent Python: Clear, Concise, and Effective Programming
Luciano Ramalho - 2015
With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"
Writing for Computer Science
Justin Zobel - 1997
For the most part the book is a discussion of good writing style and effective research strategies. Some of the material is accepted wisdom, some is controversial, and some is my opinions. Although the book is brief, it is designed to be comprehensive: some readers may be interested in exploring topics further, but for most readers this book should be suf?cient. The ?rst edition of this book was almost entirely about writing. This e- tion, partly in response to reader feedback and partly in response to issues that arose in my ownexperiences as an advisor, researcher, and referee, is also about research methods. Indeed, the two topics writing about and doing research are not clearly separated. It is a small step from asking how do I write? to askingwhatisitthatIwriteabout? As previously, the guidance on writing focuses on research, but much of the material is applicable to general technical and professional communication. Likewise, the guidance on the practice of research has broader lessons. A pr- titioner trying a new algorithm or explaining to colleagues why one solution is preferable to another should be con?dent that the arguments are built on robust foundations. And, while this edition has a stronger emphasis on research than did the ?rst, nothing has been deleted; there is additional material on research, but the guidance on writing has not been taken away."
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
From Harvard to Hell...and Back: A Doctor's Journey through Addiction to Recovery
Sylvester Sviokla III - 2013
Spark
Patricia Leavy - 2019
One day an invitation arrives. Peyton has been selected to attend a luxurious all-expense-paid seminar in Iceland, where participants, billed as some of the greatest thinkers in the world, will be charged with answering one perplexing question. Meeting her diverse teammates--two neuroscientists, a philosopher, a dance teacher, a collage artist, and a farmer--Peyton wonders what she could ever have to contribute. The ensuing journey of discovery will transform the characters' work, their biases, and themselves. This suspenseful novel shows that the answers you seek can be found in the most unlikely places. It can be read for pleasure, is a great choice for book clubs, and can be used as unique and inspiring reading in qualitative research and other courses in education, sociology, social work, psychology, and communication.
Engaging Learners
Andy Griffith - 2012
A class can be skilled and motivated to learn without a teacher always having to lead. Engaging learners in this way unpicks intrinsic motivation, the foundation that underpins a productive learning environment and helps to develop independent learning.Based on five years of intensive research through Osiris Education's award-winning Outstanding Teaching Intervention program this book is packed with proven advice and innovative tools that were developed in these successful outstanding lessons. Written in the same humorous, thought-provoking style with which they both teach and train, the authors aim to challenge all who teach, from newly qualified teachers to seasoned professionals, to reflect on their day-to-day practice and set an agenda for sustainable improvement.
A Tour of C++
Bjarne Stroustrup - 2013
Bjarne Stroustrup, the designer and original implementer of C++, thoroughly covers the details of this language and its use in his definitive reference, The C++ Programming Language, Fourth Edition. In
A Tour of C++
, Stroustrup excerpts the overview chapters from that complete reference, expanding and enhancing them to give an experienced programmer-in just a few hours-a clear idea of what constitutes modern C++. In this concise, self-contained guide, Stroustrup covers most major language features and the major standard-library components-not, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started. Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++11, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency. The tour ends with a discussion of the design and evolution of C++ and the extensions added for C++11. This guide does not aim to teach you how to program (see Stroustrup's Programming: Principles and Practice Using C++ for that); nor will it be the only resource you'll need for C++ mastery (see Stroustrup's The C++ Programming Language, Fourth Edition, for that). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can't find a shorter or simpler introduction than this tour provides.
Working Effectively with Legacy Code
Michael C. Feathers - 2004
This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.
Software Design Decoded: 66 Ways Experts Think
Marian Petre - 2016
Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software.The book presents these insights in a series of two-page illustrated spreads, with the principle and a short explanatory text on one page, and a drawing on the facing page. For example, "Experts generate alternatives" is illustrated by the same few balloons turned into a set of very different balloon animals. The text is engaging and accessible; the drawings are thought-provoking and often playful.Organized into such categories as "Experts reflect," "Experts are not afraid," and "Experts break the rules," the insights range from "Experts prefer simple solutions" to "Experts see error as opportunity." Readers learn that "Experts involve the user"; "Experts take inspiration from wherever they can"; "Experts design throughout the creation of software"; and "Experts draw the problem as much as they draw the solution."One habit for an aspiring expert software designer to develop would be to read and reread this entertaining but essential little book. The insights described offer a guide for the novice or a reference for the veteran--in software design or any design profession.A companion web site provides an annotated bibliography that compiles key underpinning literature, the opportunity to suggest additional insights, and more.
Introducing Quantum Theory: A Graphic Guide
J.P. McEvoy - 1992
At the subatomic level, one particle seems to know what the others are doing, and according to Heisenberg's "uncertainty principle", there is a limit on how accurately nature can be observed. And yet the theory is amazingly accurate and widely applied, explaining all of chemistry and most of physics. "Introducing Quantum Theory" takes us on a step-by-step tour with the key figures, including Planck, Einstein, Bohr, Heisenberg and Schrodinger. Each contributed at least one crucial concept to the theory. The puzzle of the wave-particle duality is here, along with descriptions of the two questions raised against Bohr's "Copenhagen Interpretation" - the famous "dead and alive cat" and the EPR paradox. Both remain unresolved.
The Tyranny of Metrics
Jerry Z. Muller - 2017
But in our zeal to instill the evaluation process with scientific rigor, we've gone from measuring performance to fixating on measuring itself. The result is a tyranny of metrics that threatens the quality of our lives and most important institutions. In this timely and powerful book, Jerry Muller uncovers the damage our obsession with metrics is causing--and shows how we can begin to fix the problem.Filled with examples from education, medicine, business and finance, government, the police and military, and philanthropy and foreign aid, this brief and accessible book explains why the seemingly irresistible pressure to quantify performance distorts and distracts, whether by encouraging "gaming the stats" or "teaching to the test." That's because what can and does get measured is not always worth measuring, may not be what we really want to know, and may draw effort away from the things we care about. Along the way, we learn why paying for measured performance doesn't work, why surgical scorecards may increase deaths, and much more. But metrics can be good when used as a complement to--rather than a replacement for--judgment based on personal experience, and Muller also gives examples of when metrics have been beneficial.Complete with a checklist of when and how to use metrics, The Tyranny of Metrics is an essential corrective to a rarely questioned trend that increasingly affects us all.
The Pragmatic Programmer: From Journeyman to Master
Andy Hunt - 1999
It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies,
The Pragmatic Programmer
illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
The Myth of the Rational Market: Wall Street's Impossible Quest for Predictable Markets
Justin Fox - 2008
The book brings to life the people and ideas that forged modern finance and investing, from the formative days of Wall Street through the Great Depression and into the financial calamity of today. It's a tale that features professors who made and lost fortunes, battled fiercely over ideas, beat the house in blackjack, wrote bestselling books, and played major roles on the world stage. It's also a tale of Wall Street's evolution, the power of the market to generate wealth and wreak havoc, and free market capitalism's war with itself.The efficient market hypothesis--long part of academic folklore but codified in the 1960s at the University of Chicago--has evolved into a powerful myth. It has been the maker and loser of fortunes, the driver of trillions of dollars, the inspiration for index funds and vast new derivatives markets, and the guidepost for thousands of careers. The theory holds that the market is always right, and that the decisions of millions of rational investors, all acting on information to outsmart one another, always provide the best judge of a stock's value. That myth is crumbling.Celebrated journalist and columnist Fox introduces a new wave of economists and scholars who no longer teach that investors are rational or that the markets are always right. Many of them now agree with Yale professor Robert Shiller that the efficient markets theory "represents one of the most remarkable errors in the history of economic thought." Today the theory has given way to counterintuitive hypotheses about human behavior, psychological models of decision making, and the irrationality of the markets. Investors overreact, underreact, and make irrational decisions based on imperfect data. In his landmark treatment of the history of the world's markets, Fox uncovers the new ideas that may come to drive the market in the century ahead.
The Book of Why: The New Science of Cause and Effect
Judea Pearl - 2018
Today, that taboo is dead. The causal revolution, instigated by Judea Pearl and his colleagues, has cut through a century of confusion and established causality -- the study of cause and effect -- on a firm scientific basis. His work explains how we can know easy things, like whether it was rain or a sprinkler that made a sidewalk wet; and how to answer hard questions, like whether a drug cured an illness. Pearl's work enables us to know not just whether one thing causes another: it lets us explore the world that is and the worlds that could have been. It shows us the essence of human thought and key to artificial intelligence. Anyone who wants to understand either needs The Book of Why.
Consilience: The Unity of Knowledge
Edward O. Wilson - 1998
In Consilience (a word that originally meant "jumping together"), Edward O. Wilson renews the Enlightenment's search for a unified theory of knowledge in disciplines that range from physics to biology, the social sciences and the humanities.Using the natural sciences as his model, Wilson forges dramatic links between fields. He explores the chemistry of the mind and the genetic bases of culture. He postulates the biological principles underlying works of art from cave-drawings to Lolita. Presenting the latest findings in prose of wonderful clarity and oratorical eloquence, and synthesizing it into a dazzling whole, Consilience is science in the path-clearing traditions of Newton, Einstein, and Richard Feynman.