OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Nov 22, 2019 4:18 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 12 posts ] 
Author Message
 Post subject: Computer Networks: Top-down vs Bottom-up
PostPosted: Sun Jan 03, 2016 4:04 am 
Offline
Member
Member
User avatar

Joined: Sun Oct 18, 2009 5:47 pm
Posts: 190
Location: Alexandria, Egypt
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:


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Sun Jan 03, 2016 4:38 am 
Offline
Member
Member

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


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Sun Jan 03, 2016 5:36 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 3566
Location: Chichester, UK
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.


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Sun Jan 03, 2016 11:30 am 
Offline
Member
Member

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


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Sun Jan 03, 2016 5:28 pm 
Offline
Member
Member
User avatar

Joined: Sat Jan 15, 2005 12:00 am
Posts: 8561
Location: At his keyboard!
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.


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Mon Jan 04, 2016 1:44 am 
Offline
Member
Member

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


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Tue Jan 05, 2016 3:16 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 3:45 am
Posts: 9287
Location: On the balcony, watching the Swedish Chef
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 ]


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Tue Jan 05, 2016 4:14 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 3566
Location: Chichester, UK
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.


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Tue Jan 05, 2016 1:57 pm 
Offline
Member
Member

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


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Fri May 06, 2016 10:17 pm 
Offline
Member
Member

Joined: Wed Nov 18, 2015 3:04 pm
Posts: 355
Location: San Jose San Francisco Bay Area
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


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Sun May 08, 2016 10:46 am 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1496
Location: Athens, GA, USA
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
μή εἶναι βασιλικήν ἀτραπόν ἐπί γεωμετρίαν
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.


Top
 Profile  
 
 Post subject: Re: Computer Networks: Top-down vs Bottom-up
PostPosted: Tue Jun 28, 2016 5:19 am 
Offline

Joined: Tue Jun 28, 2016 12:16 am
Posts: 16
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group