|
Instructor:
Mina
Guirguis
Email: msg AT txstate DOT
edu
Phone: (512) 245-6384
Office: Nueces building (office #265)
Office Hours:
Mondays:
4:30 – 6:00 (in Round Rock - room #456)
Tuesdays:
10:30 - 12:00 (in San Marcos, Nueces building, office #265)
Thursdays:
1:30 – 3:30 (in San Marcos, Nueces building, office #265)
Before
and after class and also by appointment
Lectures:
Tuesdays:
3:30 - 4:50
Thursdays:
3:30 – 4:50
Classes
will be held in DERR (Room #235)
Textbook:
Computer
Networks: A systems approach, Fourth Edition by L. Peterson and B. Davie.
Grading Policy:
Midterm
exam (25%)
Final
exam (25%)
Written
assignments (20%)
Programming
assignments (30%)
Late written assignments will not be accepted without prior
arrangements.
Late programming assignments would incur a penalty of 20% per day for up to 2
days, and then they will not be accepted.
Academic Honesty:
Discussion
of course material and problem sets are encouraged between students. However,
you must write-up your answers on your own. You must
also write the names of other students you discussed each problem with.
As for programming assignments, you may still discuss them with other
students; however, you must never submit someone
else's code as part of your own.
Course
Description:
This
course is about the design of computer networks and networking protocols.
Course Content:
- History and
evolution of the Internet.
- Protocol
layering and encapsulation.
- The OSI
model versus the TCP/IP model.
- Networking
performance metrics (bandwidth, latency, bandwidth-delay product).
- Circuit
switching versus packet switching.
- Physical
layer concepts (theoretical capacity of different mediums).
- Data-link
layer networking concepts (framing, error correction and detection, flow
control of different protocols as Stop and Wait and Sliding Window).
- IP
addressing and header formats.
- Internet
routing algorithms (distance vector, link state, BGP)
- Transport
layer (UDP and TCP) and header formats.
- Congestion
control and flow control.
- Application-level
networking protocols (HTTP, DNS, P2P protocols, etc…).
- Network
security.
Learning
Objectives:
- Know the
difference between the OSI model and the TCP/IP model.
- Tell to
which layer a specific protocol belongs.
- Describe the
purpose of each layer.
- Discuss the
differences between circuit switching and packet switching along with
the advantages and disadvantages of each.
- Discuss the
media access control methods for Ethernet, token ring and wireless.
- Explain how
errors can be detected and/or corrected.
- Know how subnetting works.
- Describe how
routers build routing tables.
- Describe how
packets get routed in the Internet.
- Describe how
distance vector routing protocols work.
- Describe how
link state routing protocols work.
- Present a
network as a weighted graph and find shortest paths.
- Describe how
BGP advertises routes to networks.
- Explain the
differences between TCP and UDP.
- Explain the challenges
in having a reliable byte stream over a best-effort network.
- Describe how
TCP implements flow control and congestion control.
- Run an
example of a sliding window protocol between two points.
- Explain how
network congestion impacts the performance of TCP flows.
- Analyze the
performance of different protocols in a variety of settings.
- Write socket
programs for servers and clients using the socket API.
Prerequisites:
CS
2308 C++ and C Programming
CS
3358 Data Structures
Accommodations:
If
you require any special accommodation(s), please make sure to let me know
during the first two weeks of the semester.
This page is
maintained by Mina Guirguis
|