For computer network it's got to be Computer Networking by Kurose and Ross [1].
In my degree course we used Tanenbaum's Computer Networks book but because computer networking is a complex subject it's very easy to lose the forest for the trees and especially if you have Tanenbaum as the author. Don't get me wrong he's very intelligent and engaging author but probably not for fundamental textbook.
Kurose and Rose have managed to make learning computer networking somehow intuitive and rewarding with its top-down approach and the venerable Internet TCP/IP layers as the case study not the unreliastic OSI layers. I think every textbook should follow this top-down approach for superior pedagogical impact and some of the books on difficult subjects have starting to follow suits [2]. I've used the book from very 1st Edition to the latest 8th Edition, and it keeps getting better in every new editions.
Some of the approaches are very clever for example using the same diagram of "mini network" for every TCP/IP layers being introduced. It also predicted the software-defined networking (SDN) technology by treating forwarding and control planes as separate entities for the netwrok layer as early in the 1st Edition! Now the last two editions have network layer in two separate chapters for forwarding and control planes accordingly.
Ultimately after you have finished the book, you can appreciate the fact that how the Internet has become so successful and how we can create a reliable connectivity out of unreliable connections. It's really like going to the car junkyard and with all the used spare parts, be able build a reliable Toyota Land Cruiser with only a fraction of the cost of a new SUV [3].
In my degree course we used Tanenbaum's Computer Networks book but because computer networking is a complex subject it's very easy to lose the forest for the trees and especially if you have Tanenbaum as the author. Don't get me wrong he's very intelligent and engaging author but probably not for fundamental textbook.
Kurose and Rose have managed to make learning computer networking somehow intuitive and rewarding with its top-down approach and the venerable Internet TCP/IP layers as the case study not the unreliastic OSI layers. I think every textbook should follow this top-down approach for superior pedagogical impact and some of the books on difficult subjects have starting to follow suits [2]. I've used the book from very 1st Edition to the latest 8th Edition, and it keeps getting better in every new editions.
Some of the approaches are very clever for example using the same diagram of "mini network" for every TCP/IP layers being introduced. It also predicted the software-defined networking (SDN) technology by treating forwarding and control planes as separate entities for the netwrok layer as early in the 1st Edition! Now the last two editions have network layer in two separate chapters for forwarding and control planes accordingly.
Ultimately after you have finished the book, you can appreciate the fact that how the Internet has become so successful and how we can create a reliable connectivity out of unreliable connections. It's really like going to the car junkyard and with all the used spare parts, be able build a reliable Toyota Land Cruiser with only a fraction of the cost of a new SUV [3].
[1] Computer Networking: A Top-Down Approach:
https://gaia.cs.umass.edu/kurose_ross/eighth.php
[2]Learning Electrodynamics doesn’t have to be hard and boring:
https://nononsensebooks.com/edyn/
[3]Toyota Land Cruiser:
https://en.wikipedia.org/wiki/Toyota_Land_Cruiser