These notes formed the main material for a one semester Computer Science course on networks. The
course was last taught in the academic year 2005–6. The course was primarily about the Internet, the
TCP/IP protocol family. The rest of the preface is part of the original written for the course (or “elective
module” as it was called) and it tries to show how the material in these notes relates to the units that made up
the course, and references to sections or chapters in books that provide better, or alternative, explanations.
The notes and books
This is a description of the teaching material, its organisation and how it relates to the units in the Open
Systems and Networks elective module.
The main material for the module is provided by these notes. The notes try to cover the range of material
that I think is appropriate to this course (module), and they are meant to be at a suitable level, ie. depth of
treatment of each topic. This means that there is no required textbook.
However the notes are written by me (Bob Dickerson) and therefore it is possible that they are: shallow,
incomplete, difficult to understand and perhaps wrong. Even if they are not as bad as that it is still very
useful to have alternative explanations for some topics so I am recommending some books as supporting
material. Since the books are only meant to supplement or clarify the notes you should really only consult
relevant sections or chapters of the books after reading the notes; this is because they might have a different
emphasis and on individual topics have too much or too little material. Because the use of a textbook is just
to reinforce the notes it is not compulsory, if you are brave, lazy, or, in fact, the notes are enough, you can
try to manage without extra reading. All the following books are quite good, you can use bits of whichever
one you want:
1. Douglas E. Comer. Computer Networks and Internets with Internet Applications. Prentice Hall,
fourth edition, 2003. Good introduction, mainly TCP/IP, some stuff on data transmission.
2. James F. Kurose and Keith W. Ross. Computer Networking: A Top-Down Approach Featuring the
Internet. Addison-Wesley, third edition, 2005. Good introduction, has some deeper treatment, no
data transmission stuff.
3. L. L. Peterson and B. S. Davie. Computer networks, a systems approach. Morgan Kaufman, third
edition, 2003. Good introduction, practical implementation examples, mainly TCP/IP, not much on
data transmission stuff.
4. William Stallings. Computer Networking with Internet Protocols. Prentice Hall, first edition, 2004.
Less conventional introduction, more advanced, has special chapters on congestion and quality of
service, no data transmission stuff.
5. A. S. Tanenbaum. Computer networks. Prentice-Hall, fourth edition, 2003. Very good introduction,
wide coverage, some data communications stuff too.
This is a list of the units, links to the related notes and references to chapters or sections in the books. It
is possible to vary the order of presentation of topics. In most books (Comer, Tanenbaum and Peterson)
they are presented “bottom-up”, starting from the lowest level, or (in Kurose and Rose, and Stallings) “topdown”, starting with high-level application protocols. Even as I type this I cannot decide how to do it this
time . . . , wait while I decide . . . , OK bottom up but with an overview of some general concepts first.
Another choice is whether to include any material on data transmission, this is about how binary data
is actually transmitted by “guided” media (wires or fibre optic) or by “unguided” media (wireless). This
course (module) doesn’t cover the topic. This is a serious, but deliberate omission. There is not space or
time to discuss signal propogation, noise, bandwidth, modulation etc. These topics not required for the
assessment but if you feel unhappy reading about sending data over network connections without knowing
how the bits are actually transmitted you can find some information in the books:
Comer: chapter 4, 5, 6 and 7 deal with data transmission,