\documentstyle[11pt,twocolumn]{article} \setlength{\oddsidemargin}{0in} \setlength{\evensidemargin}{0in} \setlength{\topmargin}{0.0in} \setlength{\headheight}{0in} \setlength{\headsep}{0in} \setlength{\textwidth}{6.5in} \setlength{\textheight}{9.6in} \setlength{\parindent}{0in} \setlength{\parskip}{2mm} \setlength{\columnseprule}{0.4pt} \begin{document} \title{ECS 152A, Computer Networks} \author{Norman Matloff} \date{Spring 1997} \maketitle \section{Office and Office Hours} My office is in 3053 EUII, Ext. 2-1953. My office hours will be Tuesday 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. {\bf 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 {\bf 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, Arijit Mukherji, will announce his office hours soon. \section{Adding the Class} If you wish to add the class, make sure to send me e-mail \underline{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. \section{Course Prerequisites} One official prerequisite is ECS 154A. Here is a sample of words and phrases which you should remember from that course: \begin{quote} 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 \end{quote} 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 {\bf HAVE A WORKING KNOWLEDGE} of basic Unix concepts such as \begin{quote} 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 \end{quote} Again, it will be assumed that you have a {\bf working knowledge} of the Unix tools mentioned above. If you are lacking some of them, please see the Unix and C tutorials within my Chinese-software Web site, URL http://www.cs.ucdavis.edu/chinese/unix.html If you do lack this background, be sure to take a look at these tutorials {\bf NOW}, before it is too late to remedy any deficiencies. These are tools which you will be using every day in our course. {\bf 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. You should know and be able to use concepts such as \begin{quote} discrete and continuous random variables; density functions; exponential distribution; expected value and variance \end{quote} \section{Course Content} See the document NetIntro.tex. \section{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.\footnote{Do not copy books. This is illegal.} We also will have a number of handouts which I will write. If you miss a class in which they are distributed, you can get your own copy from from the appropriate subdirectory (152A or Networks) within \verb|~matloff/Pub| on the CSIF machines. Note that the file in \verb|~matloff/Pub/README| tells you how to view or print the .tex files. {\bf 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. \section{Lecture Format} The lectures will consist mainly of discussion and amplification of the examples in the texts and handouts, with additional examples and comments. 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. \section{The Class Newsgroup} The class newsgroup is ucd.class.ecs158. {\bf IT IS \underline{REQUIRED} THAT YOU READ IT EVERY DAY.} Not only will 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. \section{Exams} There will be two midterm exams, the first approximately at the five-week point, and the second on Thursday, June 5. The latter is the last day of instruction for Spring Quarter. There is no final exam; Exam II covers only the material since Exam I. There are no early or late exams; provisions for oral makeup exams will be made if you have a documented medical excuse. {\bf 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, {\bf 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: \begin{itemize} \item Spread the desks out in the room before the exam. \item No talking to classmates any time during the exam. \item Make sure you cover your exam paper at all times. \end{itemize} During an exam, if your paper is exposed, I will come to you and mention this to you. Thanks very much for your help. \section{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. {\bf 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 three letter grades (two ``real'' exams and the homework). Grading is noncompetitive, so it is possible for everyone to do well. \section{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 will 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. {\bf 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.} \section{Homework} As much as possible, we will operate a ``paperless society'': \begin{itemize} \item[(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 in the directory \verb| ~matloff/Pub/152A/Hwk| so look there when an assignment is announced. \item [(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. \item [(3)] ``Written'' homework problems, i.e. those which require you to write some prose or do some mathematical analysis, are \underline{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 directory \verb|~matloff/Pub/LaTeX| \end{itemize} 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 10\%-per-day late penalty 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. {\bf 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. \section{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. \end{document}