Book picks similar to
OpenIntro Statistics by David M. Diez
statistics
math
science
mathematics
Modern Operating Systems
Andrew S. Tanenbaum - 1992
What makes an operating system modern? According to author Andrew Tanenbaum, it is the awareness of high-demand computer applications--primarily in the areas of multimedia, parallel and distributed computing, and security. The development of faster and more advanced hardware has driven progress in software, including enhancements to the operating system. It is one thing to run an old operating system on current hardware, and another to effectively leverage current hardware to best serve modern software applications. If you don't believe it, install Windows 3.0 on a modern PC and try surfing the Internet or burning a CD. Readers familiar with Tanenbaum's previous text, Operating Systems, know the author is a great proponent of simple design and hands-on experimentation. His earlier book came bundled with the source code for an operating system called Minux, a simple variant of Unix and the platform used by Linus Torvalds to develop Linux. Although this book does not come with any source code, he illustrates many of his points with code fragments (C, usually with Unix system calls). The first half of Modern Operating Systems focuses on traditional operating systems concepts: processes, deadlocks, memory management, I/O, and file systems. There is nothing groundbreaking in these early chapters, but all topics are well covered, each including sections on current research and a set of student problems. It is enlightening to read Tanenbaum's explanations of the design decisions made by past operating systems gurus, including his view that additional research on the problem of deadlocks is impractical except for "keeping otherwise unemployed graph theorists off the streets." It is the second half of the book that differentiates itself from older operating systems texts. Here, each chapter describes an element of what constitutes a modern operating system--awareness of multimedia applications, multiple processors, computer networks, and a high level of security. The chapter on multimedia functionality focuses on such features as handling massive files and providing video-on-demand. Included in the discussion on multiprocessor platforms are clustered computers and distributed computing. Finally, the importance of security is discussed--a lively enumeration of the scores of ways operating systems can be vulnerable to attack, from password security to computer viruses and Internet worms. Included at the end of the book are case studies of two popular operating systems: Unix/Linux and Windows 2000. There is a bias toward the Unix/Linux approach, not surprising given the author's experience and academic bent, but this bias does not detract from Tanenbaum's analysis. Both operating systems are dissected, describing how each implements processes, file systems, memory management, and other operating system fundamentals. Tanenbaum's mantra is simple, accessible operating system design. Given that modern operating systems have extensive features, he is forced to reconcile physical size with simplicity. Toward this end, he makes frequent references to the Frederick Brooks classic The Mythical Man-Month for wisdom on managing large, complex software development projects. He finds both Windows 2000 and Unix/Linux guilty of being too complicated--with a particular skewering of Windows 2000 and its "mammoth Win32 API." A primary culprit is the attempt to make operating systems more "user-friendly," which Tanenbaum views as an excuse for bloated code. The solution is to have smart people, the smallest possible team, and well-defined interactions between various operating systems components. Future operating system design will benefit if the advice in this book is taken to heart. --Pete Ostenson
A Manual for Writers of Research Papers, Theses, and Dissertations: Chicago Style for Students and Researchers
Kate L. Turabian - 1955
Bellow. Strauss. Friedman. The University of Chicago has been the home of some of the most important thinkers of the modern age. But perhaps no name has been spoken with more respect than Turabian. The dissertation secretary at Chicago for decades, Kate Turabian literally wrote the book on the successful completion and submission of the student paper. Her Manual for Writers of Research Papers, Theses, and Dissertations, created from her years of experience with research projects across all fields, has sold more than seven million copies since it was first published in 1937.Now, with this seventh edition, Turabian’s Manual has undergone its most extensive revision, ensuring that it will remain the most valuable handbook for writers at every level—from first-year undergraduates, to dissertation writers apprehensively submitting final manuscripts, to senior scholars who may be old hands at research and writing but less familiar with new media citation styles. Gregory G. Colomb, Joseph M. Williams, and the late Wayne C. Booth—the gifted team behind The Craft of Research—and the University of Chicago Press Editorial Staff combined their wide-ranging expertise to remake this classic resource. They preserve Turabian’s clear and practical advice while fully embracing the new modes of research, writing, and source citation brought about by the age of the Internet.Booth, Colomb, and Williams significantly expand the scope of previous editions by creating a guide, generous in length and tone, to the art of research and writing. Growing out of the authors’ best-selling Craft of Research, this new section provides students with an overview of every step of the research and writing process, from formulating the right questions to reading critically to building arguments and revising drafts. This leads naturally to the second part of the Manual for Writers, which offers an authoritative overview of citation practices in scholarly writing, as well as detailed information on the two main citation styles (“notes-bibliography” and “author-date”). This section has been fully revised to reflect the recommendations of the fifteenth edition of The Chicago Manual of Style and to present an expanded array of source types and updated examples, including guidance on citing electronic sources.The final section of the book treats issues of style—the details that go into making a strong paper. Here writers will find advice on a wide range of topics, including punctuation, table formatting, and use of quotations. The appendix draws together everything writers need to know about formatting research papers, theses, and dissertations and preparing them for submission. This material has been thoroughly vetted by dissertation officials at colleges and universities across the country.This seventh edition of Turabian’s Manual for Writers of Research Papers, Theses, and Dissertations is a classic reference revised for a new age. It is tailored to a new generation of writers using tools its original author could not have imagined—while retaining the clarity and authority that generations of scholars have come to associate with the name Turabian.
Calculus
Michael Spivak - 1967
His aim is to present calculus as the first real encounter with mathematics: it is the place to learn how logical reasoning combined with fundamental concepts can be developed into a rigorous mathematical theory rather than a bunch of tools and techniques learned by rote. Since analysis is a subject students traditionally find difficult to grasp, Spivak provides leisurely explanations, a profusion of examples, a wide range of exercises and plenty of illustrations in an easy-going approach that enlightens difficult concepts and rewards effort. Calculus will continue to be regarded as a modern classic, ideal for honours students and mathematics majors, who seek an alternative to doorstop textbooks on calculus, and the more formidable introductions to real analysis.
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma - 1994
Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.
Feynman Lectures On Computation
Richard P. Feynman - 1996
Feynman gave his famous course on computation at the California Institute of Technology, he asked Tony Hey to adapt his lecture notes into a book. Although led by Feynman, the course also featured, as occasional guest speakers, some of the most brilliant men in science at that time, including Marvin Minsky, Charles Bennett, and John Hopfield. Although the lectures are now thirteen years old, most of the material is timeless and presents a “Feynmanesque” overview of many standard and some not-so-standard topics in computer science such as reversible logic gates and quantum computers.
Beginning Programming with Python for Dummies
John Paul Mueller - 2014
It requires three to five times less time than developing in Java, is a great building block for learning both procedural and object-oriented programming concepts, and is an ideal language for data analysis. Beginning Programming with Python For Dummies is the perfect guide to this dynamic and powerful programming language--even if you've never coded before! Author John Paul Mueller draws on his vast programming knowledge and experience to guide you step-by-step through the syntax and logic of programming with Python and provides several real-world programming examples to give you hands-on experience trying out what you've learned.Provides a solid understanding of basic computer programming concepts and helps familiarize you with syntax and logic Explains the fundamentals of procedural and object-oriented programming Shows how Python is being used for data analysis and other applications Includes short, practical programming samples to apply your skills to real-world programming scenarios Whether you've never written a line of code or are just trying to pick up Python, there's nothing to fear with the fun and friendly Beginning Programming with Python For Dummies leading the way.
