Computer Networks: Top-down vs Bottom-up

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
User avatar
iocoder
Member
Member
Posts: 208
Joined: Sun Oct 18, 2009 5:47 pm
Libera.chat IRC: iocoder
Location: Alexandria, Egypt | Ottawa, Canada
Contact:

Computer Networks: Top-down vs Bottom-up

Post 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? :wink:
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Computer Networks: Top-down vs Bottom-up

Post 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).
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
User avatar
iansjack
Member
Member
Posts: 4703
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Computer Networks: Top-down vs Bottom-up

Post 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.
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Computer Networks: Top-down vs Bottom-up

Post 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.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Computer Networks: Top-down vs Bottom-up

Post 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? :wink:
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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Computer Networks: Top-down vs Bottom-up

Post 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.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Computer Networks: Top-down vs Bottom-up

Post 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 :wink:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
iansjack
Member
Member
Posts: 4703
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Computer Networks: Top-down vs Bottom-up

Post 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 :wink:
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.
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Computer Networks: Top-down vs Bottom-up

Post 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".
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
ggodw000
Member
Member
Posts: 396
Joined: Wed Nov 18, 2015 3:04 pm
Location: San Jose San Francisco Bay Area
Contact:

Re: Computer Networks: Top-down vs Bottom-up

Post 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.
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: Computer Networks: Top-down vs Bottom-up

Post 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?
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
davidsmith0143
Posts: 16
Joined: Tue Jun 28, 2016 12:16 am

Re: Computer Networks: Top-down vs Bottom-up

Post 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.
Post Reply