CS6250 Computer Networks

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

Course Syllabus: CS6250 Computer Networks

Term: Summer 2024
Mode of Delivery: 100% Delivered on Canvas
Dates course runs: May 13 th – Aug 1 st, 2024

Instructor Information
Dr. Maria Konte
Email: [email protected]
Johann Lau, Head TA
[email protected]
Please contact the instructor team through Edstem using a private post to ‘Instructors’
Ken Westdorp, Head TA
[email protected]
Erick Herring, Head TA
[email protected]

General Course Information

Description

This course starts with an overview of Internet architecture and its evolution. From there, we broadly cover basic protocols and algorithms that span across all layers of the Internet protocol stack, such as TCP and congestion control. Next, we study intradomain/interdomain routing, peering and network relationships. Further, we explore router design and functionalities. Next, we study new Software Defined Networking technologies. We explore topics at the intersection of Network Security and Computer Networks, especially attacks on Internet routing. At the final part of the course, we explore multimedia applications and Content Delivery Networks.

Hands-on projects help provide an understanding of routing, SDN, and Internet measurements. For students who would like to explore more there is an additional project that engages with tools for Internet-wide measurements to understand how large-scale events associated with unrest are reflected as connectivity disruptions for some networks in specific parts of the world.

Pre-/Co-Requisites

A prior course in computer networking is not a prerequisite. However, this is an advanced course. Many things that would be covered in an introductory undergraduate course will not be covered in this course beyond a "review" level. Having a prior understanding of basic networking concepts is expected (such as IP addresses, subnets, TCP vs. UDP, OSI layer model and encapsulation, 3-way handshakes, basic operation of HTTP, client-server model vs. peer-to-peer model, etc.). Students will be expected to code in Python at an intermediate level (using object-oriented programming, data structures, control structures, etc. as well as testing and debugging strategies – see “programming skills” below).

Course Goals

By the end of this course, you will learn the principles and practice of computer networks, including signaling and framing, error control, medium access, routing, congestion control, end-to-end transport, and network APIs.

Course Learning Outcomes

By the end of the course, you will be able to:
• Understand, from an evolution perspective, why the Internet architecture has its current form
• Learn how basic algorithms and protocols work, such as link-state routing, distance vector routing
• Understand problems related to convergence, instability, configuration verification
• Understand router design and functionalities such as switching, queueing, packet classification
• Learn about Software Defined Networking technologies and applications
• Apply Internet measurements and analytics to achieve multiple tasks
• Evaluate issues related to Internet security, surveillance, and censorship
• Understand how modern Applications work: voice and video applications

Course Materials

Course Text

There is no required textbook for this class. The exams will be based on the lectures and readings provided, rather than material outside of these. As an optional reference resource, we suggest Computer Networking: A Top-Down Approach by Kurose & Ross 7th edition, ISBN-10: 9780133594140 ISBN-13: 978-0133594140 (you might use the 6th, but it doesn’t cover SDN as well).
Classroom Management Tools are located in Canvas:
  • Content (Video Lectures and Reading Materials)
    • Material in Canvas -> Modules
    • Discussion in Edstem (various threads)
  • Projects
    • Instructions, files and submission boxes in Canvas -> Assignments
    • Walkthroughs in Office Hours in Canvas->Edstem (separate threads for each project)
    • Discussion and student-generated resources in Canvas->Edstem (various threads)
  • Exams
    • Delivery in Canvas/Quizzes (including proctoring via Honorlock in Canvas)
    • Logistics and study discussions in Edstem (various threads)
  • Grades in Canvas -> Grades
NOTE: A previous iteration of this course had lecture videos hosted on Udacity. While these can be
helpful and still teach useful concepts, the old lectures on Udacity do not cover the same material.
Students are expected to study and use the content in Canvas.

Course Virtual Machine

Projects throughout the course will be released and graded on a virtual machine (VM). We recommend using VirtualBox to run your VM so that we can provide support for your VM configuration. If you are willing to self-support, then you may use any virtualization system that supports importing the provided files. We do not recommend building your own virtual machine due to specific software packages required. See Edstem for download links and instructions for downloading and setting up the course VM. Georgia Institute of Technology

Course Requirements, Assignments & Grading

Assignment Distribution and Grading Scale

Grading will be based on five projects and two exams completed throughout the course, with an extra credit opportunity. The grade breakdown is as follows:
Assignments
Weight
Spanning Tree Protocol
10%
Distance Vector Routing
15%
SDN Firewall
15%
BGP Measurements
20%
Projects Total:
60%
Exam 1
15%
Exam 2
15%
Quizzes
10%
Exam/Quizzes Total:
40%
Extra credit – Internet-Wide Events
3%
Extra Credit Total:
3%
Total
103%

Grading Scale

There is no curve in CS6250. Letter grades are calculated as follows:
• A ≥ 90%
• B ≥ 80% and < 90%
• C ≥ 70% and < 80%
• D ≥ 65% and < 70%
• F < 65%

Course Components

  • Lectures & Readings: The lectures and accompanying readings for each week. Students are responsible for watching and reading this material.
  • Projects: Project start and end dates are provided on the schedule at the end of this Syllabus. Note that instructions and project files are provided in Canvas.
  • Quizzes: There are weekly quizzes for each week lesson content is assigned. These are due at the end of the week -- there are no exceptions for people who don’t take Quizzes on time.
  • Exams: Exams will be administered via Honorlock. Please check the class schedule for open/close dates of the exam window.
    • Late exam submissions, after the window has closed, are not allowed – except in case of emergency. Not taking the exam, or late exam submission, defaults to score 0 for that exam. Honorlock will allow you to start your exam any time during the exam window but will stop your exam when the window closes. This means if you are allotted 2 hours to complete an exam, but if you start your exam one hour before the exam window closes,  you will only have one hour to complete your exam. Give yourself plenty of time prior to the end of the exam window to complete your exam.
    • You must take all exams by yourself, and all answers must be provided entirely by you. You may not give (or ask for) direct answers to exam questions to classmates, online forums, chats, websites, etc. (Asking about concepts presented in class is acceptable, so long as the question is not soliciting a response that would answer a specific exam question, and provided it is not done during a proctored exam period where such materials or websites may be disallowed.)
    • o Exams in this course do not allow supplemental materials, e.g., notes, scratch paper, books or digital reference material. All proctored exams will have specific instructions regarding what materials are and are not allowed to be used during the exam – usually only the Honorlock calculator app is allowed, and earbuds or headphones or headsets are not permitted. Using any disallowed materials during a proctored exam will be considered an academic integrity violation and will result in a zero for the exam.
    • While preparing for the exam, it is entirely up to you to evaluate the relevance and accuracy of any information you find outside of the official class materials. If you use information you found on the Internet to answer a question, and it is wrong because the information was either inaccurate or was answering a slightly different question than the one on the exam, then that answer is wrong and will be graded as such.
    • Invalid Honorlock sessions (such as the student’s face leaving the frame of the camera, the student using headphones, etc.) will result in a score of 0 for the exam. Please ensure that you understand what is permitted and not permitted for each exam.

Assignment Due Dates

All quizzes, exams, and projects are due at 23:59:59 AOE, unless otherwise noted. All assignments are due relative to the “Anywhere on Earth” Time Zone (AOE). We will not make exceptions due to time zone issues. It is your responsibility to make sure your time zone is set correctly in Canvas!

Grading and Feedback

Discussion of each exam will be allowed once all students complete the assignment, and grading has been finished. We release grades pending Honorlock review and finalize grades once review is done. Thus, it is possible for you to see a score for an exam and later receive a zero if our review shows you did not follow the proctoring rules, resulting in an invalidated proctoring session.

For Projects, your last submission on Canvas will be used for grading. Be sure to include ALL files in the last submission. We will not release full solutions to any assignment.

Technology Requirements and Skills

Minimum Technical Requirements
  • • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. 2+ Mbps recommended; at minimum 0.768 Mbps download speed.
  • Operating system: Note – these technical requirements are for project completion only. Honorlock requires the Chrome browser with the Honorlock extension installed, on Windows/Mac only.
    • PC: Windows 10 with latest updates installed
    • Mac: OSX Sierra 10.12 or higher with latest updates installed
    • Linux: Any recent distribution that has the supported browsers installed
  • Hardware: Georgia Tech’s online graduate program issues the following Minimum Hardware Requirements to online grad students (https://omscs.gatech.edu/technical-requirements). We recommend that you meet or exceed these guidelines to ensure you have sufficient computing Georgia Institute of  power to complete all coursework and projects. You need 8Gb RAM minimum to run a VM. Additionally, M1 and M2 computing machines will have limited support from the TA staff.
  • Software: We will have limited support for VMware, VirtualBox, and Parallels. See Edstem for other options, discussions and VM support.

Technical Support

For any technical questions, problems or concerns with lecture videos, Edstem, Canvas, or other Georgia Tech IT resources, please find email contacts below. The instructor/TAs will likely not be able to assist you with this.

Programming Skills

We will be completing the project assignments in Python 3. An intermediate level of skill with Python is adequate for the projects in this course. If you have a beginner level of skill but have programmed something more complex than "Hello World" in Python before, then you should be able to learn what you need to about the language as you go through the course — it may just take you a little more time, and a willingness to search the Python documentation and other Internet sources to teach yourself how to do some things.

If you have never programmed in Python before (or have only written "Hello World" or only completed a basic tutorial on that level), then you may find it better to take some time to learn Python prior to the start of the course. If you have experience learning new computer languages and feel comfortable teaching yourself a new language from scratch in a short period of time, then you may find extra time and effort will be enough to be successful.

Canvas & Kaltura

This class will use Canvas and Kaltura to deliver course materials to online students. ALL course materials, assignments, and exams will take place on Canvas.

Proctoring Information

All course exams will be proctored. A proctored exam is similar to the one you would take in the classroom. This means no open textbooks, notebooks, notes, and other like resources are allowed unless any of these materials are allowed. These exams are delivered via a tool called Honorlock. Honorlock uses multi-factor biometric authentication to verify the identity of students, upon entry. Each student will provide a face and ID scans, which will be measured against the student’s baseline biometric profile, stored on file. You will also be asked to scan the room around you – see Edstem for a pinned post for details.

You will have the opportunity to take an onboarding quiz to become familiar with how it all works and to ensure that your system meets all hardware and software requirements. The onboarding quiz will be a practice quiz that will not affect your grades in the course. You can take the onboarding quiz as many times as you want. All potential violations are reviewed by a human - a violation can result in a grade of 0 for an exam and/or point deductions. If you have any issues with Honorlock while taking the graded exam, reach out to Honorlock 24/7. Support: https://honorlock.com/support/. TA support may be unavailable; especially as the exam window closes.

Course Policies, Expectations & Guidelines

Communication Policy

All communications for the class will take place within Edstem. This includes, but is not limited to the following:


  • Student Questions: Students are strongly encouraged to post their questions on Edstem related to the lectures, readings, weekly discussions, exam preparation, or projects. Due to the large volume of this class, we do not recommend directly emailing the instructor or the TAs.
  • Private Posts: Students can post privately to the teaching staff on Edstem. This is appropriate when a student needs to ask a question about a personal matter or request a regrade. Students may also post privately to ask questions about the material when the question would violate academic integrity rules if posted publicly. An example of this would be asking a question about their code submission for a project that requires posting the code. Posts should be addressed to “Instructors” in order to ensure that they are seen and addressed.
  • Volume of posts: Please try to avoid posting duplicate questions. Posting duplicate questions can lower the turnaround time of responses significantly. You can use the search bar (to the right of the “New Post” button) and the folders listed across the top of the page to look for related posts where your question may have already been asked and answered.
  • Instructor/TA Announcements: Announcements within Edstem will be used to communicate updates to projects, grades being posted, and other administrative information. Students should be active on the Edstem forums and are responsible for reading announcements within 24 hours, as the information will typically be time-sensitive. While the teaching staff will make every effort to update resources/descriptions on Canvas in the event of a policy or project change, it is ultimately the responsibility of the student to obtain updates on Edstem. This includes all posts, whether they have been pinned by the teaching staff or not.
  • Email announcements through Edstem: Particularly important announcements may occasionally be sent by email. We will use Edstem to do this, so you will receive these announcement emails at the email address you have in your Edstem account. We use your Canvas / GA Tech email address to add you to Edstem – you can then configure another email address in Edstem. However, whichever you use, you are responsible for checking it daily in case of such announcements.
  • Edstem code of conduct: Please review the anti-harassment policy, located within this document.
  • Emailing the Instructor: Students may directly email the instructor if there is an issue that has not been resolved through communication on Edstem. Due to the large volume of students, direct emails may take longer to be answered. Students are strongly encouraged to post on Edstem first and seek resolution from the TA team. Emails to the Professor will likely be referred to the head TAs.
  • Other Official emails: Under certain circumstances, the TA team may send you direct emails to your official Georgia Tech email address (you may not request a different email address for these messages). Examples include resolving academic integrity violation incidents, notification of incomplete onboarding with proctoring software, etc. Students are expected to check their Georgia Tech email at least twice a week and to respond in a timely manner. 

Anti-harassment policy: 


Please follow these guidelines to ensure that everyone has a beneficial, positive and harassment-free experience:

  • Any type of hostile behavior will not be accepted. Abusive/degrading/hostile/intimidating language, language that creates discomfort, or interferes with a person's participation or opportunity for participation will not be tolerated. Excuses such as “It was obvious” or “I was just joking” will not be accepted.
  • Students that are violating this policy may be excluded from participation at Edstem. If you believe that you or a classmate has been harassed, please contact the Instructor/TAs immediately. 
  • Please remember that on the other end of a posted question, follow up, or comment there is a real person - like you - who will react not only to the content of your response, but also to the tone. Please remember that students in this class have a wide variety of backgrounds and prior experience. Students with more experience or background in a topic are strongly encouraged to share - through useful and practical responses – in a supportive way so that others can learn as well. When you answer a question, please remember that your primary purpose is to help the student who asked.
  • You are encouraged to suggest ways to improve questions that are posted so that students will receive faster and better answers. You are expected to do so using positive and supportive language and tone.


Subject to Change Statement

The syllabus and course schedule may be subject to change. Changes will be communicated via email, Edstem, and/or the Canvas announcement tool. It is the responsibility of students to check email messages and course announcements to stay current in their online courses.

Office Hours

The tentative office hours schedule for the semester is as follows:
Weekly Office Hours with Head TAs: These sessions are mostly focused on project questions.
Chat Sessions: In addition to the above, the class TAs will hold 30-minute chat sessions, 1 to 5 times per week, to help students with project questions. We will announce the schedule of the chat sessions every week, depending on TA availability. There are no chat sessions during Exam weeks.
• Content Threads: We have weekly content threads for the students to ask content questions.
Student questions in office hours: We expect students to ask questions on the Edstem Office Hours
thread each week. If the students are not able to watch at the time of the office hours, they are strongly
encouraged to post their questions in advance and watch the recording of office hours.
Format: We will be holding office hours online using Microsoft Teams. Meetings will be listed on
Canvas under the Microsoft Teams link and students are encouraged to post their questions as follow
ups to the office hours Edstem post both before office hours begin and during the live broadcast. After
office hours have been completed, a recording of the office hours will be made available. By entering
questions in advance and viewing the recording afterward, students may participate in office hours
even if they are not able to attend live.
University Use of Electronic Email
A university-assigned student e-mail account is the official university means of communication with all
students at Georgia Institute of Technology. Students are responsible for all information sent to them
via their university-assigned e-mail account. If a student chooses to forward information in their
university e-mail account, he or she is responsible for all information, including attachments, sent to
any other e-mail account. To stay current with university information, students are expected to check
their official university e-mail account and other electronic communications on a frequent and
consistent basis. Recognizing that some communications may be time-critical, the university
recommends that electronic communications be checked minimally twice a week.
Plagiarism & Academic Integrity
Students are expected to follow the Georgia Tech Honor Code
(https://policylibrary.gatech.edu/student-life/academic-honor-code), including the Graduate
Addendum. All incidents of suspected dishonesty will be reported to and handled by the Office of
Student Integrity. In addition, the following specific policies apply to this course. If in doubt as to
whether an action is allowed in this course, please ask the Instructor/TAs. Georgia Institute of Technology
Course Syllabus: CS6250 Computer Networks
8
• Collaboration: You are to complete all projects yourself. You may discuss the projects with
your classmates, but you may not share code/data/solutions with other students. For specific
projects, we provide explicit instructions about what pieces of information can or cannot be
shared with the entire class. Should a classmate send you their code (such as in a direct
message on Slack), it is your responsibility to warn them and/or inform the TA team.
• Plagiarism: You may not copy or reference solutions (fully or in part) from any source. (This
includes solutions from previous classes or solutions in other programming languages.) Each
file you turn in must be written entirely by yourself. If it is a file provided with the project, the
modifications to the file must be made entirely by yourself. For written reports, all quotes must
be clearly cited. Additionally, the use of any unauthorized assistance, including but not limited
to programs such as ChatGPT and Github Copilot, is strictly prohibited in this course. Any
violations of this policy will be considered academic misconduct and will be subject to
disciplinary action. It is your responsibility to ensure that you are aware of and adhere to all
academic integrity policies and guidelines.
o Contact the TAs if you have any questions.
• Publishing exam/project material or solutions: You may not publish or provide project
solutions on any medium at any time, even if the solution is not working/did not earn full credit
(with the exception of private messages to the TA team). You may not publish or provide exam
questions OR answers on any medium at any time (except for in the clearly designated thread
on Edstem after the TA team announces grades). These restrictions include public git repos,
sites such as CourseHero, and private messages to others. These restrictions apply even
after completing the course and/or graduating from the program.
Accommodation for Students with Disabilities
If you are a student with learning needs that require special accommodation, contact the Office of
Disability Services at (404)894-2563 or http://disabilityservices.gatech.edu/, as soon as possible, to
make an appointment to discuss your special needs and to obtain an accommodation letter. Please
also send a private message to “Instructors” on Edstem as soon as possible. Note: the TA team cannot
provide any accommodation or extensions without an accommodation letter, nor are accommodations
provided retroactively.
Late and Make-up Work Policy
All due dates are 23:59:59 AOE, on the date specified, unless otherwise noted. Misunderstanding of
the deadline and late policy is NOT a valid justification for an extension or reduction in penalties. It is
the student’s responsibility to accommodate for technical issues, such as a slow connection to Canvas.
• Late project submissions will be penalized 5% of the max point total per hour late, with
the hour rounded up. Submissions will be accepted up to 19 hours after the posted due date.
If there are multiple submissions, the last submission is used for grading, with any late
penalty applied.
• Exams are only available and accepted during the posted exam window.
• The extra credit submission is NOT accepted past the posted deadlines.
Extensions to Deadlines
Extensions to deadlines will be allowed only in the case of a medical or personal emergency, or in the
case of military exercises/deployments for service members. These situations must be approved by
the office of Dean of Students. Please contact the Office of the Dean of Students, (see the Division of
Student Life [studentlife.gatech.edu] and the “Get Help Now” link) and send a private message to the
TA team on Edstem as soon as possible, letting us know of your situation.
Regrade RequestsGeorgia Institute of Technology
Course Syllabus: CS6250 Computer Networks
9
• Format: All requests for a regrade on any project or other questions regarding your grade must
be made via private post to all instructors on Edstem. Please use the provided regrade request
tag in Edstem for project regrade requests. We post instructions in each grade release post. For
questions about the assignment not specific to your submission, please make a public post on
Edstem.
• Deadline for regrade requests: Regrade requests must be made no later than one week from
the grade release date for that assignment. Due to the volume of this class, there will be no
exceptions.
• Valid requests: Please submit a request if you think there has been an error in grading or applying
the rubric (such as the number of points not adding up correctly). Other regrade requests will not
be considered, e.g., if you need a higher grade for institute/program requirements or
reimbursement, your grade is close to the cutoff for the next grade level, etc.
• Volume of regrade requests: Please submit a regrade request only if there has been an error.
Please refrain from submitting multiple requests, as they consume significant amounts of TA time.
This can result in a slower turnaround time that may affect the entire class.
Student-Faculty Expectations Agreement
At Georgia Tech, we believe that it is important to strive for an atmosphere of mutual respect,
acknowledgement, and responsibility between faculty members and the student body. See
http://www.catalog.gatech.edu/rules/22/ for an articulation of some basic expectations that you can
have of us and that we have of you. In the end, simple respect for knowledge, hard work, and cordial
interactions will help build the environment we seek. Therefore, we encourage you to remain
committed to the ideals of Georgia Tech while in this class.

Course Schedule

See https://registrar.gatech.edu/calendar for Georgia Tech’s academic calendar. All deadlines are 23:59:59 AOE on the date specified.
Week/Dates
Topic
Assignments
Week 1
May 13 – May 19
Lesson 1: Introduction, Internet History, and Architecture
Registration through May 17th, 4:00 PM EST
Spanning Tree Protocol Assigned
Week 2
May 20 – May 26

Lesson 2: Transport and Application Layers
Quiz Lesson 1
Quiz Lesson 2
Spann Tree Protocol Due (May 26)

Week 3
May 27 – Jun 2

Lesson 3: Intradomain Routing
Lesson 4: AS Relationships and Interdomain Routing

Quiz Lesson 3
Quiz Lesson 4
Distance Vector Assigned

Week 4
Jun 3 – Jun 9

Lesson 5: Router Design and Algorithms: Part 1
Lesson 6: Router Design and Algorithms: Part 2

Quiz Lesson 5
Quiz Lesson 6
Distance Vector Due (June 9)

Week 5
Jun 10 – Jun 16

Exam 1
Exam 1 (Jun 12 – Jun 16)
Week 6
Jun 17 – Jun 23

Lesson 7: SDN Part 1
Lesson 8: SDN Part 2

SDN Firewall Assigned
Quiz Lesson 7
Quiz Lesson 8

Week 7
Jun 24– Jun 30

Lesson 9: Internet Security
Withdrawal Deadline June 29th at 4:00 PM EST

Quiz Lesson 9
SDN Firewall Due (Jun 30)

Week 8
Jul 1 – Jul 7

Lesson 10: Internet Surveillance and Censorship
BGP Measurements Assigned
Internet-Wide Events EC Assigned
Quiz Lesson 10

Week 9
Jul 8– Jul 14

Lesson 11: Applications Part 1: Video
BGP Measurements
Internet-Wide Events EC Due
Quiz Lesson 11

Week 10
Jul 15 – Jul 21

Lesson 12: Applications Part 2: CDNs
BGP Measurements Due (July 21)
Internet-Wide Events EC (July 21)
Quiz Lesson 12
Week 11
Jul 22 – Jul 28

Optional: Lesson 13: Future of the Internet
Exam 2

Exam 2 (July 22 – July 28)
Week 12
Jul 29 – Aug 4

End of Term

Week 13
Aug 5 – Aug 11


Grades Due

发表评论

电子邮件地址不会被公开。 必填项已用*标注