This course gives the fundamentals of communication network and TCP/IP programming. First, a historical overview of telecommunication networks and the Internet are given. Then, Physical, Data Link, Network and Transport layers are discussed in detail. At the application layer: SMTP, FTP, DNS and HTTP protocols are discussed and studied in the computer laboratory using Cisco Packet Simulator and Wireshark software.