Teaching staff
Instructor: Prof. Hung Q. Ngo
Office: 238 Bell Hall
Office Hours: Mon-Wed 9:30-10:30am
Phone: 645-4750
Email: hungngo [at] buffalo
Teaching Assistants: (in random order)
Mr. Anand N. Sathyaraja
Office: 232 Bell
Office Hours: Thu 2-4pm
Phone: TBA
Email: ans25 [at] buffalo
Mr. Aditya S. Wagh
Office: 232 Bell
Office Hours: Tue 12-2pm
Phone: TBA
Email: aswagh [at] buffalo
Course description
This course introduces basic elements of modern computer and
telecommunication networks. A hybrid five-layer reference model
resembling the popular TCP/IP model will be discussed. In each layer,
the state-of-the-art hardware and software technologies are introduced.
These include, for example, Fiber-optic and Mobile/Cellular
communications in the Physical Layer; Wavelength/Time Division Multiple
Access Protocols in the Data Link Layer; Unicast and Multicast
protocols in the Network Layer; TCP/UDP and ATM Adaptation Layer
Protocols in the Transport Layer; and Network Security in the
Application Layer.
Course Objectives:
- Have fun learning!
- Grasp the essential ideas of computer networking:
- designs, protocols and implementations
- services and applications
- various tradeoffs and choices made on current networking technologies
- Learn basic network programming
Prerequisites:
basic C programming in the Unix environment, elementary
probability, statistics, computer architecture, basic knowledge on the
Unix operating system (processes, file IO, threads), elementary data
structures and algorithms (stacks, queues, linked list, etc.)
At the end of this course, each student should be able to:
- Have a good overall picture of computer networking in
general and the Internet in particular.
- Have a rough idea of how various networking components
(hardware/software) work and where they belong in the 5-layer protocol
stack.
- Know how to do network programming in C under Unix: TCP/UDP
sockets, network I/O multiplexing, design a fairly complex network
program following a specified protocol, ...
- Know how to do basic performance analysis of many popular
networking protocols: MAC layer protocols, data link flow control
protocols, transport layer protocols, congestion control protocols, ...
- Start reading more advanced/research-oriented networking
materials.
- Find the field of computer networking interesting and worth
studying.
References:
- Required Textbook: James
F. F. Kurose and Keith
W. Ross, "Computer Networking: A Top-Down
Approach Featuring the Internet", 5th edition,
Addison Wesley.
- Highly recommended: W. Richard Stevens,
"UNIX Network Programming : Networking APIs : Sockets and XTI : Volume
1, Second Edition", Prentice Hall, Oct 1997, ISBN: 013490012X.
- Other references:
- W.
Richard Stevens, "UNIX
Network Programming : Networking APIs : Sockets and XTI :
Volume 1, Second Edition ", Prentice Hall, Oct
1997, ISBN: 013490012X.
- W.
Richard Stevens, "Advanced
Programming in the UNIX Evironment," Addison-Wesley, 1992,
ISBN 0-201-56317-7.
- Larry
L. Peterson and Bruce S. Davie, Computer
Networks: A Systems Approach, 4th edition, The Morgan Kaufmann
Series in Networking.
- Andrew
Tanenbaum, Computer Networks
Prentice Hall PTR; 4 edition (August 9, 2002), 912pp.
- Douglas
E. Comer, "Internetworking
with TCP/IP, Volume 1: Principles, Protocols, and Architectures, Fourth
Edition 4TH ", Prentice Hall, Feb 2000, ISBN: 0130183806
- Paul Albitz and Cricket Liu, " DNS and BIND
" , O'Reilly & Associates, May 2001
- Simson Garfinkel and Gene Spafford, "
Practical UNIX and Internet Security ", O'Reilly &
Associates, October 1995
- Leonard
Kleinrock, "
Queueing Systems: Theory, Vol. 1 ", Wiley, John &
Sons, January 1975
- Leonard
Kleinrock (Editor)
" Queueing Systems Volume 2: Computer Applications ", Wiley,
John & Sons, April 1976
- W.
Richard Stevens and Gary R.
Wright, "The TCP/IP Illustrated, Volume 1: The
Protocols", Addison Wesley Longman, Dec 1993, ISBN:
0201633469
- W.
Richard Stevens and Gary R.
Wright, "The TCP/IP Illustrated, Volume 2: The
Implementation", Addison Wesley Longman, Jan 1995,
ISBN: 020163354X
- Morris H. DeGroot, Mark J. Schervish, "Probability
and Statistics", Addison Wesley; 3 edition (October 10,
2001), 816pp.
- Rick Durrett, "Essentials of stochastic
processes", Springer; 1 edition (July 30, 1999), 281pp.
- Ronald W. Wolff, "Stochastic modeling and the
theory of queues", Prentice Hall (January 31, 1989), 560pp
- Plus other reading material specified on the class homepage
Course's homepage:
http://www.cse.buffalo.edu/~hungngo/classes/2010/589/
Work load
- Heavy! So, start early!!
- Approx. 80 pages of light reading per week
- 4 written homework assignments (individuals)
- 2 programming assignments (groups of size 2 or individuals)
- 1 midterm exam
- 1 final exam
- Grad students: one more survey on a topic of your choice
(suggestions will be given)
Grading policy:
- 4 written assignments: 4% each
- First project: 10%
- Second project: 24%
- Midterm: 20%
- Final: 30%
- Assignments due at the end of the lecture:
- 1 day late: 20% reduction (percentage is calculated
from the maximum possible grade).
- Each extra day late: 40% reduction
- Incomplete/make-up exams: not given, except in provably
extraordinary cases
Academic Honesty:
- No tolerance on plagiarism:
- 0 on the particular assignment/exam for first attempt
- Fail the course on the second
- Consult the University Code of Conduct for details on
consequences of academic misconduct
- See also Prof. Shapiro's page on Academic Integrity of
the CSE department:
http://www.cse.buffalo.edu/~shapiro/Courses/integrity.html
- Group study/discussion is encouraged, but the submission
must be your own work
- On the Programming Assignments: discussions of ideas are
welcome, but NO exchanges of source codes, please.
- I will take cheating VERY VERY seriously. Don't
waste your time begging!!
Misc. Items:
- Students are encouraged to discuss homework problems with
classmates, but the version submitted must be
written on your own, in your own words.
- Absolutely no lame excuses please,
such as "I have to go home early, allow me to take the test on Apr 1",
or "I had a fight with my girlfriend, which effects my performance",
blah blah blah. Even when they are true, they are still lame.
- No extra work in the next semester given to improve your
grade.