CMPE 150

Introduction to Computer Networks

University of California, Santa Cruz

Spring Quarter 2003

Baskin Engineering Room 152

 Tu/Th 6:00PM to 7:45PM

 


This course addresses issues arising in organizing communications among autonomous computers.  Network models and conceptual layers. Internetworking.  Characteristics of transmission media. Switching techniques (packet switching, circuit switching, cell switching).  Medium access control (MAC) protocols and local area networks.  Error control strategies and link-level protocols.  Routing algorithms for bridges and routers.  Transport protocols.  Application of concepts to practical wireless and wireline networks and standard protocol architectures.

Course Focus:

The main topic of our course is an introductory look at computer communication. We focus on the principles of computer communication, rather than on the specific technologies being used in computer networks and the Internet today. The main questions we will be trying to answer over and over are:

We will discuss very little about the ``physical layer'' of networks, and focus on the protocols used on top of the hardware layer. In a way, you can think of this class as designing and analyzing distributed algorithms aimed at communication through computers.

You should be warned that the course is introductory in the depth of its treatment of both theory and practice. Our hope is that you will develop an understanding of how to think about designing and analyzing communication protocols. Beyond this, you will need a lot of reading on your own to grasp the details of current practice in computer networks, as well as to be able to tackle complex design and analysis problems. Other courses in the networks track (CMPE 151, CMPE 152, CMPE 154, and CMPE 155) build on the basic concepts introduced in this course to address the physical layer of data communication, the performance analysis of communication protocols, and a hands-on treatment of network administration.

Because of the short duration of our course, we can only discuss a few of the very many protocols used or proposed to date. We believe that what we will cover will be a good way to to get you started in this increasingly important area of computer science and engineering. We will emphasize protocols for the IP Internet, simply because it is the wave of the present and future in internetworking.


Course Prerequisites:

CMPE16, CMPE12C/12L (see your advisor for clarification)

Instructor Information

Instructor: Dr. Chane L. Fullmer
Office: Baskin Engineering 399F
Office hour: Tuesday and Thursday  (by prior appointment)
Email: chane@soe.ucsc.edu

TA:   Venkatesh Rajendran
Email: venkat@soe.ucsc.edu
Section:  

Text Book:

James Kurose and Keith Ross, Second Edition, Computer Networking, Addison Wesley, 2002 (ISBN 0-201-97699-4).

The textbook is an introductory book that you will find very useful, because it is very recent and focuses on the Internet, which is the focus of our course. The book covers more topics than we can cover in one quarter, and does not spend as much time in analyzing the principles of the protocols it covers. The lectures will complement the book in the analysis area.

The book follows a top-down approach to the subject, including the protocol layers discussed. By contrast, we cover the topics top down as well, but address the lower-layer protocols first and work our way to the application layer. Lower-layer protocols are simpler than protocols at the network layer and make fewer assumptions; in addition, they render themselves to simple analytical modeling.

Other books that may be of interest to you are:

You should review concepts of discrete probability from the textbook you used in CE16. The book Discrete Mathematics and its Applications by Kenneth Rosen, McGraw-Hill, is a good source.

You may want to take a look at the textbook for CMPE107.
One of many books on the subject is
Probability and Stochastic Processes by R. Yates and D. Goodman, Wiley, 1999.
It is a very good book! It is easy to follow. I think :)

Advanced material for those interested in new research can be found in conferences and journals. The best conferences in computer communication are IEEE INFOCOM, ACM SIGCOMM, IEEE/ACM Mobicom, IEEE ICNP, ACM Multimedia, ACM MobiHoc. Other good conferences include IEEE ICC, IEEE Globecom, IEEE IC3N, and IEEE WCNC.

Some of the best journals on computer communication are: IEEE/ACM Transactions on Networking, IEEE Journal on Selected Areas in Communication, ACM Wireless Networks Journal, ACM Mobile Networks and Applications, and ACM Multimedia Systems Journal.


Course Resources

We will assume that all of you can access the Web and can get the powerpoint, postscript, or pdf material that will be added to this page as time progresses. The following are a couple of pages that you should know:

Homework Assignments

Assignments are due no later than the beginning of the class on the due date.  Homework may be turned in early to the TA during section.  These assignments are from the "Problems" section at the back of each chapter.

Solutions to the homework will be made available one week after the original due date

Late Homework: 


Optional Course Project

This is a personal programming project. It is to be built using the 'C' programming language and must run on the CATS UNIX environment. Complete details are available here.

The project is due on or before 18:00, June 4, 2003.

Completion of this project is optional (ie, not required for the class).  However, completion of the project may be substituted for the taking of the class final.


Lecture Outlines

NOTE: These outlines are a general tool for the instructor to outline the lecture. They are meant as a convenience for your note taking. They will be posted AFTER the lecture. But they will not substitute for coming to class. They are by no means thorough and are in fact often cryptic.
These lectures are in the PDF file format and require Adobe Acrobat Reader.

 


Exam Information

Answer Key to Midterm #1

Answer Key to Final Exam


Academic Honesty and Academic Integrity:

In recent years, there has been an increased number of cheating incidents in many UC campuses, and unfortunately, UCSC is no exception. The School of Engineering has a zero tolerance policy for any incident of academic dishonesty. If cheating occurs, there may be consequences within the context of the course, and in addition, every case of academic dishonesty is referred to the students' college Provost, who then sets the disciplinary process in motion. Cheating in any part of the course may lead to failing the course and suspension or dismissal from the university.

What is cheating? In short, it is presenting someone else's work as your own. Examples would include copying another student's written or electronic homework assignment, or allowing your own work to be copied. Although you may discuss problems with fellow students, your collaboration must be at the level of ideas only. Legitimate collaboration ends when you "lend", "borrow", or "trade" written or electronic solutions to problems, or in any way share in the act of writing or electronically sharing your answers. If you do collaborate (legitimately) or receive help from anyone, you must credit them by placing their name(s) at the top of your paper. 

What is Academic Integrity? This question is better answered with how we violate academic integrity. One prime example is fabrication. From the pages of the registrar: (http://www.ucsc.edu/academics/academic_integrity/resources.html) Fabrication:

Another example of violating academic integrity is Facilitating Academic Dishonesty:
Web site maintained by Chane Fullmer. If there are problems mail chane@cse.ucsc.edu