Computer Networks
EN.601.414/614, Fall 2023, In person.
Topics covered will include application layer protocols (e.g. HTTP), transport layer protocols (UDP, TCP), network layer protocols (e.g. IP), link layer protocols (e.g. Ethernet) and wireless protocols (e.g. IEEE 802.11). The course will also cover routing protocols such as link state and distance vector, multicast routing, and path vector protocols (e.g. BGP). The class will examine security issues such as firewalls and denial of service attacks. We will also study DNS, NAT, Web caching and CDNs, peer to peer, and protocol tunneling. We will explore security protocols (e.g. TLS, SSH, IPsec), as well as some basic cryptography necessary to understand these. Finally, we will learn about a few selected state-of-the-art topics such as cloud networking and software-defined networks. Grading will be based on hands-on programming assignments, homeworks, and two exams. [Systems]
Prerequisites: EN.601.220 and EN.601.229 or permission. Students can only receive credit for one of 601.414/614.
Instructor Information
I'm currently in my fifth year as a Ph.D. student within the computer science department. If you'd like to discuss the course content, you can arrange a meeting through this link. It's important to note that office hours are available by request, and only on Tuesdays and Thursdays. Apart from these hours, the best way to reach me is sending email at Sougol Gheissi. When sending an email, kindly include [Computer Networks] in the subject line. I'll be addressing emails on Tuesdays and Thursdays exclusively, so please plan your inquiries accordingly. Additionally, for assignment-related concerns, I recommend reaching out to TA Atheer Almogbil.
Course resources
- Canvas: Course material, Announcements, Recordings.
- Piazza: Discussions, Q/A, Chat. Please sign-up into the course using this link.
- Gradescope: Homework submission, Feedback & Grades. ( I have added the registered students to the Gradescope.)
- Computer Networks: A System Approach:
- Computer Networking: A Top-Down Approach by Kurose and Ross
We will use 3 different platforms in this class.
We will be using using the following two textbooks in this course:
You can also find a tentative schedule here.
Assessments & Grading
- • Assignments (50%)
- • Midterm (20%) on TBD
- • Final (20%) on Monday, December 18, at 6 pm - 8 pm.
- • Class activity (10%) All students are generally expected to attend all meetings of this course and actively participate in all class activities. For your convenience, lectures will be recorded and made available (on the same day) for asynchronous viewing/reviewing.
- • All students start the semester with a budget of five late days; however, you can only use at most two late days for any particular coursework.
- • Late days have to be used in their entirety.
- • You can only use a late day if you have one left in your budget. You are responsible to keep track of the late days you've used.
- • You will not get any points if you submit your work late, after you have used all your free late-days.
- • Make sure to submit the request before its deadline. The regrade request deadline is one week after the grades are out. No regrade request will be evaluated after the deadline.
- • Please be calm and respectful at all times.
- • Please be brief and to the point.
- • Your request may sometimes take a few days. That is because the TA will ask another teaching staff member and the head-TA to review the regrade request. These TAs will collectively decide on your regrade request.
- • If you are not content with the TAs decision, you can bring the issue to the instructor's attention.
- • When an issue is brought to the attention of the instructor, she will carefully consider it. She may speak with the teaching staff who graded you. Moreover, she may invite you to a meeting to understand the source of discontent better. The instructor will then make a decision, and that decision is final. Of course, it is perfectly okay if you disagree with the final decision, but please respect it.
Coursework involves assignments (programming nod non programming), one midterms, and a final exam. Please refer to the schedule of topics posted on the course website for key dates and deadlines. The grading policy is as follows:
Late Days: Please note that late days are intended to accommodate general unforeseen circumstances, such as illness, family events, or emergencies. So you should not make them part of your normal planning process.
Regrade Request: We encourage you to submit a regrade request when you find an issue with the evaluation of your coursework. Here are some tips to expedite the process and improve the experience:
Expectation & Policies
- • Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion. Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies.
- • Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.
- • Academic honesty is required in all work you submit to be graded. Except where the instructor specifies group work, you must solve all homework and programming assignments without the help of others. For example, you must not look at anyone else's solutions (including program code) to your homework problems. However, you may discuss assignment specifications (not solutions) with others to be sure you understand what is required by the assignment.
- • If your instructor permits using fragments of source code from outside sources, such as your textbook or online resources, you must properly cite the source. Not citing it constitutes plagiarism.
- • Falsifying program output or results is prohibited.
- • You can find more information about university misconduct policies on the web at these sites: For undergraduates, For graduate students.
- • If you are sick please notify me by email so that we can make appropriate accommodations should this affect your ability to attend class, complete assignments, or participate in assessments.The Student Health and Wellness Center is open and operational for primary care needs. If you would like to speak with a medical provider, please call 410-516-8270, and staff will determine an appropriate course of action based on your geographic location, presenting symptoms, and insurance needs. Telemedicine visits are available only to people currently in Maryland.
- • The Johns Hopkins COVID-19 Call Center (JHCCC), which can be reached at 833-546-7546 seven days a week from 7 a.m. to 7 p.m., supports all JHU students, faculty, and staff experiencing COVID-19 symptoms. Primarily intended for those currently within driving distance of Baltimore, the JHCCC will evaluate your symptoms, order testing if needed, and conduct contact investigation for those affiliates who test positive.
- • All students with disabilities who require accommodations for this course should contact me at their earliest convenience to discuss their specific needs. If you have a documented disability, you must be registered with the JHU Office for Student Disability Services (385 Garland Hall; 410-516-4720; Student Disability Services) to receive accommodations.
- • Students who are struggling with anxiety, stress, depression or other mental health related concerns, please consider connecting with resources through the JHU Counseling Center. The Counseling Center will be providing services remotely to protect the health of students, staff, and communities. Please reach out to get connected and learn about service options based on where you are living this fall at 410-516-8278 and online at Counseling Center.
Ethics: The strength of the university depends on academic and personal integrity. In this course, you must be honest and truthful, abiding by the Computer Science Academic Integrity Policy:
Personal Wellbeing:
Classroom Climate: As your instructor, I am committed to creating a classroom environment that values the diversity of experiences and perspectives that all students bring. Everyone here has the right to be treated with dignity and respect. I believe fostering an inclusive climate is important because research and my experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. Please join me in creating a welcoming and vibrant classroom climate. Note that you should expect to be challenged intellectually by me, the TAs, and your peers, and at times this may feel uncomfortable. Indeed, it can be helpful to be pushed sometimes in order to learn and grow. But at no time in this learning process should someone be singled out or treated unequally on the basis of any seen or unseen part of their identity.
If you ever have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, I invite you to share directly with me or the TAs. I promise that we will take your communication seriously and to seek mutually acceptable resolutions and accommodations. Reporting will never impact your course grade. You may also share concerns with the Department Head (Randal Burns), the Director of Undergraduate Studies (Joanne Selinski), the Assistant Dean for Diversity and Inclusion (Darlene Saporu), or (the Office of Institutional Equity). In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g. sexual harassment).