itce314

ITCE 314: Computer Networks I - S1 2010/2011

Dr. Mohamed Baqer

Department of Computer Engineering

College of Information Technology

University of Bahrain

Office: S40-2114

Email: mohamed.baqer(at)gmail(dot)com

Schedule

Course Overview

The aim of this course is to provide the students with depth and breathe knowledge of computer networks from a user and engineer’s perspective. It is envisaged that by understanding the principles, models, and components of computer networks, students will be able to provide justifiable solutions to various scenarios and businesses requirements. Three main principle will be detailed throughout the course, namely: Computer networks and the Internet, Application layer, and Transport layer.

Course Description

Computer networks and the Internet are one of the most dominate infrastructure in nowadays lifestyle and economy. In addition to the important role computer networks provide to end-users, they affect the way we live, learn, and work. This course provides a modern introduction to computer networking where contemporary technologies and future networking trends will be understood.

Networks are modelled into layers. In this course we are going to learn the first two layers, namely: application layer and transport layer. the application layer will provide detailed description and analysis of contemporary network applications such as Web, FTP, and email. moreover, the client-server and P2P models will be analysed and their different application will be taught. Finally, TCP, UDP, and congestion control will be detailed in respect to our understanding of the transport layer.

Course Outcome

    1. Understand of various networking terminology and concepts.
    2. Distinguish, describe, and define various network tiers.
    3. Compare and contrast between various data switching techniques, namely: packet-switching and circuit switching.
    4. Measure the performance of computer networks by calculating: packet delays, throughput, and loss.
    5. Understand, define, and describe various network layers and distinguish between them.
    6. Understand network applications architecture, process communication, transport services, application layer protocols.
    7. Describe, and analyse network applications such as: e-mail, DNS, P2P, and Internet Telephony.
    8. Compare and contrast and implement TCP and UDP applications. Understand, describe, and compare between UDP and TCP services and applications Able to describe, compare, and analyse various network modes, e.g. client-server and P2P models.
    9. Understand transport layer principles, services, and protocols.
    10. Understand, design and Implement sockets for network applications. Discuss, justify, and describe transport layer multiplexing and demultiplexing.

Text Book

The first three chapters of the following book will be covered in this course.

James F. Kurose and Keith W. Ross. Computer Networking: A Top-Down Approach: International Version, 5/E, Pearson Higher Education, 2008.

References

http://www.davidreilly.com/jnpbook/

A. S. Tanenbaum, Computer Networks (International Edition), 4th ed. Prentice Hall, August 2002.

TCP Congestion control

Java tutorials:

http://www.javacoffeebreak.com/java101/java101.html

http://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.html

Software

Download an editor and the latest Java SDK available here.

Course Assessments

Test Dates

Test 1

Test 2

Final Exam

11/11/2010 13:00 to 14:00

30/12/2010 13:00 to 14:00

12 January 2011

For Further information refer to the course syllabus.