Emphasis is placed on performance trade-offs in protocol and architecture designs. Readings assigned from research publications. A course project allows in-depth exploration of topics of interest. Protocols and architectures of computer networks. Topics include naming and addressing, routing protocols, media access protocols, transport protocols, flow and congestion control, socket programming, and client-server computing.
Emphasis is placed on understanding protocol design principles.
Programming problems to explore actual implementation issues and further understanding of design choices assigned. EECS 280, EECS 303. Abstract data types. Recurrence relations and recursions. Tree-searching algorithms, graph algorithms, general searching and sorting.