Page 1 of 1
Computer Networks: Top-down vs Bottom-up
Posted: Sun Jan 03, 2016 4:04 am
by iocoder
If have a networks course to teach/study this semester, What approach would you like more: Top-down approach, or bottom-up approach? And why? And what are the areas/layers you would enjoy the most?
Re: Computer Networks: Top-down vs Bottom-up
Posted: Sun Jan 03, 2016 4:38 am
by onlyonemac
I'm not sure what you mean by top-down and bottom-up, but the way that my teacher at college did it is certainly wrong. Don't force your students to learn the OSI model when they can look that up online; give them a solid understanding of the principles, so that they can apply them to any situation and understand the concepts, even if they need to look things up (which is not a bad thing, really).
Re: Computer Networks: Top-down vs Bottom-up
Posted: Sun Jan 03, 2016 5:36 am
by iansjack
I find that, with any new subject, going from the general to the specific is the easiest way to understand something. So I'd go for bottom up.
Re: Computer Networks: Top-down vs Bottom-up
Posted: Sun Jan 03, 2016 11:30 am
by onlyonemac
iansjack wrote:I find that, with any new subject, going from the general to the specific is the easiest way to understand something. So I'd go for bottom up.
Yes that is a good idea. Just wasn't sure what "top-down" and "bottom-up" meant, but yes starting general and then giving specific examples (as long as it's clear that those aren't the only examples) is a good idea.
Re: Computer Networks: Top-down vs Bottom-up
Posted: Sun Jan 03, 2016 5:28 pm
by Brendan
Hi,
iocoder wrote:If have a networks course to teach/study this semester, What approach would you like more: Top-down approach, or bottom-up approach? And why? And what are the areas/layers you would enjoy the most?
I'd start with "point to point link between 2 computers", then introduce "star topology" and "bus". Next would be routing in LANs; then maybe a scenic detour through wired ethernet to introduce things like noise, error handling, packet loss, collisions, queuing theory, etc.
I don't think it makes any sense to attempt "network of networks" (IP, internet routing, TCP congestion, bridges, etc) until a student understands networks.
Cheers,
Brendan
Re: Computer Networks: Top-down vs Bottom-up
Posted: Mon Jan 04, 2016 1:44 am
by onlyonemac
Brendan wrote:I don't think it makes any sense to attempt "network of networks" (IP, internet routing, TCP congestion, bridges, etc) until a student understands networks.
True, although my teacher at college left out these things right until the end and the entire class was confused, because they were trying to relate networking to the internet and couldn't see the link. For example, they didn't understand how it was possible to use "public" IP addresses (outside the 192.168.x.x range and other similar ranges) on a local network, and when they went to set up a WAN (in a simulated environment) they thought it was the same as an internet gateway. Somehow I think that it's difficult for students to grasp the concept of a network that isn't connected to the internet unless they already know a lot about how networks work.
Re: Computer Networks: Top-down vs Bottom-up
Posted: Tue Jan 05, 2016 3:16 am
by Combuster
iansjack wrote:I find that, with any new subject, going from the general to the specific is the easiest way to understand something. So I'd go for bottom up.
Starting from the big picture is a good idea - many people don't need to go beyond HTTP or even TCP and learn how its foundations work. Of course, in OS development that is an exception but you won't get away without knowing the basics or your VM will be too smart for you and not route your packets.
However my university book "Computer networking: a top down approach" says you mixed up your vertical directions
Re: Computer Networks: Top-down vs Bottom-up
Posted: Tue Jan 05, 2016 4:14 am
by iansjack
Combuster wrote:iansjack wrote:I find that, with any new subject, going from the general to the specific is the easiest way to understand something. So I'd go for bottom up.
Starting from the big picture is a good idea - many people don't need to go beyond HTTP or even TCP and learn how its foundations work. Of course, in OS development that is an exception but you won't get away without knowing the basics or your VM will be too smart for you and not route your packets.
However my university book "Computer networking: a top down approach" says you mixed up your vertical directions
I think you messed up in understanding my meaning of general and specific. As far as networking is concerned general is just two devices communicating. We then get more specific by specifying wires, then ethernet, then TCP/IP, then we can start to worry about HTTP and web browsers, then a particular browser.
But that is getting very specific. So general->specific is a bottom-up approach.
Re: Computer Networks: Top-down vs Bottom-up
Posted: Tue Jan 05, 2016 1:57 pm
by onlyonemac
I was interpreting general and specific to mean generalised and exemplified. So general would be "this is the principle of what a computer network is and how it operates" or "this is what a protocol is and how it fits into the overall structure of a computer network"; specific would be "this is an ethernet network and how it operates" or "this is the TCP protocol and how it fits into an ethernet network".
Re: Computer Networks: Top-down vs Bottom-up
Posted: Fri May 06, 2016 10:17 pm
by ggodw000
first time, i heard about top to bottom and bottom up was one of my teachers while ago.
imo, new graduates tend to work bottom up, at least that is what i did: when the during debugging, i tended to dig deeper into the code without regards to whether it is an efficient way to solve the problem. My rational is being new to the industry, dig up as much code as i can to learn how it is written, get understanding of its architecture etc., I think this is bottom up approach.
Once i got more and more experience, i stopped doing this and tended to bisecting the issues, isolating, use divide-and-conquer, start from easiest approach to save time and effort. It actually work better when time and resource are tight. I think this is more like top to bottom approach.
I am not sure how i described here exactly describes the top to bottom or bottom up approach though.
While googling some time ago, one academic paper i found defined top to bottom approach as replacing the certain functionality of the SUT with known good working function and see if the problem remains or not.
i'd say for students, start with bottom up approach first.
Re: Computer Networks: Top-down vs Bottom-up
Posted: Sun May 08, 2016 10:46 am
by Schol-R-LEA
I think you'll find that, just like with large programming projects, you will need to do both in phases, and meet in the middle.
I would start by asking yourself the following questions (and please pass the answers to us as well, as we cannot give good advice without that):
- What kind of student is this for: undergraduate computer science/informatics (which is what expect it is), undergrad MIS, undergrad engineering, graduate studies in any of the above, general non-technical university students, secondary technical school, general secondary school, non-degree adult education, certification prep, corporate management, professional technical support, professional programming, professional system administration?
- Are you going to cover local-area networking, wide-area networking (i.e., a single network with dispersed sub-networks), internetworking, or some combination of those?
- What facets do you intend to discuss: use of network services and applications (in which case a general overview may not even be desirable), network topology, configuration, installation, administration, programming? How much emphasis do you mean to put on each?
- What do you think most of the students will want to get out of the course? What do you want them to get out of the course?
Re: Computer Networks: Top-down vs Bottom-up
Posted: Tue Jun 28, 2016 5:19 am
by davidsmith0143
Top down :
Take the whole problem and split it into two or more parts.
Find solution to these parts.
If these parts turn out to be too big to be solved as a whole, split them further and find find solutions to those sub-parts.
Merge solutions according to the sub-problem hierarchy thus created after all parts have been successfully solved.
Bottom up :
Breaking the problem into smallest possible(and practical) parts.
Finding solutions to these small sub-problems.
Merging the solutions you get iteratively(again and again) till you have merged all of them to get the final solution to the "big" problem.
The main difference in approach is splitting versus merging. You either start big and split "down" as required or start with the smallest and merge your way "up" to the final solution.