Subject: Computer Networks	Code: MI013	

Semester	 Hours: C+S+L	Type	 Section	
7	2+0+2	compulsory	Computer Science	

Teaching Staff in Charge	Lect. ROBU Judit, Ph.D., robu@cs.ubbcluj.ro
Lect. DARABANT Sergiu, Ph.D., dadi@cs.ubbcluj.ro
Lect. LUPSA Radu, Ph.D., rlupsa@cs.ubbcluj.ro
Asist. BUFNEA Darius Vasile, bufny@cs.ubbcluj.ro	
Aims	This course is an introductory course on computer networks. Using the Internet as a vehicle, this course introduces the underlying concepts and principles of modern computer networks with emphasis on protocols, architectures, and implementation issues. The main goal of this course is to understand layering in computer networks, understand different protocol stacks (OSI and TCP/IP), understand functions and protocols within a layer, understand how layers fit together and finally understand how the Internet works	
Content	1. Computer Networks and the Internet 
- What Is the Internet? 
- Packet-Switched Networks 
- Protocol Layers and Their Service Models 
2. Application Layer 
- Principles of Application Layer Protocols 
- The Web and HTTP 
- File Transfer: FTP 
- Electronic Mail (SMTP, MIME) 
- DNS--The Internet's Directory Service 
- Socket Programming with TCP/UDP 
3. Transport Layer 
- Transport-Layer Services 
- Multiplexing and Demultiplexing 
- Connectionless Transport: UDP 
- Principles of Reliable Data Transfer 
- Connection-Oriented Transport: TCP 
- Principles of Congestion Control 
4. Network Layer and Routing 
- Network Service Models 
- Routing Principles 
- The Internet Protocol (IP) 
- Routing in the Internet 
- What's Inside a Router? 
- IPv6 
- Mobility and the Network Layer 
5. Link Layer and Local Area Networks 
- Data Link Layer Services 
- Error-Detection and -Correction Techniques 
- Multiple Access Protocols 
- LAN Addresses and ARP 
- Ethernet 
- Hubs, Bridges, and Switches 
- Wireless Links 
- PPP: The Point-to-Point Protocol 
6. Security in Computer Networks 
- What is network security? 
- Principles of cryptography 
- Attacks and Counter-measures 	
Selective References	1. Cookie Central."[http://www.cookiecentral.com]
2. BULĂCEANU, CLAUDIU: Reţele locale de calculatoare, Bucuresti: Editura Tehnică, 1995.
3. CAMPIONE, MARY - WALRATH, KATHY - HUML, ALISON: The Java(TM) Tutorial. Addison-Wesley, 2000. [http://java.sun.com/docs/books/tutorial/]
4. GIBBS, MARK: Reţele de calculatoare pentru începători. Bucureşti: Teora, 1996.
5. KUROSE, JAMES F. - ROSS, KEITH W.: Computer Networking: A Top-Down Approach Featuring the Internet. Addison-Wesley, (3nd ed.), 2003.
6. MAHMOUD, QUASAY H.: Sockets programming in Java: A tutorial. [http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html]
7. PETERSON, LARRY - DAVIE, BRUCE: Computer Networks: A Systems Approach. Morgan Kaufman, (3rd ed.), 2003.
8. STALLINGS, WILLIAM: Data and Computer Communications. Prentice Hall, (6th ed.), 2000.
9. BRUCE SCHNEIDER : Applied Cryptography, John Wiley & Sons, 1996.
10.TANENBAUM, ANDREW S.: Reţele de calculatoare. Editia a 4-a, traducere. Tg. Mureş: Computer Press Agora, 2004.	
Assessment	- software projects and other lab activity for 1/3 of the final grade;
- written theoretical exam for 2/3 of the final grade