\setcounter{numTAs}{0} \setcounter{totalSections}{1} \def\secNum{{"All",""}} \def\tenSchFileName{{"ECE7428-Sum21_Schedule.pdf",""}} \def\classTime{{"Mon 3:00 pm - 05:30 pm",""}} \def\classRm{{"CEER 208",""}} \def\classLive{{"https://villanova.zoom.us/j/97488094527",""}} \def\classInstructor{{"Dr. Sarvesh Kulkarni",""}} \def\classInstrContact{{"https://www1.villanova.edu/university/engineering/academic-programs/departments/electrical-computer/directory/biodetail.html?mail=sarvesh.kulkarni@villanova.edu&xsl=bio_long",""}} \def\classInstrOffHrs{{"MW 10:30 am - 12:-00 pm and M 5:30 pm - 6:30 pm",""}} \def\classInstrLive{{"https://villanova.zoom.us/j/92892878084",""}} \def\TA{{{""},{""}}} \def\TAEmail{{{""},{""}}} \def\TAOffHrs{{{""},{""}}} \def\TARoom{{{""},{""}}} \newcommand\semester{Fall 2023} \newcommand\rsemester{202420} \newcommand\courseNum{ECE 7428} \newcommand\courseName{Computer Communication Networks} \newcommand\courseCoordinator{Dr. Sarvesh Kulkarni} \newcommand\credits{3} \newcommand\contactHrs{3} \newcommand\lecture{1} \newcommand\lab{0} \newcommand\undergradCourse{0} \newcommand\isFreshmanCourse{0} \newcommand\isCustomElecPolicy{0} \newcommand\AIPolicyExists{0} \newcommand\isClassLive{1} \newcommand\isLabLive{0} \newcommand\meetingMiscExists{1} \newcommand\isClassInstrLive{1} \newcommand\isLabInstrLive{0} \newcommand\instrMiscExists{1} \newcommand\hasTARoom{0} \newcommand\meetingDesc{(One 2.5 hr lecture per week)} \newcommand\meetingMisc{One break provided in each lecture, approx. 10 mins total} \newcommand\instructorMisc{The link for office hours will not be used unless you notify me in advance that you plan to meet virtually.} \newcommand\textBookExists{1} \newcommand\textBookReqd{1} \newcommand\textBookMiscExists{1} \newcommand\referencesExist{0} \newcommand\txtBkAuthExists{1} \newcommand\txtBkPublExists{0} \newcommand\txtBkYrExists{1} \newcommand\txtBkISBNExists{0} \newcommand\textBookTitle{An Introduction to Computer Networks, ver. 2.0.11} \newcommand\textBookAuth{Peter L. Dordal} \newcommand\textBookPub{} \newcommand\textBookYr{July 2023} \newcommand\textBookISBN{} \newcommand\supplMaterials{Class slides \& notes posted on Blackboard} \newcommand\refPapers{References go here, if specified} \newcommand\textBookMisc{Get a free copy of the textbook here: \textcolor{blue}{\href{http://intronetworks.cs.luc.edu/}{http://intronetworks.cs.luc.edu/}}. This is an open source textbook and has been released under the \textit{Creative Commons} license. Be sure to repect the terms of the license posted here: \textcolor{blue}{\href{https://creativecommons.org/licenses/by-nc-nd/3.0/}{https://creativecommons.org/licenses/by-nc-nd/3.0/}}.} \newcommand\catalogDesc{Brief Review of ISO/OSI, TCP/IP reference models; TCP details: state machine, timers, optimizations, performance implications, congestion control, socket programming; queuing disciplines, QoS; IEEE 802.11, Bluetooth; Voice Over IP; Layer 7 switching: peer-peer and content distribution networks.} \newcommand\preReqs{ECE 4470, or equivalent.} \newcommand\coReqs{None} \newcommand\coreRequirement{Required for MS CPE, Elective for MS Cybersecurity} \newcommand\courseExpectation{At the conclusion of this course, students are expected to acquire a broad understanding and insights into: fundamental concepts in network architectures and higher-level protocol design; performance implications of design decisions in TCP transport; performance analysis using ``queuing theory'' and its application; contention-based wireless networks (such as IEEE 802.11); layer 7 switching and its applications in CDNs and p2p networks; socket programming for communication between application processes on two distinct hosts.} \newcommand\ABETOutOneA{0} \newcommand\ABETOutOneB{0} \newcommand\ABETOutTwoA{0} \newcommand\ABETOutTwoB{0} \newcommand\ABETOutTwoC{0} \newcommand\ABETOutTwoD{0} \newcommand\ABETOutThree{0} \newcommand\ABETOutFourA{0} \newcommand\ABETOutFourB{0} \newcommand\ABETOutFourC{0} \newcommand\ABETOutFive{0} \newcommand\ABETOutSixA{0} \newcommand\ABETOutSixB{0} \newcommand\ABETOutSevenA{0} \newcommand\ABETOutSevenB{0} \newcommand\covTopics{\item Review of the ISO-OSI and the TCP/IP reference models for computer networks. \item TCP: ports and usage, general operation, sliding windows, state machine, timer algorithms, flavors (variations), flow \& congestion control, performance \& behavioral characteristics, complications in wireless environments. \item App communication: Socket programming (TCP, UDP). \item Wireless Networking: Common problems on shared channels, their solutions and application in the IEEE 802.11 protocol. \item Performance Analysis: The theory of queues applied to routers \item Quality of Service (QoS): Traffic shaping \& policing, queuing disciplines (schemes) for fairness, performance \& prioritization; elements of INTSERV and DIFFSERV protocols. \item Overlay Networks: Layer 7 switching/routing, p2p systems (Gnutella, Pastry and Bit-torrents), and Content Distribution Networks (CDNs).} \newcommand\isScheduleExternal{0} \newcommand\isScheduleCommon{1} \newcommand\scheduleRows{18} \newcommand\scheduleCols{3} \newcommand\scheduleHeight{1} \newcommand\schedule{\begin{table}[h!] \centering \caption*{Tentative Schedule for \textbf{All Sections}} \vspace{0.05in} {\renewcommand{\arraystretch}{1.5} \small \begin{tabularx}{\linewidth}{c|l|X} \toprule \large \textbf{Week\#} & \large \textbf{Dates} & \large \textbf{Topics of Study}\\ \midrule \midrule 1 & 8/23 -- 8/25 & \textbf{No class}\\ 2 & 8/28 -- 9/1 & Introductions, syllabus discussion, review of networking concepts\\ 3 & 9/4 -- 9/8 & \textbf{9/4: Labor Day break;}\\ 4 & 9/11 -- 9/15 & Review of networking concepts (contd.), TCP Basics: stream data service, concepts in congestion, ports, segment format\\ 5 & 9/18 -- 9/22 & TCP internals -- connection management, state machine, window management incl. flow \& congestion control\\ 6 & 9/25 -- 9/29 & TCP internals -- quirks, timer management, Berkley sockets\\ 7 & 10/2 -- 10/6 & TCP internals -- window management, congestion control\\ 8 & 10/9 -- 10/13 & \textbf{Fall break}\\ 9 & 10/16 -- 10/20 & TCP supplementary topics -- TCP in wireless environments, TCP design rules\\ 10 & 10/23 -- 10/27 & \textcolor{red}{Midterm Exam}; IEEE 802.11 wireless networks\\ 11 & 10/30 -- 11/3 & IEEE 802.11 contd; Performance analysis: introduction\\ 12 & 11/6 -- 11/10 & Performance analysis \& the theory of queues, performance modeling\\ 13 & 11/13 -- 11/17 & Performance analysis \& the theory of queues (contd.), solved problems\\ 14 & 11/20 -- 11/24 & Queuing disciplines, packet scheduling; QoS concepts -- load models\\ 15 & 11/27 -- 12/1 & QoS concepts -- admission control, traffic shaping \& policing, RED algorithms\\ 16 & 12/4 -- 12/8 & QoS architectures in brief; Overlay networks -- concepts, protocols, applications in p2p networks and CDNs\\ 17 & 12/11 -- 12/15 & \textcolor{red}{12/11: Final Exam}\\ \bottomrule \end{tabularx} } \end{table}} \newcommand\gradingPolicy{\noindent HW: 20\% weightage\\ Project: 25\% weightage\\ %%Survey paper: 20\% weightage\\ Mid-term exam: 25\% weightage\\ Final Exam (non-comprehensive): 30\% weightage\\ \noindent A single final composite score (out of 100) will be computed from the above weighted components. This composite score will be converted to a letter grade as follows: A student with a composite score of 90+ will receive an \textit{A} grade while a student with a composite score of less than 50 will receive an \textit{F} grade. A grading curve will apply to all scores between 50 and 90 that reflects a class average of \textit{B}.} \newcommand\HWandLabPolicy{HW assignments and project deliverables should be uploaded to the \textcolor{blue}{\href{http://elearning.villanova.edu}{Blackboard}} e-learning site before the due date/time, or handed-in during class hours. Late submissions will be assessed a 10\% penalty per day, up to the cut-off date (usually three days later). After the cut-off date, assignments/projects WILL NOT be accepted. Questions in the exams will be based on the material taught in class, class discussions and homework assignments.} \newcommand\AIPolicy{\textcolor{red}{ Since you opted for an AI Policy, you should edit this part, choosing one of the following statements, modifying as desired:\\ \\ The use of AI-generated content is not permitted in this course. Its use will result in an academic integrity violation and a zero on the assignment.\\ \\ OR\\ \\ The use of AI-generated content is allowed in this course.\\ \\ OR\\ \\ The use of AI-generated content is permitted as follows: (a) for generating a first draft or (b) for generating an outline or (c) for generating XXX.\\ \\ AND, if AI is allowed:\\ \\ Even if you have significantly edited AI-generated material, you must identify the AI tool used to assist in generating your work. You are required to provide the name of the tool, date used, and prompts used to generate the output. As you may be required to submit the original AI output, you must keep a copy of the original output and provide it when requested. If questions arise about the authorship of submitted work, you are responsible for authenticating your authorship. You should save evidence of your authorial process, such as drafts, notes, version histories, and complete transcripts of AI assistance. }} \newcommand\AttendancePolicy{} \newcommand\ElectronicsPolicy{\textcolor{red}{Since you opted for a customize electronics policy, you should edit this part. Your policy should address your general stance on recording of class sessions and the circumstances under which recording will be allowed or prohibited. If you generally prohibit recording, yet allow recording of certain classes for some reason, then ypu should notify all students that those classes will be recorded. If recording is permitted as an ADA accommodation for a student, you obviously should not identify that student(s).)}}