Difference between revisions of "Main Page"

From CSE473 Wiki
Jump to navigation Jump to search
 
(275 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<strong>CSE 473 wiki (INTRODUCTION TO COMPUTER NETWORKS)</strong>
+
<strong>CSE 473S wiki (INTRODUCTION TO COMPUTER NETWORKS)</strong>
=='''Announcements'''==
+
=='''Links'''==
* [https://piazza.com/wustl/fall2014/cse473/home Piazza course page]: Please use it for all Q&A related to the class.  ('''Note''':  You need to [http://piazza.com/wustl/fall2014/cse473 sign-up] before being able to access the site).
+
* [https://wustl.instructure.com/courses/24630 Canvas course page] (it's primary purpose will be to post grades.  All course material will be made available through the wiki--or bitbucket when it comes to code)
* [http://bb.wustl.edu Blackboard Site]: Used '''only''' for posting grades.
+
** [https://wustl.instructure.com/courses/24630/gradebook Grades on Canvas]:  All grades will be posted through Canvas.
 +
* [https://wustl.instructure.com/courses/24630/external_tools/715 Piazza course page] ([https://piazza.com/wustl/fall2019/fl2019e81cse473s01/home direct link]): Please use it for all Q&A related to the class.  ('''Note''':  If you registered for the course prior to the start of the semester you should have been automatically enrolled based on the registration list, but if you registered late you may need to directly [https://piazza.com/wustl/fall2019/fl2019e81cse473s01 sign-up] or send me an email asking me to add you.)<br>
 +
* We will use PollEverywhere to get spontaneous and instantaneous but anonymous feedback during lectures. Basically, it allows students to anonymously answer '''Yes''' or '''No''' to a question asking them whether a particular concept was clearAnswers can be sent by way of
 +
** text messages by texting ''ROCHGUERIN600'' to '''22333''' to join the session, and then text '''A''' for '''Yes''' and '''B''' for '''No'''
 +
** respond at [https://pollev.com/rochguerin600 PollEv.com/rochguerin600] from a web browser
  
* '''[9/16/2014] Grades for Lab1''':  Are on Blackboard and distributed as shown on this bar chart (Note: 70 was the maximum possible grade) [[File:Lab1.jpg]].
 
* '''[9/11/2014] Lab 1 solution''': Has been posted, as has a [[Media:Feedback_lab1.pdf | document]] providing feedback on Lab1 and advice on what to do in future labs.  The content of the document is the same as that of the related post on Piazza.
 
  
[[old_announce | '''Old Announcements''']]
+
--------------
  
=='''Overview'''==   
+
=='''Brief Course Description'''==   
 
This course provides a broad introduction to <u>'''computer networking'''</u>.<br/>
 
This course provides a broad introduction to <u>'''computer networking'''</u>.<br/>
It addresses all four major architectural layers of modern computer networks (application layer, transport layer, network layer and link layer), as well as selected topics from multimedia networking, wireless networking and network security.<br/>
+
It addresses all four major architectural layers of modern computer networks (application layer, transport layer, network layer and link layer), as well as selected topics from wireless networking, network security and possibly others.<br/>
 
'''Application layer''' topics include basic network programming and application layer protocols, including the protocols that underlie the world-wide web, electronic mail, the domain name system and peer-to-peer applications.<br/>
 
'''Application layer''' topics include basic network programming and application layer protocols, including the protocols that underlie the world-wide web, electronic mail, the domain name system and peer-to-peer applications.<br/>
 
'''Transport layer''' topics include the User Datagram Protocol (UDP), principles of reliable data transfer and the Transmission Control Protocol (TCP), as well as peer-to-peer protocols.<br/>  
 
'''Transport layer''' topics include the User Datagram Protocol (UDP), principles of reliable data transfer and the Transmission Control Protocol (TCP), as well as peer-to-peer protocols.<br/>  
Line 17: Line 19:
 
'''Link layer''' topics include multi-access protocols, Collision-Sense Multiple Access with Collision Detection (CSMA/CD), Ethernet, link layer switching, and Virtual Local Area Networks (VLAN). Wireless topics include WiFi, cellular wireless networks and mobile IP.<br/>
 
'''Link layer''' topics include multi-access protocols, Collision-Sense Multiple Access with Collision Detection (CSMA/CD), Ethernet, link layer switching, and Virtual Local Area Networks (VLAN). Wireless topics include WiFi, cellular wireless networks and mobile IP.<br/>
 
The topic of '''network security''' includes an introduction to basic cryptographic techniques, introduces security protocols, and offers a review of major (network) attacks and associated defense.<br/><br/>
 
The topic of '''network security''' includes an introduction to basic cryptographic techniques, introduces security protocols, and offers a review of major (network) attacks and associated defense.<br/><br/>
'''Prerequisite''': CSE 241<br/>
+
'''Prerequisites''': CSE 247 (CSE 132 is helpful as well, though not mandatory).  If you have any questions about prerequisites, please contact the instructor.<br/>
 
'''Credits''': 3 units.
 
'''Credits''': 3 units.
  
 
=='''Textbook(s)'''==
 
=='''Textbook(s)'''==
Kurose & Ross, Computer Networking: A Top-Down Approach, 6/e (2013), 0132856204, ISBN-13: 9780132856201
+
'''Authors''': J. Kurose and K. Ross<br>
 +
'''Title''': Computer Networking - A Top-Down Approach (7th Edition)<br>
 +
'''Publisher''': Pearson<br>
 +
'''ISBN-10''':      0-13-359414-9<br>
 +
'''ISBN-13''': 978-0-13-359414-9
  
See also [http://ftp.itb.ac.id/pub/ISO-IMAGES/linux/filenya-putu-shinoda/bukulinux/TCPIPSocketInJava.pdf TCP/IP Sockets in Java] by K.L. Calvert and M.J. Donahoo
+
See also [https://www.elsevier.com/books/tcp-ip-sockets-in-java/calvert/978-0-12-374255-1 TCP/IP Sockets in Java] by K.L. Calvert and M.J. Donahoo
  
 
=='''Logistics'''==
 
=='''Logistics'''==
* '''Class times and location''': Tuesday & Thursday, 2:30-4:00pm in Lopata 101.
+
* '''Class times and location''': Monday & Wednesday, 1:00-2:30pm in Wrighton Hall (formerly Lab Sciences) 250.
** First class is on Tuesday August26, 2014, and last class is on Thursday December 4, 2014.
+
** First class is on Monday August 26, 2019, and last class is on Wednesday December 4, 2019.
* '''Class grading''':  Review questions 10%; Quizzes 20%; Labs 25%; Midterm 20%; Final 25%
+
* '''Instructor''':  Roch Guerin, Jolley 304C, email: guerin@wustl.edu
* '''Instructor''':  Roch Guerin, Bryan 509D, email: guerin@wustl.edu
+
** Office hours: Tues. 3:00-4:00pm & Thur. 3:00-4:00pm (both in Jolley 304C)
** Office hours: Monday 4:00-5:30pm & Wednesday 4:00-5:30pm
+
* '''TAs'''  
* '''TAs and office + studio hours (<u>all studios and TAs office hours will be held in Urbauer 216</u>)'''
+
** Robert Esswein (resswein@wustl.edu)  
** Adam Drescher (adrescher@wustl.edu), office hours: Sunday 5-7pm & Monday 6-7pm
+
*** office/studio hours: Tuesday and Thursday 5:00-6:30pm (both in Jolley 431)
** Junjie Liu (junjie.liu@wustl.edu), office hours:  Sunday 3-5pm & Monday 4-5pm
+
** Lindsey Corydon (lindseycorydon@wustl.edu)  
** Dana Rubenstein (dana.rubenstein@wustl.edu), office hours:  Monday 5-6pm
+
***office/studio hours: Monday & Wednesday 2:30-4:00pm (right after class) in Jolley 431
** Jeremy Tang (jntang@go.wustl.edu), office hours: Monday 7-8pm
 
** Studio hours (Dana Rubenstein & Jeremy Tang): Wednesday 5:30-7:00pm & Friday 10:00-11:30am
 
  
* '''Late policy''': Labs and review questions are expected to be turned in '''at the start of class''' on their due date.  There will be ''no exception'' and ''no partial credit''.  On an ''exceptional basis,'' if you are unable to make it to class, you can turn in an assignment in the CSE department office (Bryan 509).  Give your assignment to one of the department staff, and ask them to sign and timestamp it.  The timestamp must precede the start time of the class.
+
* '''Announcements''': All announcements will be made through [https://piazza.com/wustl/fall2019/fl2019e81cse473s01/home Piazza]
  
* '''Asking questions''':  You can obviously ask face-to-face questions during any of the office or studio hours, but the other and possibly better means to get your questions answered is to use the [https://piazza.com/wustl/fall2014/cse473/home Piazza site] setup for the course (you will need to register to be able to access it).  The TAs and I will monitor the site and do our best to answer questions in a timely manner.  Posting questions on Piazza has the advantage that questions and answers are available to all students, and it is often the case that if you have a question, other students have a similar one.  Because of that, neither the TAs nor I will respond to email questions.  So please use the Piazza site as much as you can and don't hesitate to ask as many questions as you need to; '''there is no such thing as a dumb question.'''
+
* '''Asking questions''':  You can obviously ask face-to-face questions during any of the office or studio hours, but the other and possibly better means to get your questions answered is to use the [https://piazza.com/wustl/fall2019/fl2019e81cse473s01/home Piazza site] setup for the course.  The TAs and I will monitor the site and do our best to answer questions in a timely manner.  Posting questions on Piazza has the advantage that questions and answers are available to all students, and it is often the case that if you have a question, other students have a similar one.  Because of that, neither the TAs nor I will respond to email questions.  So please use the [https://piazza.com/wustl/fall2019/fl2019e81cse473s01/home Piazza site] as much as you can and don't hesitate to ask as many questions as you need to; '''there is no such thing as a dumb question.'''
  
* '''Midterm exam'''<sup>*</sup>: Tuesday October 14, 2014 (in class).
+
* '''Exam 1'''<sup>*</sup>: Monday October 21, 2019 (in class). Open book and open notes. No Internet queries.
* '''Final exam'''<sup>*</sup>: December 17, 2014, 3:30-5:30pm in TBA.
+
* '''Exam 2'''<sup>*</sup>: Wednesday December 4, 2019 (in class)Open book and open notes. No Internet queries.
* '''ACADEMIC INTEGRITY''': Please make sure you are familiar with [http://wustl.edu/policies/undergraduate-academic-integrity.html Washington University Academic Integrity Policy], as it will be strictly applied.
 
  
 +
<sup>'''*'''</sup> EXCEPT FOR PROPERLY DOCUMENTED MEDICAL EMERGENCY OR FAMILY EMERGENCY REASONS, THERE WILL BE '''NO''' MAKE-UP TIMES FOR EXAMS.  YOU NEED TO ARRANGE OTHER ACTIVITIES SO AS TO AVOID CONFLICTS.
  
<sup>'''*'''</sup> EXCEPT FOR PROPERLY DOCUMENTED MEDICAL OR FAMILY EMERGENCY REASONS, THERE WILL BE '''NO''' MAKE-UP TIMES FOR EXAMS.  YOU NEED TO ARRANGE OTHER ACTIVITIES SO AS TO AVOID CONFLICTS.
+
=='''Course Structure'''==
 +
 
 +
===='''Grading'''====
 +
You can check [[Exams#Past_Grade_Distributions|past grade distributions]] in the [[exams|Exams & quizzes]] section to get a sense of previous course grade distributions, though each year is a bit different.
 +
 
 +
{| class="wikitable" style="text-align: center; color: black; border-style: solid; border-width: 2px"
 +
|-
 +
|'''Review questions''' || 5%
 +
|-
 +
|'''Quizzes''' || 15%*  
 +
|-
 +
|'''Labs''' || 40%
 +
|-
 +
|'''Exam 1**''' || 20%
 +
|-
 +
|'''Exam 2**''' || 20%
 +
|}
 +
 
 +
'''NOTE: I WILL NOT GRADE ANYTHING THAT IS NOT WRITTEN LEGIBLYIT IS YOUR RESPONSIBILITY TO ENSURE I CAN DECIPHER WHAT YOU SUBMIT.  REVIEW QUESTIONS ARE AVAILABLE IN SOFT COPIES, SO PLEASE TRY TO TYPE YOUR ANSWERS AND SUBMIT THEM ELECTRONICALLY.'''
 +
 
 +
<nowiki>*</nowiki> There are 4 quizzes with the lowest score being dropped (alternatively, this allows you to miss on quiz for personal reasons), so each quiz counts for 5%
 +
 
 +
<nowiki>**</nowiki> The two exams are complementary and will cover separate material. Exam 1 will cover material from the 1st lecture till the lecture preceding the exam, while Exam 2 cover the remainder of the material.
 +
 
 +
'''Note''':  All grades are [https://wustl.instructure.com/courses/2484/gradebook posted on Canvas].
  
=='''Course Structure'''==
+
===='''Class format'''==== 
 +
Ideally, each "lecture" should be interactive and spent answering questions and digging into specific concepts you may not have fully understood, or working through some of the exercises in the slides.  However, for this to work you MUST have read ahead of time the material expected to be covered during the lecture.  This material will be identified by date in the ''Reading Assignment'' column of the [[syllabus]] on the wiki.  Working through exercises may require access to the book and possibly other material, so that you should bring a laptop to class.
 +
 
 +
===='''Reading Assignments'''==== 
 +
As mentioned, reading assignments are intended to prepare you for the next lecture.  Reading assignments will also often include additional material beyond the textbook, and in particular, Requests for Comments (RFCs) that are the "standards" documents of the Internet Engineering Task Force (IETF).  In most instances, except for the topic of network security (Attacks & Defenses) where the book only has limited coverage, you will not been expected to have read those RFCs ahead of class.  Material that is not required reading before a class will be listed on a separate line starting with '''FYI'''.  Note though that some of the problems will require retrieving information from those documents, so having some familiarity with their content ahead of class wont hurt.
 +
 
 +
In addition to the reading assignments and the questions we will explore in class, there is a wealth of material that is available with the ''Kurose & Ross'' textbook.  In particular, the textbook's [http://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/index.html student resources] include many problems, exercises, and labs that can help you assess and improve your understanding of the class material.  You are strongly encouraged to take advantage of those resources, and, for example, for small study groups of 2-3 students to work through them and discuss possible solutions. ''[Note that these resources seem to still be those from the 6th edition.  You will need the access code that is inside the book's cover to be able to access some of the material]''
 +
 
 +
==='''Review Questions'''==
 +
They are assigned ahead of each class with review question #''i'' expected to be turned it at the beginning of Lecture ''i''.  They are not really graded or rather they are graded in a '''binary''' manner, ''i.e.,'' 0 or 1 based on whether what you turn in indicates a genuine effort to try to answer the questions even if your answer is not correct.  As an incentive to complete them, they count for 5% of your grade.  They are meant to test your understanding of both previous material and more importantly the reading assignment material.
 +
 
 +
To the extent possible, please submit your review questions in electronic form through [https://wustl.instructure.com/courses/24630 Canvas] in either docx or pdf formats.
 +
 
 +
==='''Quizzes'''=== 
 +
There will be four (4) quizzes that together will count for 15% of your overall grade.  Except for scores of 0 due to an academic integrity violation, your lowest quiz score will be discarded (alternatively, you can miss one quiz, e.g., to accommodate a trip, an interview or an appointment you cannot reschedule), so that each quiz counts for 5% of your grade. Quizzes roughly alternate with labs due dates.  The material covered by each quiz goes from the lecture of the previous quiz to the lecture just before the quiz itself. Quizzes will take place at the start of class (so don't be late) and will take 15 minutes.  Quizzes will be open book and you will be allowed electronic access to your notes and course material.  However, Internet queries '''are prohibited'''.  In other words, you are not allowed to issue any searches for answers to quiz questions.  '''If you are caught using the Internet, you will get an automatic 0 on the quiz and may receive an F for the course'''.  As with exams, there will be no make-ups or adjustments for missed quizzes except for duly documented medical emergency or family emergency reasons.
 +
 
 +
==='''Studios'''=== 
 +
There are five studios that are all optional and meant to prepare you for the labs.  Studios are not graded and nothing needs to be turned in.  They are best completed in small groups (4) to allow for interactions and discussions of the material.
 +
 
 +
Code needed to complete each one of the studios will be made available under a correspondingly named directory in the [[git|git]] repository that you have been assigned for the class (see [[git|Using git and bitbucket]] for more information on your <span style="font-family:Courier;">''git''</span> repository).  Descriptions of each individual studio are also provided in the [[studios|Optional studios]] section of the wiki.
 +
 
 +
==='''Labs'''===
 +
There are '''six''' lab assignments that, except for [https://www.dropbox.com/s/zq3ej7lqb1uqugf/lab6-2018.docx?dl=0 Lab 6], will involve developing simple versions of some basic network software components and observing their behavior under different conditions.  Overall, the labs count for 40% of your grade, but not all labs have the same weight (their weight is a function of their point totals that range from 70 points  for Labs 1 & 4 to 140 points for Lab 5. 
 +
 
 +
The first lab must be completed individually by each student, but subsequent labs can be done in '''teams of two'''.  This is actually strongly encouraged as labs 3 and 5 are rather long, and can be a lot of work if you are doing them just by yourself.  A team only needs to turn in one lab assignment, and unless warranted by exceptional conditions, both team partners  receive the same grade.  If you decide to work with a partner, you need to record your team by '''Monday September 9, 2019, before 5:00pm CT'''.  To record your team, send an email to the instructor with the names and student IDs of both partners, and make sure the two partners are copied on the email.<br/>
 +
If you want to change your mind for a subsequent lab, ''i.e.,'' you did not have a partner and now want to have one, or conversely had a partner but now want to complete the lab on your own or switch partner, '''you MUST notify both the instructor and your previous and new partners (when applicable)''' of your decision.  This needs to be done in a timely fashion, ''i.e.,'' '''less than 3 days after the new lab has been assigned''', by sending a notification email to the instructor and previous and new partners, as applicable.<br/>
 +
 
 +
Most of the labs involve multiple components from developing your software to testing it using multiple machines connected over a network.  Getting all the pieces to work well together is likely to take multiple iterations, so don't wait until the last minute to get started on your lab.  It's a recipe for disaster
 +
 
 +
Note that if you don’t have access to either a Mac or a Linux machine, you will need to access ONL using the Virtual Linux Lab (check the document on [https://www.dropbox.com/s/pzcji3wwia81rhh/Using_a_Remote_Linux_Desktop_to_Access_ONL.docx?dl=0 Using a Remote Linux Desktop to Access ONL.docx] for more information).
 +
 
 +
Lab assignments, template of lab reports, and code needed to complete each one of the labs will be made available under a correspondingly named directory in the [[git|git]] repository that you have been assigned for the class (see [[git|Using git and bitbucket]] for more information on your <span style="font-family:Courier;">''git''</span> repository).  Descriptions of individual lab assignments are also provided in pdf format in the [[labs|Labs]] section of the wiki. Lab reports must be turned in by their due date, '''and''' all your code must be committed and pushed to your repository by that date as well.  The timestamp from your repository will be used to determine when your code was submitted.
 +
 
 +
==='''Exams'''=== 
 +
The course has two exams, Exam 1 and Exam 2, both counting for 20% of your overall grade.  Both exams will take place in-class (see '''Logistics''' or the course "Syllabus & schedule" for details) for .  The two exams are complementary and will cover different segments of the course material.  '''Exam 1''' will cover material from the first lecture till the lecture that precedes it, while '''Exam 2''' will cover the remainder of the course material.  Both exams will be open book and you will be allowed electronic access to your notes and course material.  However, as with quizzes, Internet queries '''are prohibited'''.  In other words, you are not allowed to issue any searches for answers to exam questions.  '''If you are caught using the Internet in that fashion, you will get an automatic 0 on the exam and may receive an F for the course'''.  There will be no make-ups or adjustments for missed exams except for duly documented medical emergency or family emergency reasons.
 +
 
 +
=='''Collaboration Policy and Academic Integrity Violations'''==
 +
 
 +
A copy of the School of Engineering & Applied Science Academic Integrity Policy is available [https://engineering.wustl.edu/current-students/student-services/Pages/academic-integrity-policy.aspx here], and it applies in its entirety to this course.  Make sure you are familiar with it.
 +
A more comprehensive description of the policy and the process followed for alleged violations is described [http://wustl.edu/policies/undergraduate-academic-integrity.html here], as it pertains to undergraduate students.
 +
 
 +
'''Violations''' of the Academic Integrity policy, be they in the form of cheating during a quiz or an exam (''e.g.,'' copying another student's answer or seeking to find it on the Internet) or submitting material that is not your own (''e.g.,'' by reusing lab solutions found on the Internet, or from previous years, or copied from another student) will result in an immediate referral to the registrar's office for formal investigation.  '''Students found in violation will have it entered in their record, and receive a penalty commensurate with the severity of the violation. It can range from a negative score for the assignment, or exam, or lab in question (it will cost you more than not turn anything in), to a grade of F for the course.  Instances of a second confirmed violation will automatically result in an F for the course.'''
 +
 
 +
* '''Review Questions:''' You should complete the review questions on your own, but you are not prohibited from discussing them with others.  Turning in a verbatim copy of someone else review question is, however, not acceptable and will be considered an academic integrity violation '''with an automatic grade of -5 for the review question (a review question has a maximum grade of 1).'''  Furthermore, review questions are meant to prepare you for the upcoming class, and so not doing them yourself will only make it harder for you to assimilate the class' material and subsequently apply it in the context of labs, quizzes, or exams.
 +
 
 +
* '''Quizzes and Exams:''' Collaboration is obviously not allowed, and any attempt to "share" answers with others will be considered an academic integrity violation and treated as such.  In particular, '''it will result in an automatic grade of -10 for a quiz (quizzes have a maximum grade of 10) or -50 for an exam (exams have a maximum grade of 100).'''
 +
 
 +
* '''Labs:''' In general, you can discuss labs with other students, but what you turn in '''must be your own.'''  In particular, because the labs heavily rely on labs from previous years (although differences have been introduced), trying to use earlier years' solutions will expose you to severe penalties.  '''Reusing material from previous years, or found on the Internet, or copied from another student/team will result in a minimum penalty of a grade of -50 for the lab, and possibly an F for the course if the copying is extensive'''.  If you are ever in doubt regarding what material is appropriate for you to use, please ask the instructor.
 +
 
 +
=='''Late and Make-Up Policies'''==
 +
 
 +
'''Exams:'''  There will be no make-ups or adjustments for missed exams except for duly documented medical emergency or family emergency reasons. 
  
'''Class format:'''  Ideally, each "lecture" should be highly interactive and spent either digging into specific concepts you may not have fully understood (in responses to questions '''you will need to ask'''), or working through some problems that require that you apply the material being targeted for this particular lectureIn order for this to work, it means that you MUST have read ahead of time the material expected to be covered during the lecture.  This material will be identified by date in the ''Reading Assignment'' column of the [[syllabus]] on the wiki.  Working through the problems will require access to the book and possibly other material, so that you should bring a laptop to class.
+
'''Quizzes:'''  There will be no make-ups or adjustments for missed quizzes except for duly documented medical emergency or family emergency reasonsNote though that since your lowest quiz score will be discarded, you are equivalently allowed to miss one quiz.
  
'''Reading Assignments (and preparing for quizzes & exams):'''  As mentioned, reading assignments are intended to prepare you for the next lecture. Reading assignments will also often include additional material beyond the textbook, and in particular, Requests for Comments (RFCs) that are the "standards" documents of the Internet Engineering Task Force(IETF). In most instances, except for the topic of network security (Attacks & Defenses) where the book only has limited coverage, you will not been expected to have read those RFCs ahead of class.  Material that is not required reading before a class will be listed on a separate line starting with '''FYI'''.  Note though that some of the problems will require retrieving information from those documents, so having some familiarity with their content ahead of class wont hurt.
+
'''Labs:'''  There will typically be no extensions for labs, as it will only make it harder for you to complete the next lab assignment. However, because emergencies and/or special circumstances can arise, '''a single 48 hours extension''' will be granted to students who ask for it '''at least 48 hours before the lab's due date'''.  Note that if a student asks for such an extension when completing a lab individually, then no further extension can be granted to whichever team that student subsequently becomes part of.<br/>
 +
In addition, if you have already used your one-time 48 hours extension or failed to ask for it 48 hours in advance, you will also be allowed a '''one-time 48 hours''' extension but with a 50% grade penaltyIn other words, if you ask for an extension at the last minute, you will be allowed this '''once''', and if your point total on the lab is, say, 90/100, your actual grade for the lab will be 45/100.
  
In addition to the reading assignments and the questions we will explore in class, there is a wealth of material that is available with the ''Kurose & Ross'' textbookIn particular, the textbook's [http://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/index.html student resources] include many problems, exercises, and labs that can help you assess and improve your understanding of the class materialYou are strongly encouraged to take advantage of those resources, and, for example, for small study groups of 2-3 students to work through them and discuss possible solutions.
+
'''Due date policy''':  Labs and review questions are expected to be turned in '''at the start of class''' on their due date, including a hard copyIf you are unable to make it to class, you can turn in an assignment in the CSE department office (Jolley 304)Give your assignment to one of the department staff, and ask them to sign and timestamp it.  The timestamp must precede the start time of the class when the assignment was due (or 48 hours later in case of an extension).
  
'''Review Questions:''' Will be assigned ahead of each class.  They are meant to test your understanding of both previous material and more importantly the reading assignment material, and need to be turned in at the start of the class.  As an added incentive for you to work through the questions, they will be checked to assess that you have made an honest attempt at completing them.  Review questions make-up 10% of your grade, and your overall score will depend on how many reasonably answered questions you turn in.
+
='''Other Relevant Material'''=
  
'''Quizzes:''' There will be six quizzes that will together count for 20% of your overall grade. Quizzes are scheduled approximately every second week to alternate with labs due dates. Quizzes will take place at the start of class (so don't be late) and will take 15 minutes. Your lowest quizz score will be discarded (alternatively, you can miss one quizz).  Like with exams, there will be no make-ups or adjustments for missed quizzes except for duly documented medical or family emergency reasons.
+
=='''Accommodating Special Requirements'''==
 +
Washington University is committed to providing accommodations and/or services to students with documented disabilities. Students who are seeking support for a disability or a suspected disability should contact Disability Resources at 935-4153. Disability Resources is responsible for approving all disability-related accommodations for WU students, and students are responsible for providing faculty members with formal documentation of their approved accommodations at least two weeks prior to using those accommodations. I will accept Disability Resources VISA forms by email and personal delivery. If you have already been approved for accommodations, please provide me with a copy of your VISA within the first two weeks of the semester.
  
'''Studios:'''  There are five studios that are all optional and meant to prepare you for the labsTwo TAs will be available to assist you with studios on Wednesday 5:30-7:00pm & Friday 10:00-11:30am in Urbauer 216Studios are not graded and nothing needs to be turned in.  They are expected to be completed in small groups (4) to allow for interactions and discussions of the material.
+
=='''Accommodations based upon sexual assault'''==
 +
The University is committed to offering reasonable academic accommodations to students who are victims of sexual assault. Students are eligible for accommodation regardless of whether they seek criminal or disciplinary actionDepending on the specific nature of the allegation, such measures may include but are not limited to: implementation of a no-contact order, course/classroom assignment changes, and other academic support services and accommodationsIf you need to request such accommodations, please direct your request to Kim Webb (kim_webb@wustl.edu), Director of the [https://rsvpcenter.wustl.edu/ Relationship and Sexual Violence Prevention Center].  Ms. Webb is a confidential resource; however, requests for accommodations will be shared with the appropriate University administration and faculty.  The University will maintain as confidential any accommodations or protective measures provided to an individual student so long as it does not impair the ability to provide such measures.
  
Code needed to complete each one of the studios will be made available under a correspondingly named directory in the [[svn|SVN]] repository that you have been assigned for the class. Descriptions of each individual studio are provided in pdf format in the [[studios|Optional studios]] section of the wiki.
+
If a student comes to me to discuss or disclose an instance of sexual assault, sex discrimination, sexual harassment, dating violence, domestic violence or stalking, or if I otherwise observe or become aware of such an allegation, I will keep the information as private as I can, but as a faculty member of Washington University, I am required to immediately report it to my Department Chair or Dean or directly to Ms. Jessica Kennedy, the University’s Title IX Director.  If you would like to speak with directly Ms. Kennedy directly, she can be reached at (314) 935-3118, jwkennedy@wustl.edu, or by visiting the [https://titleix.wustl.edu/ Title IX office] in Umrath Hall.  Additionally, you can report incidents or complaints to the Office of Student Conduct and Community Standards or by contacting WUPD at (314) 935-5555 or your local law enforcement agency. See: [https://titleix.wustl.edu/ Title IX].
  
'''Labs:''' There are five lab assignments that involve applying some of the material covered in the class, either by observing the behavior of networked systems or by developing simple versions of some basic network software componentsSeveral of the assignments will be done using the [[Onl|''Open Network Lab'']] (ONL), and you will need to first get an ONL account. Labs involve multiple components from developing your software to testing it using the ONL machines and network. Getting all the pieces to work well together is likely to take multiple iterations, so don't wait until the last minute to get started on your lab.  It's a recipe for disaster.
+
You can also speak confidentially and learn more about available resources at the Relationship and Sexual Violence Prevention Center by calling (314) 935-8761 or visiting the 4th floor of Seigle HallSee: [https://rsvpcenter.wustl.edu/ RSVP Center].
  
Code needed to complete each one of the labs will be made available under a correspondingly named directory in the [[svn|SVN]] repository that you have been assigned for the classDescriptions of each individual lab are provided in pdf format in the [[labs|Labs]] section of the wiki.
+
=='''Bias Reporting'''==
 +
The University has a process through which students, faculty, staff and community members who have experienced or witnessed incidents of bias, prejudice or discrimination against a student can report their experiences to the University’s Bias Report and Support System (BRSS) teamSee: [http://brss.wustl.edu brss.wustl.edu]
  
The first two labs must be completed individually by each student.  Subsequent labs can be done in teams of two if so desired.  A team only needs to turn in one lab assignment.  You can discuss labs with other students, but what you turn in '''must be your own.''' In particular, because the labs heavily rely on labs from previous years (although differences have been introduced), trying to earlier years' solutions will expose you to severe penalties, including possibly failing the courseIf you are ever in doubt regarding what material is appropriate for you to use, please ask me. Labs will count towards 25% of your overall grade.
+
=='''Mental Health'''==
 +
Mental Health Services’ professional staff members work with students to resolve personal and interpersonal difficulties, many of which can affect the academic experience. These include conflicts with or worry about friends or family, concerns about eating or drinking patterns, and feelings of anxiety and depressionSee: [http://shs.wustl.edu/MentalHealth shs.wustl.edu/MentalHealth]
  
'''Exams:''' The course has two exams, a midterm (20% of your overall grade) and a final (25% of your overall grade).  The midterm will take place in-class during the class of Tuesday October 14, 2014.  The exam will be held during the time-slot allocated by the university, i.e., on Wednesday December 17, 2014, 3:30-5:30pmThe final will be cumulative in its scope, i.e., include everything that has been covered during the class.
+
=='''Center for Diversity and Inclusion (CDI)'''==
 +
The Center of Diversity and Inclusion (CDI) supports and advocates for undergraduate, graduate, and professional school students from underrepresented and/or marginalized populations, creates collaborative partnerships with campus and community partners, and promotes dialogue and social changeOne of the CDI's strategic priorities is to cultivate and foster a supportive campus climate for students of all backgrounds, cultures and identities.
 +
See: diversityinclusion.wustl.edu/

Latest revision as of 00:53, 4 March 2020

CSE 473S wiki (INTRODUCTION TO COMPUTER NETWORKS)

Links

  • Canvas course page (it's primary purpose will be to post grades. All course material will be made available through the wiki--or bitbucket when it comes to code)
  • Piazza course page (direct link): Please use it for all Q&A related to the class. (Note: If you registered for the course prior to the start of the semester you should have been automatically enrolled based on the registration list, but if you registered late you may need to directly sign-up or send me an email asking me to add you.)
  • We will use PollEverywhere to get spontaneous and instantaneous but anonymous feedback during lectures. Basically, it allows students to anonymously answer Yes or No to a question asking them whether a particular concept was clear. Answers can be sent by way of
    • text messages by texting ROCHGUERIN600 to 22333 to join the session, and then text A for Yes and B for No
    • respond at PollEv.com/rochguerin600 from a web browser



Brief Course Description

This course provides a broad introduction to computer networking.
It addresses all four major architectural layers of modern computer networks (application layer, transport layer, network layer and link layer), as well as selected topics from wireless networking, network security and possibly others.
Application layer topics include basic network programming and application layer protocols, including the protocols that underlie the world-wide web, electronic mail, the domain name system and peer-to-peer applications.
Transport layer topics include the User Datagram Protocol (UDP), principles of reliable data transfer and the Transmission Control Protocol (TCP), as well as peer-to-peer protocols.
Network layer topics include key protocols from the Internet protocol suite (IPv4 and IPv6, as well as ICMP, DHCP and NAT), plus router data and control plane functions. The latter covers general network routing algorithms and specific Internet unicast and multicast routing protocols (OSPF, IS-IS, PIM and BGP).
Link layer topics include multi-access protocols, Collision-Sense Multiple Access with Collision Detection (CSMA/CD), Ethernet, link layer switching, and Virtual Local Area Networks (VLAN). Wireless topics include WiFi, cellular wireless networks and mobile IP.
The topic of network security includes an introduction to basic cryptographic techniques, introduces security protocols, and offers a review of major (network) attacks and associated defense.

Prerequisites: CSE 247 (CSE 132 is helpful as well, though not mandatory). If you have any questions about prerequisites, please contact the instructor.
Credits: 3 units.

Textbook(s)

Authors: J. Kurose and K. Ross
Title: Computer Networking - A Top-Down Approach (7th Edition)
Publisher: Pearson
ISBN-10: 0-13-359414-9
ISBN-13: 978-0-13-359414-9

See also TCP/IP Sockets in Java by K.L. Calvert and M.J. Donahoo

Logistics

  • Class times and location: Monday & Wednesday, 1:00-2:30pm in Wrighton Hall (formerly Lab Sciences) 250.
    • First class is on Monday August 26, 2019, and last class is on Wednesday December 4, 2019.
  • Instructor: Roch Guerin, Jolley 304C, email: guerin@wustl.edu
    • Office hours: Tues. 3:00-4:00pm & Thur. 3:00-4:00pm (both in Jolley 304C)
  • TAs
    • Robert Esswein (resswein@wustl.edu)
      • office/studio hours: Tuesday and Thursday 5:00-6:30pm (both in Jolley 431)
    • Lindsey Corydon (lindseycorydon@wustl.edu)
      • office/studio hours: Monday & Wednesday 2:30-4:00pm (right after class) in Jolley 431
  • Announcements: All announcements will be made through Piazza
  • Asking questions: You can obviously ask face-to-face questions during any of the office or studio hours, but the other and possibly better means to get your questions answered is to use the Piazza site setup for the course. The TAs and I will monitor the site and do our best to answer questions in a timely manner. Posting questions on Piazza has the advantage that questions and answers are available to all students, and it is often the case that if you have a question, other students have a similar one. Because of that, neither the TAs nor I will respond to email questions. So please use the Piazza site as much as you can and don't hesitate to ask as many questions as you need to; there is no such thing as a dumb question.
  • Exam 1*: Monday October 21, 2019 (in class). Open book and open notes. No Internet queries.
  • Exam 2*: Wednesday December 4, 2019 (in class). Open book and open notes. No Internet queries.

* EXCEPT FOR PROPERLY DOCUMENTED MEDICAL EMERGENCY OR FAMILY EMERGENCY REASONS, THERE WILL BE NO MAKE-UP TIMES FOR EXAMS. YOU NEED TO ARRANGE OTHER ACTIVITIES SO AS TO AVOID CONFLICTS.

Course Structure

Grading

You can check past grade distributions in the Exams & quizzes section to get a sense of previous course grade distributions, though each year is a bit different.

Review questions 5%
Quizzes 15%*
Labs 40%
Exam 1** 20%
Exam 2** 20%

NOTE: I WILL NOT GRADE ANYTHING THAT IS NOT WRITTEN LEGIBLY. IT IS YOUR RESPONSIBILITY TO ENSURE I CAN DECIPHER WHAT YOU SUBMIT. REVIEW QUESTIONS ARE AVAILABLE IN SOFT COPIES, SO PLEASE TRY TO TYPE YOUR ANSWERS AND SUBMIT THEM ELECTRONICALLY.

* There are 4 quizzes with the lowest score being dropped (alternatively, this allows you to miss on quiz for personal reasons), so each quiz counts for 5%

** The two exams are complementary and will cover separate material. Exam 1 will cover material from the 1st lecture till the lecture preceding the exam, while Exam 2 cover the remainder of the material.

Note: All grades are posted on Canvas.

Class format

Ideally, each "lecture" should be interactive and spent answering questions and digging into specific concepts you may not have fully understood, or working through some of the exercises in the slides. However, for this to work you MUST have read ahead of time the material expected to be covered during the lecture. This material will be identified by date in the Reading Assignment column of the syllabus on the wiki. Working through exercises may require access to the book and possibly other material, so that you should bring a laptop to class.

Reading Assignments

As mentioned, reading assignments are intended to prepare you for the next lecture. Reading assignments will also often include additional material beyond the textbook, and in particular, Requests for Comments (RFCs) that are the "standards" documents of the Internet Engineering Task Force (IETF). In most instances, except for the topic of network security (Attacks & Defenses) where the book only has limited coverage, you will not been expected to have read those RFCs ahead of class. Material that is not required reading before a class will be listed on a separate line starting with FYI. Note though that some of the problems will require retrieving information from those documents, so having some familiarity with their content ahead of class wont hurt.

In addition to the reading assignments and the questions we will explore in class, there is a wealth of material that is available with the Kurose & Ross textbook. In particular, the textbook's student resources include many problems, exercises, and labs that can help you assess and improve your understanding of the class material. You are strongly encouraged to take advantage of those resources, and, for example, for small study groups of 2-3 students to work through them and discuss possible solutions. [Note that these resources seem to still be those from the 6th edition. You will need the access code that is inside the book's cover to be able to access some of the material]

Review Questions

They are assigned ahead of each class with review question #i expected to be turned it at the beginning of Lecture i. They are not really graded or rather they are graded in a binary manner, i.e., 0 or 1 based on whether what you turn in indicates a genuine effort to try to answer the questions even if your answer is not correct. As an incentive to complete them, they count for 5% of your grade. They are meant to test your understanding of both previous material and more importantly the reading assignment material.

To the extent possible, please submit your review questions in electronic form through Canvas in either docx or pdf formats.

Quizzes

There will be four (4) quizzes that together will count for 15% of your overall grade. Except for scores of 0 due to an academic integrity violation, your lowest quiz score will be discarded (alternatively, you can miss one quiz, e.g., to accommodate a trip, an interview or an appointment you cannot reschedule), so that each quiz counts for 5% of your grade. Quizzes roughly alternate with labs due dates. The material covered by each quiz goes from the lecture of the previous quiz to the lecture just before the quiz itself. Quizzes will take place at the start of class (so don't be late) and will take 15 minutes. Quizzes will be open book and you will be allowed electronic access to your notes and course material. However, Internet queries are prohibited. In other words, you are not allowed to issue any searches for answers to quiz questions. If you are caught using the Internet, you will get an automatic 0 on the quiz and may receive an F for the course. As with exams, there will be no make-ups or adjustments for missed quizzes except for duly documented medical emergency or family emergency reasons.

Studios

There are five studios that are all optional and meant to prepare you for the labs. Studios are not graded and nothing needs to be turned in. They are best completed in small groups (4) to allow for interactions and discussions of the material.

Code needed to complete each one of the studios will be made available under a correspondingly named directory in the git repository that you have been assigned for the class (see Using git and bitbucket for more information on your git repository). Descriptions of each individual studio are also provided in the Optional studios section of the wiki.

Labs

There are six lab assignments that, except for Lab 6, will involve developing simple versions of some basic network software components and observing their behavior under different conditions. Overall, the labs count for 40% of your grade, but not all labs have the same weight (their weight is a function of their point totals that range from 70 points for Labs 1 & 4 to 140 points for Lab 5.

The first lab must be completed individually by each student, but subsequent labs can be done in teams of two. This is actually strongly encouraged as labs 3 and 5 are rather long, and can be a lot of work if you are doing them just by yourself. A team only needs to turn in one lab assignment, and unless warranted by exceptional conditions, both team partners receive the same grade. If you decide to work with a partner, you need to record your team by Monday September 9, 2019, before 5:00pm CT. To record your team, send an email to the instructor with the names and student IDs of both partners, and make sure the two partners are copied on the email.
If you want to change your mind for a subsequent lab, i.e., you did not have a partner and now want to have one, or conversely had a partner but now want to complete the lab on your own or switch partner, you MUST notify both the instructor and your previous and new partners (when applicable) of your decision. This needs to be done in a timely fashion, i.e., less than 3 days after the new lab has been assigned, by sending a notification email to the instructor and previous and new partners, as applicable.

Most of the labs involve multiple components from developing your software to testing it using multiple machines connected over a network. Getting all the pieces to work well together is likely to take multiple iterations, so don't wait until the last minute to get started on your lab. It's a recipe for disaster

Note that if you don’t have access to either a Mac or a Linux machine, you will need to access ONL using the Virtual Linux Lab (check the document on Using a Remote Linux Desktop to Access ONL.docx for more information).

Lab assignments, template of lab reports, and code needed to complete each one of the labs will be made available under a correspondingly named directory in the git repository that you have been assigned for the class (see Using git and bitbucket for more information on your git repository). Descriptions of individual lab assignments are also provided in pdf format in the Labs section of the wiki. Lab reports must be turned in by their due date, and all your code must be committed and pushed to your repository by that date as well. The timestamp from your repository will be used to determine when your code was submitted.

Exams

The course has two exams, Exam 1 and Exam 2, both counting for 20% of your overall grade. Both exams will take place in-class (see Logistics or the course "Syllabus & schedule" for details) for . The two exams are complementary and will cover different segments of the course material. Exam 1 will cover material from the first lecture till the lecture that precedes it, while Exam 2 will cover the remainder of the course material. Both exams will be open book and you will be allowed electronic access to your notes and course material. However, as with quizzes, Internet queries are prohibited. In other words, you are not allowed to issue any searches for answers to exam questions. If you are caught using the Internet in that fashion, you will get an automatic 0 on the exam and may receive an F for the course. There will be no make-ups or adjustments for missed exams except for duly documented medical emergency or family emergency reasons.

Collaboration Policy and Academic Integrity Violations

A copy of the School of Engineering & Applied Science Academic Integrity Policy is available here, and it applies in its entirety to this course. Make sure you are familiar with it. A more comprehensive description of the policy and the process followed for alleged violations is described here, as it pertains to undergraduate students.

Violations of the Academic Integrity policy, be they in the form of cheating during a quiz or an exam (e.g., copying another student's answer or seeking to find it on the Internet) or submitting material that is not your own (e.g., by reusing lab solutions found on the Internet, or from previous years, or copied from another student) will result in an immediate referral to the registrar's office for formal investigation. Students found in violation will have it entered in their record, and receive a penalty commensurate with the severity of the violation. It can range from a negative score for the assignment, or exam, or lab in question (it will cost you more than not turn anything in), to a grade of F for the course. Instances of a second confirmed violation will automatically result in an F for the course.

  • Review Questions: You should complete the review questions on your own, but you are not prohibited from discussing them with others. Turning in a verbatim copy of someone else review question is, however, not acceptable and will be considered an academic integrity violation with an automatic grade of -5 for the review question (a review question has a maximum grade of 1). Furthermore, review questions are meant to prepare you for the upcoming class, and so not doing them yourself will only make it harder for you to assimilate the class' material and subsequently apply it in the context of labs, quizzes, or exams.
  • Quizzes and Exams: Collaboration is obviously not allowed, and any attempt to "share" answers with others will be considered an academic integrity violation and treated as such. In particular, it will result in an automatic grade of -10 for a quiz (quizzes have a maximum grade of 10) or -50 for an exam (exams have a maximum grade of 100).
  • Labs: In general, you can discuss labs with other students, but what you turn in must be your own. In particular, because the labs heavily rely on labs from previous years (although differences have been introduced), trying to use earlier years' solutions will expose you to severe penalties. Reusing material from previous years, or found on the Internet, or copied from another student/team will result in a minimum penalty of a grade of -50 for the lab, and possibly an F for the course if the copying is extensive. If you are ever in doubt regarding what material is appropriate for you to use, please ask the instructor.

Late and Make-Up Policies

Exams: There will be no make-ups or adjustments for missed exams except for duly documented medical emergency or family emergency reasons.

Quizzes: There will be no make-ups or adjustments for missed quizzes except for duly documented medical emergency or family emergency reasons. Note though that since your lowest quiz score will be discarded, you are equivalently allowed to miss one quiz.

Labs: There will typically be no extensions for labs, as it will only make it harder for you to complete the next lab assignment. However, because emergencies and/or special circumstances can arise, a single 48 hours extension will be granted to students who ask for it at least 48 hours before the lab's due date. Note that if a student asks for such an extension when completing a lab individually, then no further extension can be granted to whichever team that student subsequently becomes part of.
In addition, if you have already used your one-time 48 hours extension or failed to ask for it 48 hours in advance, you will also be allowed a one-time 48 hours extension but with a 50% grade penalty. In other words, if you ask for an extension at the last minute, you will be allowed this once, and if your point total on the lab is, say, 90/100, your actual grade for the lab will be 45/100.

Due date policy: Labs and review questions are expected to be turned in at the start of class on their due date, including a hard copy. If you are unable to make it to class, you can turn in an assignment in the CSE department office (Jolley 304). Give your assignment to one of the department staff, and ask them to sign and timestamp it. The timestamp must precede the start time of the class when the assignment was due (or 48 hours later in case of an extension).

Other Relevant Material

Accommodating Special Requirements

Washington University is committed to providing accommodations and/or services to students with documented disabilities. Students who are seeking support for a disability or a suspected disability should contact Disability Resources at 935-4153. Disability Resources is responsible for approving all disability-related accommodations for WU students, and students are responsible for providing faculty members with formal documentation of their approved accommodations at least two weeks prior to using those accommodations. I will accept Disability Resources VISA forms by email and personal delivery. If you have already been approved for accommodations, please provide me with a copy of your VISA within the first two weeks of the semester.

Accommodations based upon sexual assault

The University is committed to offering reasonable academic accommodations to students who are victims of sexual assault. Students are eligible for accommodation regardless of whether they seek criminal or disciplinary action. Depending on the specific nature of the allegation, such measures may include but are not limited to: implementation of a no-contact order, course/classroom assignment changes, and other academic support services and accommodations. If you need to request such accommodations, please direct your request to Kim Webb (kim_webb@wustl.edu), Director of the Relationship and Sexual Violence Prevention Center. Ms. Webb is a confidential resource; however, requests for accommodations will be shared with the appropriate University administration and faculty. The University will maintain as confidential any accommodations or protective measures provided to an individual student so long as it does not impair the ability to provide such measures.

If a student comes to me to discuss or disclose an instance of sexual assault, sex discrimination, sexual harassment, dating violence, domestic violence or stalking, or if I otherwise observe or become aware of such an allegation, I will keep the information as private as I can, but as a faculty member of Washington University, I am required to immediately report it to my Department Chair or Dean or directly to Ms. Jessica Kennedy, the University’s Title IX Director. If you would like to speak with directly Ms. Kennedy directly, she can be reached at (314) 935-3118, jwkennedy@wustl.edu, or by visiting the Title IX office in Umrath Hall. Additionally, you can report incidents or complaints to the Office of Student Conduct and Community Standards or by contacting WUPD at (314) 935-5555 or your local law enforcement agency. See: Title IX.

You can also speak confidentially and learn more about available resources at the Relationship and Sexual Violence Prevention Center by calling (314) 935-8761 or visiting the 4th floor of Seigle Hall. See: RSVP Center.

Bias Reporting

The University has a process through which students, faculty, staff and community members who have experienced or witnessed incidents of bias, prejudice or discrimination against a student can report their experiences to the University’s Bias Report and Support System (BRSS) team. See: brss.wustl.edu

Mental Health

Mental Health Services’ professional staff members work with students to resolve personal and interpersonal difficulties, many of which can affect the academic experience. These include conflicts with or worry about friends or family, concerns about eating or drinking patterns, and feelings of anxiety and depression. See: shs.wustl.edu/MentalHealth

Center for Diversity and Inclusion (CDI)

The Center of Diversity and Inclusion (CDI) supports and advocates for undergraduate, graduate, and professional school students from underrepresented and/or marginalized populations, creates collaborative partnerships with campus and community partners, and promotes dialogue and social change. One of the CDI's strategic priorities is to cultivate and foster a supportive campus climate for students of all backgrounds, cultures and identities. See: diversityinclusion.wustl.edu/