ECS 152A, Computer Networks

Norman Matloff

Fall 1997

Office and Office Hours

My office is in 3053 EUII, Ext. 2-1953. My office hours will be Monday 10:00-11:30 and Thursday, 3-4 p.m. Note that the hours will be held on a ``95% probability'' basis, since sometimes I have a meeting to attend. I enjoy my office hours very much, and look forward to interacting with you during them.

I am also available at other times if you have short questions.

You are welcomed and strongly encouraged to send me e-mail, at the address matloff@cs, for help on homework assignments, questions on the lectures, and on any other aspects of the course.

Our TA, Elaine Lee, will announce her office hours soon.

Adding the Class

If you wish to add the class, make sure to send me e-mail immediately, presenting your case for being granted a PTA. I believe that the number of adds which can be accommodated will be small, maybe zero.

Course Prerequisites

One official prerequisite is ECS 154A. Here is a sample of words and phrases which you should remember from that course:

gate; multiplexer; decoder; clock; digital design software; I/O port; memory-mapped I/O vs. separate-address-space I/O; wait-loop driven I/O; interrupt-driven I/O; direct-mapped and associative cache memory; virtual memory

ECS 152A also has as prerequisite ECS 110, so you should know stacks, trees, ``big-O'' notation, and so on. ECS 110 in turn has ECS 40 as a prerequisite. That means that you should be reasonably good at programming, and HAVE A WORKING KNOWLEDGE of basic Unix concepts such as

files and directories, e.g. commands such as ls, cd, pwd, chmod; network use, e.g. e-mail, network addresses, ftp (including anonymous ftp); processes, e.g. use of ctrl-z, & and the bg and kill commands; C library and include files; user-level windowing, e.g. creating and moving windows; shell conveniences, e.g. wild cards, the history command, etc.; modular program design, including separate compilation of source files; makefiles and the `make' program; pointers, & and operators; recursion; fprintf(), fscanf(), fopen(); read(), write(), open(); debugging aids such as gdb

Again, it will be assumed that you have a working knowledge of the Unix tools mentioned above. If you are lacking some of them, please see

my Unix and C tutorials

http://heather.cs.ucdavis.edu/ matloff/unix.html

If you do lack this background, be sure to take a look at these tutorials NOW, before it is too late to remedy any deficiencies. These are tools which you will be using every day in our course. If you do not know them, you will be unable to complete the homework assignments, and will spend all your time being frustrated by Unix obstacles, instead of learning computer networks.

The second official prerequisite is a calculus-based probability course, such as MAT 131, STA 131A or STA 32. (Note the ``or.'') You should know and be able to use concepts such as

discrete and continuous random variables; density functions; exponential distribution; expected value and variance

Textbook

The text by Peterson and Davie is required. Note that exams are open-book, and there is no sharing of books or materials during exams. Thus every student must have his/her own copy of the book. (Do not copy books. This is illegal.)

Also required is the set of my lecture notes, available at the bookstore. They are also as

a list on this Web site,

http://heather.cs.ucdavis.edu/ matloff/152A/LaTeXCourseMaterials.html

Note that these are raw LaTeX files, which you must process through the latex command. Instructions on how do process such files are at

a stion on this Web site,

http://heather.cs.ucdavis.edu/ matloff/latex.html

I probably will distribute additional handouts on occasion. If you miss a class in which they are distributed, you can get your own copy from the course Web site. Again, they will be in the form of LaTeX files.

Make sure you bring the text and the handouts to every lecture. They will play very active roles in the lectures, i.e. I will ask you to open to a certain page in the book or in a handout, and then point to various sentences and pictures on that page.

Lecture Format

The lectures will consist mainly of discussion and amplification of the examples in the texts and handouts, with additional examples and comments.

A MAJOR GOAL OF THE USE OF PRINTED LECTURE NOTES IS TO GIVE STUDENTS A CHANCE TO ASK QUESTIONS AND TO ENGAGE IN CLASS DISCUSSION. You are very much encouraged to bring up any questions you might have. Please don't be shy about asking questions; there is no such thing as a ``dumb'' question. Similarly, listen carefully to the questions the other students ask; this can be a very valuable source of insight, to which you should pay special attention.

The Class Newsgroup

The class newsgroup is ucd.class.ecs152a. IT IS REQUIRED THAT YOU READ IT EVERY DAY. Not only will announcements of homework assignments be posted there, but also there may be later corrections, hints, etc.

If you are not familiar with Usenet newsgroups, just type either `rn' or `tin' (I strongly recommend the latter), and follow the prompts.

Exams

There will be three midterm exams, the first approximately at the four-week point, and the second around the seventh week. The third exam will be on Thursday, December 4, the last day of instruction for Fall Quarter. There is no final exam; each exam covers only the material since the last (though of course there is some carryover for foundation). There are no early or late exams; provisions for oral makeup exams will be made if you have a documented medical excuse.

EXAMS ARE TAKEN ON AN OPEN-MATERIALS BASIS. Bring both texts plus the handouts with you to each exam. You are also welcome to bring whatever other materials you wish, e.g. your ECS 50, 110 and 154A texts, dictionaries, whatever you want. Whatever you bring, MAKE ABSOLUTELY SURE THAT YOU REMEMBER TO BRING ALL YOUR COURSE READINGS, AS VIRTUALLY ALL OF THE EXAM QUESTIONS WILL REFER TO SPECIFIC PAGES IN THEM.

An embarrassing subject which nevertheless must be mentioned is cheating on exams. If a student is found to be cheating, it will be treated as a very, very serious matter, not a harmless prank; it will harm his/her standing at the university, and also possibly make it difficult for him/her to get a job when seeking employment after graduation. Please work as follows:

During an exam, if your paper is exposed, I will come to you and mention this to you. Thanks very much for your help.

Grading

In computing your course grade, each exam grade will be used in letter grade form only (the numerical grades are recorded but not used).

In addition to the midterm exams, the homework will count as ``Exam IV.'' Your letter grade on this ``exam'' will be as follows, based on your average homework score: 90-100%, A; 85-89%, A-; 80-84%, B; 70-79%, C; 50-69%, D; under 50%, F. I aim for the vast majority of the class to get an A on the homework. Lots of help is available, so this aim should be achievable.

Your course grade will then be the average of the four letter grades (three ``real'' exams and the homework).

IMPORTANT NOTE: If your first exam letter grade is lower than those of the other two exams, that first grade will be thrown out completely. In that case, your course grade will be the average of your second and third exams and your homework grade.

Grading is noncompetitive, so it is possible for everyone to do well.

Machines

Our base machines will be those in the CS instructional labs (CSIF). If you pre-enrolled in this course, or if you took a CS course last quarter, you should already have an account. If you added the course, there will be a slight delay in getting you an account. Your account name will be your surname, and if that is not unique, it will be your surname followed by your first initial. Your initial password will be the last eight digits of your student number; change it immediately, using yppasswd. Note that all the instructional machines share a common file system, so you can access the files from any machine.

We may also use the computers in the ACS Lab, which is in Room 1114 in the Academic Surge building (two buildings away from Bainer Hall, south). They are Sun Microsystems SPARCStations and HP workstations. The SPARCs are all named after Mexican foods: burrito, enchilada, fajita and so on. Please do not use rosarita, which acts as the file server. Accounts will be set up for you on these machines (CSE majors already have accounts). If you add the class late, you may have to go to ACS and ask for an account individually. Your account name will consist of your first two initials, followed by your surname; e.g. if John Paul Jones were enrolled in our course, his account name would be jpjones. Note, though, that account names are truncated to 8 characters; e.g. if Mary Ellen Johnson were enrolled, her account name would be mejohnso. Your initial password is your student ID number (without hyphens); please change it the first time you log in, using the passwd command. These machines also share a common file system, though of course not the same one as for the CS instructional machines.

NOTE CAREFULLY: FOR ANY COMPUTER PROCEDURE, THINGS WILL NOT GO PERFECTLY SMOOTHLY THE FIRST TIME YOU TRY IT. In many cases you will find that some unanticipated problem occurs which prevents you from successfully using that procedure. ACCORDINGLY, DO NOT WAIT UNTIL THE LAST MINUTE TO DO YOUR HOMEWORK, AND MAKE ABSOLUTELY SURE THAT YOU KNOW THE UNIX TOOLS NEEDED (E-MAIL, TAR, ETC.) TO TURN IN YOUR HOMEWORK.

Homework

As much as possible, we will operate a ``paperless society'':

(1)
No printed paper will be used to announce homework assignments. Instead, assignments will be announced in the class newsgroup. The homework files themselves will be on the course Web site, so look there when an assignment is announced.
(2)
You will submit your homework directly to the TA, using e-mail (details will be announced). This not only facilitates our paperless society, but also has the big advantage that the TA can try executing your programs, to see if they work.

(3)
``Written'' homework problems, i.e. those which require you to write some prose or do some mathematical analysis, are required to be submitted as .tex, i.e. LaTeX source, files. Once again, this is mandatory. LaTeX is easy to learn by example; see the LaTeX Web page cited earlier in this Syllabus.

As mentioned earlier, feel free to get help on the homework from the TA and me. If you are stuck at some point, or needs hints to get started, we will be happy to help. Of course, you should make sure that you have given THOROUGH thought to your problem before you seek help from us; otherwise you will not learn. But once you have reached the point where you cannot go any further, we very much encourage you to seek help from us.

An assignment is late if it is turned in after 11:59 p.m. of the due date.

If--this should never happen, but just if--you are late, you will be assessed a 5% penalty the first late day, and 10%-per-day penalty after that in your grade for that assignment. (Since e-mail is available every day, each of the seven days of the week counts as one day.)

Your submitted homework will consist of one or more files. If your homework consists of more than one file, you are required to tar them together, then compress using gzip, and uuencode.

AGAIN, TRY THIS ON YOUR OWN BEFORE SENDING TO THE TA; SEND TO YOURSELF, TO MAKE SURE EVERYTHING WORKS. Send all relevant files: C files, executable files, make files, .tex files, etc.

You are allowed and encouraged to do your homework together with one or two partners. Submit just one copy of the homework, making sure all of your names are listed.

I Do Care!

I wish to emphasize that I care very much that you succeed in this course, and I look forward to getting to know all of you.



Norm &
9/21/1997