#15 in Networking & cloud computing books
Use arrows to jump to the previous/next product
Reddit mentions of Computer Networking: A Top-Down Approach (6th Edition)
Sentiment score: 16
Reddit mentions: 23
We found 23 Reddit mentions of Computer Networking: A Top-Down Approach (6th Edition). Here are the top ones.
Buying options
View on Amazon.comor
- Online Access
Features:
Specs:
Height | 9.2 Inches |
Length | 7.7 Inches |
Number of items | 1 |
Weight | 2.9321480846 Pounds |
Width | 1.4 Inches |
It seems your problem is not programming, but architecture. Namely, how the client-server architecture that most of the web is based on works.
Unfortunately, I couldn't find something that's both easy to understand and comprehensive enough, and I can't really write it here, as either I would have to simplify it too much or I'd have to write way much more than I'm comfortable writing.
So keep google for client server architecture until you find a book/tutorial/article/video/etc that makes you understand and go from there. Don't worry about languages, liibraries, frameworks and all that mumbo-jumbo for now, just focus on understanding what happens when you interact with a website, from start to end. Once you understand that, choose a language, find a framework that you think you'd like and start learning it (some frameworks, like Django, have very comprehensive tutorials). And then you keep improving that until you're satisfied with your project - or you hit your deadline, that product got to ship someday!
EDIT: Actually, I do have a recommendation: the Computer Networking: A Top-Down Approach book. Reading the first chapter will probably be enough for you, but if you enjoy it, you can read a lot more and really (begin to) understand how the Internet (and computer networks in general) work.
Thanks ;). Not so skilled on that and my advice might be misleading; though I got a background in cs:This would be my suggestion for someone beginning.
You can also search for those books pdf by using google hacks eg
filetype:pdf "title of the book here"
orintitle:index.of "title of the book here"
Good on you for looking to grow yourself as a professional! The best folks I've worked with are still working on professional development, even 10-20 years in to their profession.
Programming languages can be thought of as tools. Python, say, is a screwdriver. You can learn everything there is about screwdrivers, but this only gets you so far.
To build something you need a good blueprint. For this you can study objected oriented design (OOD) and programming (OOP). Once you have the basics, take a look at design patterns like the Gang of Four. This book is a good resource to learn about much of the above
What parts do you specify for your blueprint? How do they go together? Study up on abstract data types (ADTs) and algorithms that manipulate those data types. This is the definitive book on algorithms, it does take some work to get through it, but it is worth the work. (Side note, this is the book Google expects you to master before interviewing)
How do you run your code? You may want to study general operating system concepts if you want to know how your code interacts with the system on which it is running. Want to go even deeper with code performance? Take a look at computer architecture Another topic that should be covered is computer networking, as many applications these days don't work without a network.
What are some good practices to follow while writing your code? Two books that are widely recommended are Code Complete and Pragmatic Programmer. Though they cover a very wide range (everything from organizational hacks to unit testing to user design) of topics, it wouldn't hurt to check out Code Complete at the least, as it gives great tips on organizing functions and classes, modules and programs.
All these techniques and technologies are just bits and pieces you put together with your programming language. You'll likely need to learn about other tools, other languages, debuggers and linters and optimizers, the list is endless. What helps light the path ahead is finding a mentor, someone that is well steeped in the craft, and is willing to show you how they work. This is best done in person, watching someone design and code. Also spend some time reading the code of others (GitHub is a great place for this) and interacting with them on public mailing lists and IRC channels. I hang out on Hacker News to hear about the latest tools and technologies (many posts to /r/programming come from Hacker News). See if there are any local programming clubs or talks that you can join, it'd be a great forum to find yourself a mentor.
Lots of stuff here, happy to answer questions, but hope it's enough to get you started. Oh, yeah, the books, they're expensive but hopefully you can get your boss to buy them for you. It's in his/her best interest, as well as yours!
I'd go read books about the A+ cert (you don't need to certify but it's great material).
For other technical things I recommend a lot of books that are amazing:
Use technology books to learn processes, not end results. To be a better IT person, you should know how computers work as a system, not how to do say "Map network Drive in Windows", learn how those drives are mapped, what are the underlying fundamentals?
Computer Networking: A Top Down Approach by Kurose and Ross is often highly recommended.
Read something like this to get the ideas first, then go to TCP/IP Illustrated for the details. The TCP/IP Illustrated book is almost like an encyclopedia. If you want practical knowledge quick:
http://www.linuxhomenetworking.com/wiki/
and also play around with virtual machines. You can establish networks between your virtual machines. The networking certification exams have study guides too, although they have a poor reputation (I don't really know why).
I also don't really know why I'm getting downvoted.
When I was in school we used this in our networks class (but it looks like there's a 7th edition out now), and I thought it was a good book. Very detailed and explained things in a way that actually made sense (to me).
https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204
I don't get how you're in a masters program in cybersec without knowing how to code...
Anyway, if you are leaning towards pentesting/networks, https://www.amazon.ca/Hacking-Art-Exploitation-Jon-Erickson/dp/1593271441 as well as black hat python/violent python are what you want to start off, as well as a good book on networking book: https://www.amazon.ca/Computer-Networking-Top-Down-Approach-6th/dp/0132856204.
I'm actually confused about what the content of an msc program could be in cybersec if you don't already know how to code.
These are the best texts for each subject, IMO.
Algorithms & Data Structures
Operating Systems
[Networking] (https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204/ref=sr_1_1?s=books&ie=UTF8&qid=1525873112&sr=1-1&keywords=computer+networking+a+top-down+approach+6th+edition)
Programming Language Theory
Theory of Computation
Everybody probably has his favorite book. The book I had to study for my Networking class was Computer Networking: A TopDown Approach by Kurose and Ross.
Great book and very pedagogical. I read the Tanenbaum's book and my preference goes to the one I linked.
Since you are a student of Computer Science, am presuming you are already familiar with programming. So, your next step is mastering Operating Systems - Start by learning UNIX which is a multi-tasking cum multi-user operating system aimed to provide high level of security. (Source to learn UNIX : http://www.ee.surrey.ac.uk/Teaching/Unix/)
Next, Learn Networking concepts - Infact you should know Networking concepts in finer details because as a cybersecurity professional, you would either need to check vulnerabilities in a network or identify and exploit one. (Check this ebook for networking concepts).
In case you need more information, find here
I've read parts of that https://www.google.ch/url?sa=t&source=web&rct=j&url=https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204&ved=0ahUKEwiRlIrF4sHUAhUCb1AKHVeeBvYQFghoMAs&usg=AFQjCNFJEsWQ4VHsSGx9fcNpEt0Z2Wip_w&sig2=bsLxWN2VX4CX_8HXPluczA book. It's really good and helps you get an overview of what's going on on the internet.
Computer Networking: A Top-Down Approach by Kurose & Ross is pretty good.
What specifically? I'd suggest learning about networking in general. I.e. good place to start would be the OSI networking stack, learning about packets & how they organized, downloading and using wireshark to look at the packets going into and out of your machine.
This is the one I used, and it worked really well for me to get a good view of networking. If there's something you don't understand, I think you could google and find relevant tutorials/articles explaining the concepts there, though there's some obscure stuff that you don't need to fully understand (queuing theory) for a basic understanding.
Computer Networks A Top Down Approach, by Kurose and Ross. Amazon.
I did not understand the internet. I didn't think that was a big deal, but networking shows up a lot and understanding it has helped me out enormously. This book is excellent, too. It is extremely readable, almost colloquial. It covers the network stack in depth (application/transport/network/link/physical!) as well as other important topics like network security and networked algorithms and data structures. Stuff like distributed hash tables, routing algorithms, and even large scale data center design. Seriously, this book is amazing.
Plus, I was surprised at how many times I've been asked a networks question in interviews. That's not to be sneezed at.
Appreciate all the upvotes. Given no one has commented, I'm wondering if that means people think it's a cool idea but don't live in NYC? Would anyone be interested in doing this as a remote discussion group?
For the first book I'm thinking:
Computer Networking: A Top-Down Approach
With this self-paced 8 week course (lectures / exams / transcripts all available) https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/info
Let me know =)
Nice, the terms "client-server" and "peer-to-peer" is the correct one to use. I learnt that from Computer Networking course at university. https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204.
Popular "client-server" are Facebook, YouTube, etc, "peer-to-peer" is torrent.
Well you're not going to learn any programming without a computer. But just a book on computer systems or a book on networking will easily overflow 20 days and should be a very interesting read.
I recommend either this book on computer systems or this book on networking.
I haven't read it in years, but I remember The C Programming Language being very useful.
If you want to learn more about the low level details of how computers work in general, I own the following books and recommend them:
---
Computer Systems: A Programmers Perspective
Computer Organization and Embedded Systems
Hacking: The Art of Exploitation
Operating System Concepts Essentials
Computer Networking: A Top-Down Approach
I would recommend this book as it gives a general overview of computer networks (aka "the Internet").
>https://www.amazon.com/Computer\-Networking\-Top\-Down\-Approach\-6th/dp/0132856204
We are using this book for our intro networking course. It is really good because they really break some complex concepts down with really good everyday analogies and explain everything in detail.
Are you talking like a client and a server type situation? Where a client requests info and the server gives it (I guess through a pipe).
If so, I want to say Computer Networking as what you are looking for. I just took a class on it last semester using this textbook. Though that's not a beginner class/topic to start off with in general.