This course is a study of data communications and computer networks from the programmer’s point of view. Topics include direct link networks, including Ethernet and wireless networks; packet switching, internetworking, and routing, with an emphasis on the Internet Protocol; end-to-end communications, emphasizing UDP, TCP, and RPC; congestion control; data compression; network security; and applications. Students write programs that use the TCP/IP protocol stack via the UNIX or Java socket interfaces.
Prerequisite Courses