CS 475 ­ Networks Fall 2011 ­ Syllabus Instructor Dr. Deborah Hwang KC­264, 488­2193, hwang@evansville.edu Home page: http://csserver.evansville.edu/~hwang Office Hours: See instructor's home page. Course Home Page Announcements regarding handouts and assignments will be made in class. Assignments will be available only at the course home page (http://csserver.evansville.edu/~hwang/f11­courses/cs475.html). It is your responsibility to consult the course home page on a regular basis. Grades will be posted to Blackboard (http://bblearn.evansville.edu). 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, 08/24/2011 Page 1 of 5 D. Hwang • • • • • • • 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% 20% 20% 10% 10% Written midterm and final exams (20% each) Programming projects Network exploration projects Homework 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 08/24/2011 Page 2 of 5 D. Hwang 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% 20% 30% if handed in by 4:30pm, one day late if handed in by 4:30pm, two days late 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 08/24/2011 Page 3 of 5 D. Hwang 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 08/22 Thursday Fri Section 1.1­1.2 Applications, Requirements 08/29 Section 1.3­1.4 Architecture, Programming Section 1.4­1.5 Programming, Performance 09/05 Section 2.1­2.3 Encoding, Framing Section 2.4­2.5 Error Detection, Reliable Transmission 09/12 Section 2.6­2.7 Ethernet, Wireless Networks Section 3.1­3.2 Switching, Bridges, Internetworking (IP) 09/19 Section 3.2 Internetworking (IP) Section 3.3 Routing 09/26 Section 4.1 The Internet Network Architecture (Guest Lecture) 10/03 INSTRUCTOR OUT OF TOWN NO CLASS Section 4.2­4.4 Multicast, MPLS, Mobile IP 10/10 FALL BREAK NO CLASS Section 5.1­5.2 UDP, TCP 10/17 Section 5.3­5.4 RPC, RTP Midterm Exam Review 10/24 Midterm Exam Section 6.1­6.2 Resource Allocation, Queuing 10/31 Section 6.3­6.4 Congestion Control and Avoidance Section 6.5 Quality of Service 11/07 Section 7.1­7.2 Data Formatting and Compression Section 8.1­8.3 Cryptographic Tools 11/14 Section 8.4­8.5 Secure Communication, Firewalls Section 9.1 Email, Web 08/24/2011 Page 4 of 5 D. Hwang Week of Mon Tuesday Wed Thursday 11/21 Section 9.2­9.3 Multimedia, DNS THANKSGIVING BREAK NO CLASS 11/28 Section 9.4 Overlay Networks Network Security (Guest Lecture) 12/05 Course Review Fri R/S Day The final exam for this course is Wednesday, December 14, 8:00am­10:00am 08/24/2011 Page 5 of 5 D. Hwang