Instructor: Ramana Kompella LWSN 1203 [Office hours: By Appointment Only]
Teaching Assistants: Yu-Hong Yeung [Office hours: TBD]
Staff Email List: firstname.lastname@example.org. Please send all email to this email address so it will be seen by both me and the TA.
Venue and timings: Lectures - TuTh, LWSN 1106, 3:00-4:15pm, Practice Study Observations (PSOs) - 1:30-3:20pm Monday, 9:30-11:20am Friday HAAS 257.
Required Textbook: James F. Kurose and Keith W. Ross. Computer Networking - A Top Down Approach Featuring the Internet. 5th edition.
Recommended: Peterson and Davie. Computer Networks - A Systems Approach. 5th Edition. Morgan Kaufmann.
Grading: Tentative and subject to change.
Class Discussion: We will use Piazza for group discussion regarding homeworks and programming assignments. Please visit https://piazza.com/class#fall2012/cs536 for guidelines.
This course is intended to provide a tour through the basic concepts underlying data communications and computer networks. The structure and components of computer networks, packet switching, layered architectures, TCP/IP, physical layer, error control, window flow control, local area networks (Ethernet, Token Ring, FDDI), network layer, congestion control, quality of service and so on will be covered in this course. While the course is going to primarily to equip you with basic concepts and principles underlying the field of computer networks, the goal is also to learn network programming. The programming language of choice in this course is C (no JAVA!); so, if you are unfamiliar with C, please take the undergraduate C programming course before you register for this course. This is a strong requirement and no exceptions will be made at all. The pre-requisites are CS 354 (Under graduate operating systems) or CS 422 (undergraduate networks) or equivalent courses. These courses are not required but no exposure to any of these courses would make it really hard for you to follow the course. (Please see me if you are confused.)
All assignments, programming projects and exams are to be done individually with no collaboration or assistance from any one including the Internet, unless *explicitly* permitted by the instructor. In case of any doubt or confusion, please contact the instructor for clarification on what is permitted and what is not. In any case, if the TA or the instructor finds any case of cheating or dishonesty, the student will be dealt with quite severely. This may include loss of a Grade, a letter to the Dean's office and other such penalties. Further, the department policy is to not provide any kind of funding opportunity (e.g., TAship) to students caught with dishonesty.
For a more elaborate treatment of academic dishonesty policies, please read the following page by Prof. Spafford. http://spaf.cerias.purdue.edu/cpolicy.html.
COURSE SCHEDULE AND SLIDES
The schedule is tentative and is subject to change depending on how much time it actually takes to cover individual concepts.
NOTE: The slides below are accessible only from Purdue domain since some of the powerpoint slides contain copyrighted material. If you want to access the slides off campus, please vpn into purdue first. You can find VPN intructions at http://webvpn.purdue.edu.
NOTE: BOILERCAST RECORDINGS ARE AVAILABLE ON iTUNES. PLEASE FOLLOW THIS WEBPAGE.
There will be around four homeworks this semester. I will post the homeworks on this web page. The homeworks however are not graded. I am going to release the homework solutions in roughly a week to give you time to work through the solutions. It will be helpful for reinforcing the material and will aid you in your preparation for midterm and final.
NOTE: There should be no sharing of code or text. No downloading of assignments or code from the Internet unless explicitly allowed by the instructor. If you have questions, please email the course staff if you have any questions.
Generic Submission Instructions for PROGRAMMING ASSIGNMENTS
Login to one of xinu* machines.
PAPER READING LIST
There will be 2 papers assigned each week. Students will review two papers in an online submission prior to the end of each assigned week (Friday by midnight).
If you do not have experience reading research papers, the following paper may help you figure out how to read research papers efficiently.
Reviews should be submitted via BlackBoard in the appropriate assignment. Reviews should include the following:
Paper Reviews: Paper reviews may not be turned in late. You may choose to not submit up to 3 reviews across all the papers. Others, you need to submit on time, otherwise, you will lose points for that paper.
Programming assignments: You have 5 free late days to spread across the programming assignments as you see fit. After that you get a ZERO on the programming assignment. Extraordinary circumstances, such as death in family or severe illness (with doctors note) will not be counted as late days.
8/21/2012 -- Course web page updated
8/21/2012 -- Please familiarize yourselves with Purdue's Academic dishonesty guidelines posted here. It is quite important for you to review these guidelines. You cannot plead ignorance of these policies once caught with dishonesty.
8/23/2012 -- We will use Piazza for discussions regarding homework assignments.