CSCI 395
Computer Networks
Coordinator: Nazli Hardy
Credits: 4.0
Description
Introduction to computer networks. Topics include network media, architecture and topology, protocols and layering, client-server models, Ethernet media and hardware, TCP/IP and other protocols, setup and system administration, application protocols and communication, network servers and services, security, data integrity, encryption, and firewalls. Offered periodically. This course carries a W label.
Prerequisites
C- or higher in CSCI 362.
Sample Textbooks
Computer Networking
James F. Kurose
Keith W. Ross
ISBN: 0-13-607967-9
Course Outcomes
- understand layered network architectures, specifically the Internet architecture and the TCP/IP protocol stack
- describe the services provided by the application, transport, network, data link, and physical layers of the TCP/IP Reference Model
- describe the key aspects of several protocols including HTTP, SMTP, DNS, TCP, UDP, and IP
- program simple network applications using sockets
- understand the basics of network security and cryptography
Major Topics Covered
A. Introduction to Data Communications
- Basic electronics concepts in communications
- The dialed network and ISDN
- Data transmission
- Satellites, microwaves, and fiber optics
- Communications Hardware
B. Network Concepts
- Communications software, the ISO seven-layer model
- Networking topologies
- Protocols, such as TCP/IP and KERMIT
C. Local- and Wide-Area Networks
- Introduction to local area networks
- LAN and WAN topologies; ring, star, and bus
- LAN and WAN technology (Token ring, Ethernet, ATM)
- Text compression, LZW, and Huffman codes
D. Data integrity, security and encryption
- Data integrity (parity, checksums, and crc)
- Privacy and data encryption (NES, RSA)
- Firewalls
- Worms, viruses, hacking, and Trojan Horses
E. Network and system administration
- Setting up a system
- Backups and system maintenance
- Setting access rights and other security measures
- File, print, fax and modem servers
Sample Laboratory Projects
- Data encryption experiments.
- Lempel-Ziv-Welsh compression algorithm.
- Computer-to-computer communications for interactive gaming software.
- Analysis of CRC and other error detection algorithms.
- Terminal emulation programs.
- Unix socket services, browsers, and mail.