The following are expectations of what you should know based on material
covered in lecture and from the first four chapters of Tanenbaum for the
Midterm test.

Understand the first project and homework set.

% chapter 1

Know the definition of a computer network as defined by Tanenbaum.

Understand the need for both the hardware and protocol aspect of networks.

Understand the basic idea of the client-server paradigm.

Know what is meant by ``point-to-point'' and ``broadcast'' networks.

Know the difference between broadcasting, unicasting and multicasting.

Understand why layering is used in building computer networks.

Understand what an interface is between layers.

Understand the concept of encapsulation and how it is used in layering.

Know the layers of the OSI reference model and the general functionality of
each layer.

% chapter 2

Understand that periodic signals can be represented as a Fourier series and
the significance of this representation on data communication.

Know that transmission media have limited frequency spectrums
(bandwidth) and how this property affects transmission.

Know and understand the difference between baud rate and data rate.

Know how to use Nyquist's theorem for data transmission on a noiseless
channel.

Know how to use Shannon's theorem for data transmission on a channel with
noise.

Know in a general way the different types of transmission media.

Understand the purpose of a modem.

Understand the use of amplitude-shift modulation, frequency-shift
modulation and phase-shift modulation for conversion of digital data to
analog signals.

Understand how Manchester encoding and differential Manchester encoding are
used to synchronize clocks for digital transmission.

Know how circuit switching, message switching and packet switching work
along with their relative advantages and disadvantages.

% chapter 3

Be familiar with the specific services provided by the Data Link Layer
(DLL) as defined by the OSI reference model.

Know the difference between the following type of services: reliable
delivery, best effort and acknowledged delivery.

Understand the need for framing.  

Understand the advantages and disadvantages of using a length count, bit
delimiters, character delimiters and encoding violations for framing.

Know the difference between error detection and correction.

Know what the hamming distance is for a set of codewords.

Know the hamming distance needed for error detection and correction.

Know how parity is used in error detection.

Know how to do error detection using CRC checksums.

Know the reliability of using CRC checksums.

Understand the assumptions, strengths and weaknesses of the six data link
protocols in the textbook.

Understand the notion of a sliding window protocol.

Know how to calculate the expected channel utilization for a protocol.

Know the relative disadvantages and advantages of a one-bit sliding window
protocol (protocol 4), Go Back N (protocol 5) and Selective Repeat
(protocol 6).

Know the basic idea of the High Level Data Link Control protocol as well as
the SLIP and PPP protocols used in the Internet.

% chapter 4

Know the two basic approaches used for the ALOHA protocols and the problem
these protocols had.

Be familiar with the use of carrier sense protocols.

Know how the CSMA/CD (collision detection) protocol works.  

Understand how propagation delay is important for networks using CSMA/CD.

Be familiar with the basic details of the IEEE 802.3 (Ethernet) standard.

Understand the use of the binary exponential backoff algorithm.

Know the general idea of the 802.4 (Token Bus) standard.

Know the general idea of the 802.5 (Token Ring) standard.

Know the relative advantages and disadvantages of the three IEEE 802
standards.

Know where the 802.2 (Logical Link Layer) standard fits in and its service
options.