CS 475 - Networks
Fall 2013 - Syllabus

Instructor

Mr. Mark Randall
KC-274, 488-248,
Home page:

Catalog Data

Digital data communication systems in hardware and software, synchronous and asynchronous communication, standards, protocols, network configurations, network applications.

Objectives

Students will understand the fundamentals of computer networking. Students will learn to write computer applications that communicate over a network using the sockets API. Students will complete several network programming projects that require the use of sockets. In particular,

  • Students will know the layers of the OSI stack and the functions they provide in Network communication.
  • Students will know different encoding techniques such as NRZ, NRZI, Manchester, 4B/5B.
  • Students will have a strong understanding of routing hardware and the TCP/IP protocol.
  • Students will understand basic WAN Design and will be able to design a small wide area Network.
  • Students will understand framing and how it works.
  • Students will understand different error checking techniques such as checksum and CRC.
  • Students will understand reliable transmission techniques such as stop and wait, sliding window, and flow control.
  • Students will understand the Ethernet topology.
  • Students will understand switched networks and packet oriented networks.
  • Students will know what comprises datagrams.
  • Students will understand virtual circuit switching.
  • Students will understand source routing.
  • Students will have an understanding of bridges and switches and algorithms they use such as the spanning tree algorithm.
  • Students will understand how broadcast and multicast function.
  • Students will have an understanding of switches and their design, such as the crossbar, knockout, sunshine, and shared media.
  • Students will understand the Banyan and Batcher Networks.
  • Students will understand the TCP/IP protocol and how to subnet and supernet.
  • Students will understand fragmentation and reassembly techniques.
  • Students will understand the hardware used in developing a WAN.
  • Students will gain hands on experience in the configuration of routers and switches.
  • Students will understand DHCP servers, DNS servers, and Name Servers.
  • Students will understand routing protocols such as RIP and OSPF.

Prerequisites: CS 215, MATH 222

Required Textbook

Larry Peterson and Bruce Davie, Computer Networks - A Systems Approach, 5/e, 2012, Morgan Kaufmann Publishers, ISBN-13: 978-0-12-385059-1.

Daily Requirements

Daily reading assignments. Many class periods will include an in-class exercise. These are due at the beginning of the following class. No late work will be accepted. All lecture slides and notes will be posted to the course website no later than 4:30pm the afternoon of the class period.

Programming Projects

There will be several (5-8) programming projects during the course of the semester. The projects will require that you develop a network application or simulate a network communication protocol. Unless otherwise indicated all programming projects must compile (without warnings) and run (without errors) on csserver.

Network Exploration Projects

There will be multiple (4-8) projects that require you to use Wireshark and other tools to explore and analyze network protocols.

Exams and Evaluation

There is a written midterm exam and a written final exam. The final exam is on Wednesday, December 14, the very last day of finals, at 8:00am. Final grades will be based on the following weighted distribution:

40% / Written midterm and final exams (20% each)
20% / Programming projects
20% / Network exploration projects
10% / Homework
10% / In-class exercises

Final grades are based on the final weighted percentage with adjustments depending on class distribution. The A/B line will be no higher than 90% with subsequent grade levels every 10%.

Late Homework and Projects

Homework and projects are due at the instructor's office and/or electronically as appropriate by 4:30pm on the date specified unless otherwise noted. Any assignments arriving after 4:30pm are considered late. The following automatic late penalties will be applied:

10% / if handed in by 4:30pm, one day late
20% / if handed in by 4:30pm, two days late
30% / if handed in by 4:30pm, three days late

Unexcused late work will not be accepted for credit after three days after the due date without prior arrangements. For the purpose of counting days, Friday 4:30pm to Monday 4:30pm is considered one day. Please note that the purpose of the automatic late extension is to allow students leeway when needed. It is usually better to hand in something late and completed than on-time and incorrect. However, chronically handing in late submissions will lower your final grade.

Valid excuses for missing exams, missing classes, and handing assignments in late include illness, family emergencies, religious observances, official UE events such as varsity games and concerts, etc. They do not include (most) work conflicts, studying for other classes, leaving a day early or staying home an extra day over a weekend or holiday, etc. In general, an excused absence is one caused by circumstances beyond your control.

The instructor will rely on your integrity for getting work excused. If you have a valid excuse, email a note to the instructor. For religious observances and official UE events, you must inform the instructor that you will be absent before the absence occurs, otherwise it will be considered an unexcused absence.

Excused work must be made up within one calendar week from the original due date for full credit. Late excused work will not be accepted Exceptions will be made for serious or prolonged illness, or other serious problems. Please note: It is your responsibility to take care of missed or late work.

Attendance Policy

Attendance is important and expected. Attendance records will be maintained in accordance with Federal Law, but will not be used in the determination of grades, except to the extent it affects the in-class exercise portion of your grade and in borderline cases. Students are responsible for all material covered in class. If you miss a class, find out what was covered from another student. You are responsible for checking the course home page for new assignments even if you miss class.

Honor Code

All students are expected to adhere to the University's Honor Code regarding receiving and giving assistance. Two specific guidelines are in force for this course.

Written homework and in-class exercises are for you to gain experience and practice. You may collaborate with your classmates, but each student should submit a solution in his/her own words that reflect his/her understanding of the solution. Ultimately you will be required to demonstrate your proficiency of the material on exams. Therefore, it is highly recommended that you attempt all homework and in-class problems on your own before finding a solution from another source.

Projects are to be solely your own work unless otherwise noted. Discussing the meaning and general solution techniques of an assignment with other students is permitted. For example, discussing "How is this assignment similar or different from problems presented in the text or in lecture?" is acceptable.

Asking another person for assistance on specific items in your own code also is permitted, but you may not observe another person's solution or code in any format for the purposes of studying or copying it, with or without that student's permission.

If there is any doubt as to whether assistance is acceptable, consult the instructor.

Reading Schedule

This is a tentative schedule of topics for this course. You are expected to have read the assigned material before coming to class.

Week of / Mon / Tuesday / Wed / Thursday / Fri

08/27

/

Course Outline/Introduction

09/3 /

Section 1.1-1.2Applications, Requirements

/ Section 1.3-1.4
Architecture, Programming
09/10 / Section 1.4-1.5
Programming, Performance / Section 2.1-2.3
Encoding, Framing
09/17 / Section 2.4-2.5
Error Detection, Reliable Transmission / Section 2.6-2.7
Ethernet, Wireless Networks
09/24 / Section 3.1-3.2
Switching, Bridges, Internetworking (IP) / Section 3.2
Internetworking (IP)
10/1 / Section 3.3
Routing / Network Architecture (Guest Lecture)
10/08 / Section 4.1
The Internet / Instructor out No Class
10/15 / FALL BREAK
NO CLASS / Section 4.2-4.4
Multicast, MPLS, Mobile IP
10/22 / Section 5.1-5.2
UDP, TCP / Section 5.3-5.4
RPC, RTP
10/29 / Midterm Exam Review
/ Midterm Exam
11/05 / Section 6.1-6.2
Resource Allocation, Queuing / Section 6.3-6.4
Congestion Control and Avoidance
11/12 / Section 6.5
Quality of Service / Section 7.1-7.2
Data Formatting and Compression
11/19 / Section 8.1-8.3
Cryptographic Tools / Section 8.4-8.5
Secure Communication, Firewalls
11/26 / Section 9.1
Email, Web / THANKSGIVING BREAK
NO CLASS
12/03 / Section 9.2-9.3
Multimedia, DNS / Section 9.4
Overlay Networks
12/10 / Course Review / R/S Day

The final exam for this course is Wednesday, December 10, 8:00am-10:00am

08/13/2012Page 1 of 4Mark Randall