Design and implementation of computer networks and applications. Network layers, Internet protocol stack, network architectures. Network programming interfaces, including sockets.