\setcounter{numTAs}{1}
\setcounter{totalSections}{1}
\def\secNum{{"001",""}}
\def\tenSchFileName{{"ECE4470_tentative_schedule_Kulkarni_Xie.pdf",""}}
\def\classTime{{"MW 1:55 pm - 3:10 pm",""}}
\def\classRm{{"Drosdick 107",""}}
\def\classLive{{"https://villanova.zoom.us/j/92171994526",""}}
\def\classInstructor{{"Sarvesh Kulkarni",""}}
\def\classInstrContact{{"https://www1.villanova.edu/university/engineering/academic-programs/electrical-computer/directory/biodetail.html?mail=sarvesh.kulkarni@villanova.edu&xsl=bio_long",""}}
\def\classInstrOffHrs{{"MW 11:30 am - 1:00 pm",""}}
\def\classInstrLive{{"https://villanova.zoom.us/j/94843134082",""}}
\def\TA{{{"Daniel Calabrese",""},{""}}}
\def\TAEmail{{{"dcalabre@villanova.edu",""},{""}}}
\def\TAOffHrs{{{"Tue, Thu 11:30 am - 12:45 pm",""},{""}}}
\def\TARoom{{{"TBA",""},{""}}}
\newcommand\semester{Spring 2026}
\newcommand\rsemester{202630}
\newcommand\courseNum{ECE 3180}
\newcommand\courseName{Computer Networks}
\newcommand\courseCoordinator{Sarvesh Kulkarni}
\newcommand\credits{3}
\newcommand\contactHrs{3}
\newcommand\lecture{1}
\newcommand\lab{0}
\newcommand\undergradCourse{1}
\newcommand\isFreshmanCourse{0}
\newcommand\isCustomElecPolicy{0}
\newcommand\AIPolicyExists{1}
\newcommand\isClassLive{0}
\newcommand\isLabLive{0}
\newcommand\meetingMiscExists{0}
\newcommand\isClassInstrLive{0}
\newcommand\isLabInstrLive{0}
\newcommand\instrMiscExists{1}
\newcommand\hasTARoom{1}
\newcommand\meetingDesc{(Two 75-minute lectures per week)}
\newcommand\meetingMisc{}
\newcommand\instructorMisc{}
\newcommand\textBookExists{1}
\newcommand\textBookReqd{1}
\newcommand\textBookMiscExists{1}
\newcommand\referencesExist{0}
\newcommand\txtBkAuthExists{1}
\newcommand\txtBkPublExists{1}
\newcommand\txtBkYrExists{1}
\newcommand\txtBkISBNExists{1}
\newcommand\textBookTitle{Computer Networks - A Systems Approach, 6th ed.}
\newcommand\textBookAuth{L. L. Peterson and B. S. Davie}
\newcommand\textBookPub{Morgan Kaufmann}
\newcommand\textBookYr{2022}
\newcommand\textBookISBN{978-0-12-818200-0}
\newcommand\supplMaterials{Class slides and notes (will be posted on Blackboard)}
\newcommand\refPapers{References go here, if specified}
\newcommand\textBookMisc{If, you are in Villanova's Textbook Access Program (students are automatically enrolled) you can access the course e-textbook AT NO ADDITIONAL CHARGE. You should have received an email from the Bookstore with instructions on how to access this e-textbook. Please DO NOT pay to subscribe. If you have not received access instructions, you must go to the campus book store to resolve the matter.

If, you have specifically opted out of Villanova's Textbook Access Program, then you will need to purchase either a physical copy of the textbook, or an electronic one if you can locate it. Do not purchase earlier editions since the page numbers, sections and end-of-chapter problems will not match our assigned reading and homework problems.}
\newcommand\catalogDesc{ISO/OSI, TCP/IP reference models; data transmission, encoding, framing, error detection, stop and wait, sliding windows; CSMA/CD, Ethernet; bridges, spanning tree protocol; connectionless, connection-oriented and source routing, IP addressing, forwarding, VPNs; switching fabrics; ARP, DHCP, DV, OSPF, BGP, DNS.}
\newcommand\preReqs{Electrical \& Computer Engr 1260 Or Computer Science 2405}
\newcommand\coReqs{None}
\newcommand\coreRequirement{Required for B.S. Computer Engineering}
\newcommand\courseExpectation{At the conclusion of this course, students are expected to: Acquire a broad understanding of the principles of architectural design and operation of contemporary, wired, packet-switched computer networks; Be acquainted with the hardware, software and design tradeoffs in current-day networks; Understand how network protocols at different levels inter-operate with each other and their role in a much larger world-wide system; Be acquainted with the social, economic and cultural impacts of this world-wide system; Learn the use of common network analysis tools.}
\newcommand\ABETOutOneA{0}
\newcommand\ABETOutOneB{0}
\newcommand\ABETOutTwoA{0}
\newcommand\ABETOutTwoB{0}
\newcommand\ABETOutTwoC{0}
\newcommand\ABETOutTwoD{0}
\newcommand\ABETOutThree{1}
\newcommand\ABETOutFourA{1}
\newcommand\ABETOutFourB{1}
\newcommand\ABETOutFourC{1}
\newcommand\ABETOutFive{0}
\newcommand\ABETOutSixA{0}
\newcommand\ABETOutSixB{0}
\newcommand\ABETOutSevenA{0}
\newcommand\ABETOutSevenB{0}
\newcommand\covTopics{\item The ISO-OSI and the TCP/IP reference models for communication, functions of individual layers, data movement between layers, protocols and their relationship to layers
\item PHY data transmission: wired media and wireless media; basics of modulation; NRZ, NRZI, Manchester and 4B/5B encoding; the Nyquist and Shannon-Hartley theorems (without proof) and their application
\item Data Link layer: framing; error detection using 2-D parity, checksum and Cyclic Redundancy Check (CRC); error recovery - stop-and-wait \& sliding window protocols; CSMA/CD and case study of Ethernet; Learning bridges and Spanning Tree Protocol (STP)
\item Network layer: virtual circuits, datagrams, source routing; intra-domain routing algorithms - Distance Vector (DV), Open Shortest Path First (OSPF); inter-domain routing Border Gateway Protocol (BGP); IP addressing with classes, Classless Inter-Domain Routing (CIDR); IP subnets, masks, route lookups; switching fabrics and network processors
\item Protocols - ARP, DHCP; Private communication - Virtual Private Networks (VPNs)
\item Name resolution - Domain Name Service (DNS) architecture, records, and usage
\item Practical Skill 1: Design/implement simple file transfer protocol over UDP by programming in C or C++ using gcc/g++ compiler on Ubuntu Linux
\item Practical Skill 2: Network analysis tools - ping, route, traceroute, ss and wireshark
}
\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|c|X}
\toprule
\large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics of Study}\\
\midrule \midrule
1 & 1/12 - 1/16 & Introduction; common terms; network characteristics \& general classification - LAN, MAN, WAN\\
2 & 1/19 - 1/23 & \textbf{1/19: MLK Day, no class.}~~~
Wired \& wireless connection characteristics; network topologies; circuit and packet-switching; error classification; services and functions of communication hardware/software; layers, protocols \& services; ISO-OSI reference model\\
3 & 1/26 - 1/30 & TCP/IP reference model; model differences; network evolution; performance measurements and metrics; delay-bandwidth product and its significance\\
4 & 2/2 - 2/6 & \textcolor{red}{Wed, 2/4: Quiz 1 (moved from Mon to Wednesday due to snow day)}; \textit{ping} tool; PHY layer: transmission media \& their characteristics\\
5 & 2/9 - 2/13 & Information theory: Nyquist and Shanon-Hartley theorems with examples; data transmission: modulation, encoding\\
6 & 2/16 - 2/20 & \textcolor{red}{Mon, 2/16: Quiz 2}; DL layer: framing; error detection: parity, checksum, CRC\\
7 & 2/23 - 2/27 & Open free-form discussion: ethical, societal, global and economic impacts; \textcolor{red}{Wed, 2/25: Midterm Exam}\\
8 & 3/2 - 3/6 & \textbf{Spring break, no classes}\\
9 & 3/9 - 3/13 & Error recovery with ARQ: stop-and-wait \& sliding window protocols\\
10 & 3/16 - 3/20 & Ethernet, channel access using CSMA/CD; intro to switching/routing\\
11 & 3/23 - 3/27 & \textcolor{red}{Mon, 3/23: Quiz 3}; ISO-OSI switching/routing: datagram, VC, source-based; learning bridges\\
12 & 3/30 - 4/3 & Bridges contd: STP Protocol for breaking loops; Internet layer (IP): protocol, packet format, fragmentation / defragmentation, addressing (classes, public \& private). IP protocol details:  packet forwarding, masks \& subnets\\
13 & 4/6 - 4/10 & \textbf{4/\{6\} Easter break, no class.}
IP protocol details (contd.): solved subnetting example, CIDR, Related protocols: ARP, DHCP\\
14 & 4/13 - 4/17 & \textcolor{red}{Mon, 4/14: Quiz 4}; 
Related protocols (contd.):  ICMP; IP tunnels \& VPNs, IP routing: DV, OSPF, BGP
\\
15 & 4/20 - 4/24 & DNS: system architecture \& records\\
16 & 4/27 - 5/1 & Switching fabrics; network processors\\
17 & 5/4 - 5/8 & Final review (if time permits) ~~
\textbf{5/4: final class day;~~ 5/5: reading day}\linebreak
\textcolor{red}{Final Exam: Fri, 5/8 from 11:30 am - 2:00 pm in Drosdick 107 (Our classroom)}\\
\bottomrule \end{tabularx} } \end{table}}
\newcommand\gradingPolicy{\noindent
{\bf Homework}: 25\% weightage\\
{\bf Quizzes}: four quizzes, 20\% total weightage\\
{\bf Midterm Exam}: 25\% weightage\\ 
{\bf Final Exam}: 30\% weightage\\

\vspace{-0.05in}
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 must be uploaded to \textbf{``Blackboard''} by the posted deadline. Late assignments/reports will be assessed a 10\% penalty per day, up to the cut-off date (usually three days later). After the cut-off date, assignments/reports WILL NOT be accepted. You may turn in incomplete work to receive partial credit.
 
You may work in groups and discuss your general solution approaches with others. However, you may not show each other your written solutions or share the details of your work. Code sharing is forbidden. You may NOT use AI code generation tools at any point in any assignment.
 
Be sure to maintain a working Linux partition on your laptop with functional \textit{C} and  \textit{C++} compilers (i.e. gcc \& g++). And do backup your work - your grade depends on it!}
\newcommand\AIPolicy{The use of AI-generated textual content, mathematical analyses or program code is NOT permitted in this course. If questions arise about the authorship of your work, you may be asked to verify your authorship by either submitting to an oral examination/assessment by the instructor, or by submitting evidence of your work in the form of drafts, notes and version histories.}
\newcommand\AttendancePolicy{A roll call will not be taken at the start of each class. However, you are expected to attend ALL classes unless officially excused. Since examination questions will be based on the material taught in class and the prescribed reading from the course textbook, missing classes will put you at a severe disadvantage. So, attend all classes, and be sure to take notes attentively.}
\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).)}}
