Programming Textbooks
Some for school, some for pleasure
-
Data Structures and Algorithms
Data -- Data Structures.
Read moreThe single most useful and enlightening programming textbook in my entire college career, and the thing only set me back $10. All others you can do without.
-
Unix in a Nutshell
As an open operating system, Unix can be improved on by anyone and everyone: individuals, companies, universities, and more. As a result, the very nature of Unix has been altered over the years by numerous extensions formulated in an assortment of versions. Today, Unix encompasses everything from Sun's Solaris to Apple's Mac OS X and more varieties of Linux than you can easily name. The latest edition of this bestselling reference brings Unix into the 21st century. It's been reworked to keep current with the broader state of Unix in today's world and highlight the strengths of this operating system in all its various flavors. Detailing all Unix commands and options, the informative guide provides generous descriptions and examples that put those commands in context. Here are some of the new features you'll find in Unix in a Nutshell, Fourth Edition: Solaris 10, the latest version of the SVR4-based operating system, GNU/Linux, and Mac OS X Bash shell (along with the 1988 and 1993 versions of ksh) tsch shell (instead of the original Berkeley csh) Package management programs, used for program installation on popular GNU/Linux systems, Solaris and Mac OS X GNU Emacs Version 21 Introduction to source code management systems Concurrent versions system Subversion version control system GDB debugger As Unix has progressed, certain commands that were once critical have fallen into disuse. To that end, the book has also dropped material that is no longer relevant, keeping it taut and current. If you're a Unix user or programmer, you'll recognize the value of this complete, up-to-date Unix reference. With chapter overviews, specific examples, and detailed command.
Read more -
The Practice of Programming
Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages.
Read more -
The Design and Implementation of the 4.4 BSD Operating System
This book describes the design and implementation of the BSD operating system--previously known as the Berkeley version of UNIX. Today, BSD is found in nearly every variant of UNIX, and is widely used for Internet services and firewalls, timesharing, and multiprocessing systems. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; systems programmers can learn how to maintain, tune, and extend the system. Written from the unique perspective of the system's architects, this book delivers the most comprehensive, up-to-date, and authoritative technical information on the internal structure of the latest BSD system. As in the previous book on 4.3BSD (with Samuel Leffler), the authors first update the history and goals of the BSD system. Next they provide a coherent overview of its design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the system's facilities. As an in-depth study of a contemporary, portable operating system, or as a practical reference, readers will appreciate the wealth of insight and guidance contained in this book. Highlights of the book: Details major changes in process and memory management Describes the new extensible and stackable filesystem interface Includes an invaluable chapter on the new network filesystem Updates information on networking and interprocess communication
Read more -
Interactive Computer Graphics
This primer provides an introduction to OpenGL version 1.2 that should prove useful to students on a graphics course that requires programming using OpenGL. In this book, Edward Angel presents the commands, provides examples and discusses common beginners' pitfalls when talking about: two-dimensional programs; interaction and animation; three-dimensional programs; transformations; lights and materials; bits and pixels; texture mapping; curves and surfaces; as well as some advanced features. It presents a non-mathematical treatment of OpenGL, with an approach that gets students using OpenGL quickly.
Read more -
A First Course in Database Systems
Provides in-depth coverage of databases from the point of view of the database designer, user, and application programmer, leaving implementation for later courses. It covers the latest database standards: SQL: 1999, SQL/PSM, SQL/CLI, JDBC, ODL, and XML.
Read more -
Computer Graphics
A complete update of a bestselling introduction to computer graphics, this volume explores current computer graphics hardware and software systems, current graphics techniques, and current graphics applications. Includes expanded coverage of algorithms, applications, 3-D modeling and rendering, and new topics such as distributed ray tracing, radiosity, physically based modeling, and visualization techniques.
Read more