This senior level undergraduate course covers principles of data communications, local area networks, communications protocols, TCP/IP, and the Internet.
CS457 is now being offered in both the Fall and Spring semesters. This course is also offered as an online course for distance learning students.
If you want to learn how the Internet and its applications work, you should take this class. Note, however, that it is not an easy class as there is a wide variety of material that will be covered. Typically there are three programming assignments, weekly homework, a midterm and final exam. All programming is done in C/C++, Python and GO, so make sure you are comfortable with these languages. If you don't know them, learn them NOW! There are lots of tutorials and videos on the web. Each Project will take between 10 and 50 hours to complete.
Upon completion of this course, students will be able to:
CS 370 with a C [2.0] or better. STAT 301 or STAT/ECE 303 or STAT/ERHS 307 or STAT 309 or STAT 315 or STAT 311 (all with a C [2.0] or better). CS 253 with a C [2.0] or better.
Optional Textbook: Computer Networks, A Systems Approach; 5th Edition by Larry Peterson and Bruce Davie. You may use other versions, but make sure you get the homework assignments correct. Even though this textbook is optional, it is worth purchasing by anyone serious about networking.
Students are expected to attend lectures, where information will be given that is not available at any other place. Attendance at recitations is recorded and contributes to your grade. Students are expected to:
Excused absences are handled in accordance with CSU policies. If you are ill please let us know right away. CSU requires verifiable proof (e.g. a note from the health center) for students who wish to not be penalized for missed classes and work.
We also do not want you to come to class ill. Makeup work will
need to be explicitly negotiated. The objectives include: getting
students to class; not spreading illness; and making
sure students who are ill receive appropriate treatment.
The material in this course (including learning to come to class and
stay awake) is important. Excessive absences will impact your grade.
Here are the formally graded elements of the course and associated weighting:
|Weekly Homeworks||10 %|
|Programming Projects||40 %|
|Final Exam||30 %|
Recitations will typically cover elements and fundamentals of Socket Programming. We will initially begin by introducing some basic UNIX concepts required for networking, a small makefile tutorial and a little overview of the GNU debugger. From then onwards we will cover socket programming and related material for homeworks and projects.
There will be 3 programming projects. The grading policies related to the projects are mentioned on this page. The projects will primarily deal with socket programming. However, socket programming will only be the base technology used in each of the projects. On a high level, each project will represent a different problem. C and C++ are to be used as the language of coding with the exception of one small sub-project to be written in Python. The projects will basically reflect topics taught in class. Note: we may use the GO language for some of the projects, as well as the MININET emulation system. The recitation sections will cover the needed tutorials.
Midterms: Make-up exams are only given for extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Examination dates are listed in the syllabus; be aware of them and plan accordingly.
Programming Projects: Programs are submitted electronically. Details of how this is done appears with the first assignment. Always check the progress page for due dates. The due date will include a day and time. The assignment will also specify a late acceptance period which will include a late penalty of 50%. After the late period, electronic submission is closed; students that have not submitted programs receive no points for the assignment.
Homeworks: Homeworks must be submitted per the instructions in the assignment and are due at the beginning of class on Tuesdays. Handwritten and scanned is acceptable, but the handwriting must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. Late homeworks may be turned in at beginning of class on Thursday, and are subject to a 50% late penalty.
|First day of class||Tuesday, January 16|
|Last Day to Add/Drop||Wednesday, January 31|
|Midterm Exam||Tuesday, March 6|
|Spring Break!!!||Saturday, March 10 through Sunday, March 18|
|Last day to Withdraw ("W")||Monday, March 19|
|Last Lecture||Thursday, May 3||Final Exam||Thursday, May 10, 2-4PM|
Note: this schedule is subject to change.
|Week 1||1/16, 1/18||Intro and Networking Overview|
|Week 2||1/23, 1/25||Service Models|
|Week 3||1/30, 2/1||Packet Switching|
|Week 4||2/6, 2/8||Internetworking, Transport Protocols|
|Week 5||2/13, 2/15||Transport Protocols (continued), Forwarding, NAT, IPv6|
|Week 6||2/20, 2/22||NAT, IPv6 (continued), Routing|
|Week 7||2/27, 3/1||Routing (continued), Review|
|Week 8||3/6, 3/8||Midterm Exam, DNS|
|Week 9||3/13, 3/15||Spring Break; no classes|
|Week 10||3/20, 3/22||Midterm Review, BGP|
|Week 11||3/27, 3/29||BGP (continued), route hijacking|
|Week 12||4/3, 4/5||Congestion Control|
|Week 13||4/10, 4/12||Congestion Control (continued), Software Defined Networks - SDN|
|Week 14||4/17, 4/19||Multicast Networking, Peer-to-Peer Networking|
|Week 15||4/24, 4/26||Traditional and Multimedia Applications|
|Week 16||5/1, 5/3||Named Data Networks Overview, WIFI and/or Network Security, Final Exam Review|
|Week 17||5/10||Final Exam on Thursday, 2 to 4 PM|
In addition to responsibilities enumerated in the Colorado State University Student Conduct Code, the Computer Science Department advocates rights and responsibilities of conduct for all its Members: faculty, staff and students, in accordance with the intent of the Code of Ethics of the Association of Computing Machinery.In particular, all department members are obligated to
For questions, explanations, or to report violations, contact your instructor or appropriate department administrator. Mediation of violations will be conducted within the Department and may be referred to the CSU Student Conduct and Conflict Resolution Office.
Colorado State University students should be familiar with the University Honor Pledge.