3 Great Computer Science Books in My Library
Here are 3 amazing (if a bit old) Computer Science books from my library.
1. TCP/IP Illustrated Volume 1
Author
W. Richard Stevens
ISBN-10
0201633469
This is a fantastic textbook about different network protocols. The protocols are illustrated using the output of tcpdump and other utilities. Protocols discussed include:
IP
ARP
RARP
ICMP
UDP
IGMP
TFTP
BOOTP
TCP
SNMP
FTP
SMTP
Beside the protocols several diagnostic tools such as ping and traceroute are covered in detail. The book contains lots of diagrams, that illustrate the protocols even further. Each chapter ends with exercises. The solutions of some of those exercises can be found in the book as well. I give this book 4 stars out of 5.
2. Database System Concepts
Authors
Abraham Silberschatz, Henry Korth, S. Sudarshan
ISBN-10
0071122680
This book teaches about the inner workings, the nuts and bolts of databases without requiring a lot of prior knowledge:
Data Models
Relational Databases
Object Based Databases and XML
Data Storage and Querying
Transaction Management
Database System Architecture
Personally I feel that some material doesn't belong here, such as XML, but it seems to be a tradition to include it. I found the chapter on indices quite interesting.
At the end of the book there are several chapters on popular commercial databases. It seems that these chapters do not add any value. In any case the authors should have devoted at least one chapter to an open source database. In the real world you have as much chance to work with a commercial database as with an open source one.
My copy is quite outdated by now. New developments, for instance NoSQL databases, are not mentioned. I give this book 3 out of 5 stars.
3. Machine Learning
Author
Tom Mitchell
ISBN-10
0071154671
This is an introductory book on Machine Learning. There is quite a lot of mathematics and statistics in the book, which I like. A large number of methods and algorithms are introduced:
Neural Networks
Bayesian Learning
Genetic Algorithms
Reinforcement Learning
The material covered is very interesting and clearly explained. I find the presentation, however, a bit lacking. I think it has to do with the chosen fonts and lack of highlighting of important terms. Maybe it would have been better to have shorter paragraphs too.
If you are looking for an introductory book on machine learning right now, I would not recommend this book, because in recent years better books have been written on the subject. These are better obviously, because they include coverage of more modern techniques. I give this book 3 out of 5 stars.
Thanks for the NumPy 1.5 Beginner's Guide review by Chris Fonnesbeck on the Strong Inference Blog.


