In this course, we trace the evolution of networks and identify the key concepts and functions that form the basis for layered architecture. We introduce examples of protocols and services that are familiar to the students, and we explain how these services are supported by networks. Further, we explain fundamental concepts in digital communication, and focus on error control techniques that include parity check, polynomial code, and Internet checksum. Students will be required to have some previous programming experience in C-programming (C++/Java), some fundamental knowledge of computer organization and IT architecture and a background in computer science is a plus.
Communication Networks and Services
This module discusses the evolution of three example networks and their associated services, how services are influencing the evolution of modern networks, and examples of protocols and services.
This module discusses the OSI reference model and show how the overall communication process can be organized into functions that are carried out in seven layers, and introduces the TCP/IP architecture with a detailed routing example.
Socket API & Digital Transmissions
This module introduces BSD sockets, which allow the student to write applications that use the service provided by the TCP/IP protocols. It also introduces some fundamentals of digital communications.
This module presents coding techniques that can be used to detect errors that may occur during digital transmission. These coding techniques form the basis for protocols that provide reliable transfer of information.
course project - fundamentals of network communication