Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People


Aditya Y. Bhargava - 2015
    The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes it easy for you to learn how to use algorithms effectively in your own programs.Grokking Algorithms is a disarming take on a core computer science topic. In it, you'll learn how to apply common algorithms to the practical problems you face in day-to-day life as a programmer. You'll start with problems like sorting and searching. As you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression or artificial intelligence. Whether you're writing business software, video games, mobile apps, or system utilities, you'll learn algorithmic techniques for solving problems that you thought were out of your grasp. For example, you'll be able to:Write a spell checker using graph algorithmsUnderstand how data compression works using Huffman codingIdentify problems that take too long to solve with naive algorithms, and attack them with algorithms that give you an approximate answer insteadEach carefully-presented example includes helpful diagrams and fully-annotated code samples in Python. By the end of this book, you will know some of the most widely applicable algorithms as well as how and when to use them.

The Student's Guide to Cognitive Neuroscience


Jamie Ward - 2006
    Following an introduction to neural structure and function, all the key methods and procedures of cognitive neuroscience are explained, with a view to helping students understand how they can be used to shed light on the neural basis of cognition.The second part of the book goes on to present an up-to-date overview of the latest theories and findings in all the key topics in cognitive neuroscience, including vision, attention, memory, speech and language, numeracy, executive function and social and emotional behaviour. Throughout, case studies, newspaper reports and everyday examples are used to provide an easy way in to understanding the more challenging ideas that underpin the subject.In addition each chapter includes:Summaries of key terms and points Example essay questions to aid exam preparation Recommended further reading Feature boxes exploring interesting and popular questions and their implications for the subject.Written in an engaging style by a leading researcher in the field, this book will be invaluable as a core text for undergraduate modules in cognitive neuroscience. It can also be used as a key text on courses in cognition, cognitive neuropsychology or brain and behaviour. Those embarking on research will find it an invaluable starting point and reference.We offer CD-ROM-based resources free of charge to instructors who recommend The Student's Guide to Cognitive Neuroscience by Jamie Ward. These resources include:A chapter-by-chapter, illustrated slideshow lecture course An innovative bank of multiple-choice questions, graded according to difficulty and which allow for confidence-weighted answers Comprehensive lecture planning advice tailored to different length courses.Jamie Ward has researched and taught extensively in many areas of cognitive neuroscience. He is a leading authority on the subject of synaesthesia and has contributed to a wider understanding of it in both academic and lay circles.

Feedback Control of Dynamic Systems


Gene F. Franklin - 1986
    Highlights of the book include realistic problems and examples from a wide range of application areas. New to this edition are: much sharper pedagogy; an increase in the number of examples; more thorough development of the concepts; a greater range of homework problems; a greater number and variety of worked out examples; expanded coverage of dynamics modelling and Laplace transform topics; and integration of MATLAB, including many examples that are formatted in MATLAB.

Calculus, Volume 1: One-Variable Calculus with an Introduction to Linear Algebra


Tom M. Apostol - 1961
    Integration is treated before differentiation--this is a departure from most modern texts, but it is historically correct, and it is the best way to establish the true connection between the integral and the derivative. Proofs of all the important theorems are given, generally preceded by geometric or intuitive discussion. This Second Edition introduces the mean-value theorems and their applications earlier in the text, incorporates a treatment of linear algebra, and contains many new and easier exercises. As in the first edition, an interesting historical introduction precedes each important new concept.

The Visual Display of Quantitative Information


Edward R. Tufte - 1983
    Theory and practice in the design of data graphics, 250 illustrations of the best (and a few of the worst) statistical graphics, with detailed analysis of how to display data for precise, effective, quick analysis. Design of the high-resolution displays, small multiples. Editing and improving graphics. The data-ink ratio. Time-series, relational graphics, data maps, multivariate designs. Detection of graphical deception: design variation vs. data variation. Sources of deception. Aesthetics and data graphical displays. This is the second edition of The Visual Display of Quantitative Information. Recently published, this new edition provides excellent color reproductions of the many graphics of William Playfair, adds color to other images, and includes all the changes and corrections accumulated during 17 printings of the first edition.

Computer Organization & Design: The Hardware/Software Interface


David A. Patterson - 1993
    More importantly, this book provides a framework for thinking about computer organization and design that will enable the reader to continue the lifetime of learning necessary for staying at the forefront of this competitive discipline. --John Crawford Intel Fellow Director of Microprocessor Architecture, Intel The performance of software systems is dramatically affected by how well software designers understand the basic hardware technologies at work in a system. Similarly, hardware designers must understand the far reaching effects their design decisions have on software applications. For readers in either category, this classic introduction to the field provides a deep look into the computer. It demonstrates the relationship between the software and hardware and focuses on the foundational concepts that are the basis for current computer design. Using a distinctive learning by evolution approach the authors present each idea from its first principles, guiding readers through a series of worked examples that incrementally add more complex instructions until they ha

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Introduction to Java Programming: Comprehensive Version


Y. Daniel Liang - 1999
    Daniel Liang teaches concepts of problem-solving and object-oriented programming using a fundamentals-first approach. Beginning programmers learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented and GUI programming using Java 5. Students start with the essential problem-solving and programming concepts (control statements, methods, and arrays), are then introduced to object-oriented programming, graphical user interface (GUI), and applets, and finally to exception handling, I/O, data structures, and other advanced subjects. Liang uses small, simple, and stimulating examples to demonstrate concepts and techniques while longer examples are presented in case studies with overall discussions and thorough line-by-line explanations. Students can now write short, interesting, graphical game programs starting from Chapter 2! reinforcing key concepts with objectives lists, introduction and chapter overviews, easy to follow examples, chapter summaries, review questions, programming exercises, interactive self-test. Students receive solutions to even-numbered programming exercises, source code for the examples in the book, online self assessment (w/over 1000 multiple-choice questions) and ONLINE homework through GRADIANCE, the industries most advanced online homework application. Instructors are offered the most extensive library of support materials available including interactive and animated slides, TestGen (w/over 2000 multiple-choice questions), solutions to all programming exercises, sample exams and supplemental exercises. Available in two versions, the Fundamentals First edition (chapters 1-19) and the Comprehensive version (chapters 1-36).

50 Mathematical Ideas You Really Need to Know


Tony Crilly - 2007
    Who invented zero? Why are there 60 seconds in a minute? Can a butterfly's wings really cause a storm on the far side of the world? In 50 concise essays, Professor Tony Crilly explains the mathematical concepts that allow use to understand and shape the world around us.

The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine


Charles Petzold - 2008
    Turing Mathematician Alan Turing invented an imaginary computer known as the Turing Machine; in an age before computers, he explored the concept of what it meant to be "computable," creating the field of computability theory in the process, a foundation of present-day computer programming.The book expands Turing's original 36-page paper with additional background chapters and extensive annotations; the author elaborates on and clarifies many of Turing's statements, making the original difficult-to-read document accessible to present day programmers, computer science majors, math geeks, and others.Interwoven into the narrative are the highlights of Turing's own life: his years at Cambridge and Princeton, his secret work in cryptanalysis during World War II, his involvement in seminal computer projects, his speculations about artificial intelligence, his arrest and prosecution for the crime of "gross indecency," and his early death by apparent suicide at the age of 41.

Mathematics of Classical and Quantum Physics


Frederick W. Byron Jr. - 1969
    Organized around the central concept of a vector space, the book includes numerous physical applications in the body of the text as well as many problems of a physical nature. It is also one of the purposes of this book to introduce the physicist to the language and style of mathematics as well as the content of those particular subjects with contemporary relevance in physics.Chapters 1 and 2 are devoted to the mathematics of classical physics. Chapters 3, 4 and 5 — the backbone of the book — cover the theory of vector spaces. Chapter 6 covers analytic function theory. In chapters 7, 8, and 9 the authors take up several important techniques of theoretical physics — the Green's function method of solving differential and partial differential equations, and the theory of integral equations. Chapter 10 introduces the theory of groups. The authors have included a large selection of problems at the end of each chapter, some illustrating or extending mathematical points, others stressing physical application of techniques developed in the text.Essentially self-contained, the book assumes only the standard undergraduate preparation in physics and mathematics, i.e. intermediate mechanics, electricity and magnetism, introductory quantum mechanics, advanced calculus and differential equations. The text may be easily adapted for a one-semester course at the graduate or advanced undergraduate level.

Introduction to Probability


Dimitri P. Bertsekas - 2002
    This is the currently used textbook for "Probabilistic Systems Analysis," an introductory probability course at the Massachusetts Institute of Technology, attended by a large number of undergraduate and graduate students. The book covers the fundamentals of probability theory (probabilistic models, discrete and continuous random variables, multiple random variables, and limit theorems), which are typically part of a first course on the subject. It also contains, a number of more advanced topics, from which an instructor can choose to match the goals of a particular course. These topics include transforms, sums of random variables, least squares estimation, the bivariate normal distribution, and a fairly detailed introduction to Bernoulli, Poisson, and Markov processes. The book strikes a balance between simplicity in exposition and sophistication in analytical reasoning. Some of the more mathematically rigorous analysis has been just intuitively explained in the text, but is developed in detail (at the level of advanced calculus) in the numerous solved theoretical problems. The book has been widely adopted for classroom use in introductory probability courses within the USA and abroad.

Learning From Data: A Short Course


Yaser S. Abu-Mostafa - 2012
    Its techniques are widely applied in engineering, science, finance, and commerce. This book is designed for a short course on machine learning. It is a short course, not a hurried course. From over a decade of teaching this material, we have distilled what we believe to be the core topics that every student of the subject should know. We chose the title `learning from data' that faithfully describes what the subject is about, and made it a point to cover the topics in a story-like fashion. Our hope is that the reader can learn all the fundamentals of the subject by reading the book cover to cover. ---- Learning from data has distinct theoretical and practical tracks. In this book, we balance the theoretical and the practical, the mathematical and the heuristic. Our criterion for inclusion is relevance. Theory that establishes the conceptual framework for learning is included, and so are heuristics that impact the performance of real learning systems. ---- Learning from data is a very dynamic field. Some of the hot techniques and theories at times become just fads, and others gain traction and become part of the field. What we have emphasized in this book are the necessary fundamentals that give any student of learning from data a solid foundation, and enable him or her to venture out and explore further techniques and theories, or perhaps to contribute their own. ---- The authors are professors at California Institute of Technology (Caltech), Rensselaer Polytechnic Institute (RPI), and National Taiwan University (NTU), where this book is the main text for their popular courses on machine learning. The authors also consult extensively with financial and commercial companies on machine learning applications, and have led winning teams in machine learning competitions.

Operating System Concepts


Abraham Silberschatz - 1985
    By staying current, remaining relevant, and adapting to emerging course needs, this market-leading text has continued to define the operating systems course. This Seventh Edition not only presents the latest and most relevant systems, it also digs deeper to uncover those fundamental concepts that have remained constant throughout the evolution of today's operation systems. With this strong conceptual foundation in place, students can more easily understand the details related to specific systems. New Adaptations * Increased coverage of user perspective in Chapter 1. * Increased coverage of OS design throughout. * A new chapter on real-time and embedded systems (Chapter 19). * A new chapter on multimedia (Chapter 20). * Additional coverage of security and protection. * Additional coverage of distributed programming. * New exercises at the end of each chapter. * New programming exercises and projects at the end of each chapter. * New student-focused pedagogy and a new two-color design to enhance the learning process.

Physics for Scientist and Engineers With Modern Physics


Raymond A. Serway - 1990
    This bestselling calculus-based introductory physics text for science and engineering students is recognized throughout the world for its clear and logical presentation of the basic concepts and principles of physics. The carefully crafted revision introduces coauthor Robert Beichner and contributing author John W. Jewett, Jr., who bring to the new edition their experience and talent in the area of physics education. The historically strong problem-solving approach has been further enhanced through increased realism in the worked examples and through additional guidance to students in building a systematic, step-by-step approach to solving homework problems. An updated ancillary package including full multimedia support, on-line homework plus a content-rich Web site for instructors and students complements this unsurpassed textbook and is more fully integrated with the text than ever before.