Course Syllabus

Course Name: Fundamentals of Computer Networks (ICS 343 - 01)
Semester:         Second Semester (082)
Course URL:

Meeting Time: SMW 8-8:50 in 24-149

Coordinator Name: Khaled Salah

Designation: Required


Instructor: Dr. Khaled Salah
        Phone : 4493      
        Office : 22-319

        Office hours:


Start Time

End Time




NOTE: When sending an email  please indicate ICS343 in the "Subject" field of your email, e.g. ICS343: Question about HW1.



ICS 343: Fundamentals of Computer Networks (3-3-4)

This course provides a comprehensive and current introduction to computer networks with focus on the functions performed at each layer of the network architecture and common layer protocol standards. Note: This course cannot be taken for credit with COE 344.


by course:

            ICS 201: Introduction to Computing II

by Topic

     Algorithms and Problem-Solving


     Fundamental Computing Algorithms

     Multithreading Programming

     Abstraction Mechanisms

     Object-Oriented Programming Paradigm

     Using APIs



Reference(s) and Other Material

        Computer Networking: A Top Down Approach Featuring the Internet, 4/e, J. Kurose & Keith Ross, Addison Wesley, 2008.

        Computer Networks: A Systems Approach, 3/e, Larry L. Peterson, Bruce S. Davie, Morgan Kaufmann Publishers, 2003.



The objectives of this course are:

-         Develop a solid conceptual understanding of the essentials and design issues underlying a wide spectrum of modern computer network technologies with focus on the Internet model.

-         Provide students with an opportunity to gain practical insights and hands-on experience on using networking hardware, software and tools.

Course Outcomes and Their Relationship to Program Outcomes 

After completion of this course, the student shall be able to:

        Identify various network services, characteristics, elements, standards and technologies. [Program Outcome i]

        Describe the layered architecture of computer networks and the operation of main protocols in the TCP/IP model.

        Identify, compare and contrast different techniques and design issues of core functions such as addressing, routing, internetworking, switching, multiplexing, error and flow control, medium access and coding.

        Implement simple client-server applications using socket programming. [Program Outcome c]

        Effectively use commonly used network-related commands, monitoring tools, traffic analyzers and network simulators. [Program Outcome i]

        Demonstrate the ability to setup a small network and properly configure network components including switches, routers and services (such as RAS, FTP, DNS, Web, DHCP, POP3). [Program Outcome c]

        Explain potential threats to network resources and various security mechanisms.


Topics Covered 

        Introduction to computer networks and layered architectures, connectivity, topology, circuit and packet switching

        TCP/IP and ISO models

        Application layer: C/S model, DNS, SMTP, FTP, WWW,

        Socket programming and network security;

        Transport layer: TCP and UDP, congestion control;

        Network layer: internetworking, addressing and routing algorithms and protocols

        Data link layer: framing, flow and error control protocols, PPP, MAC and LANs;

        Physical layer: principles of data communications, circuit switching, coding, multiplexing and transmission media.





         Class admin & overview

         Introduction to computer networks 

         Layered architectures: ISO and Internet models.

Ch.1, Ch.2

Application Layer

         Application layer overview

         C/S Model and sockets


         DNS, FTP

Ch. 25, 26

         HTTP, WWW, Multimedia & VoIP

Ch. 27

Physical Layer

         Data communication basics and circuit switching

         Coding and Multiplexing

         Transmission media

Ch. 3, 4, 6, 7, 8, 9

Data Link Layer

         Data link layer overview

         Flow and error control

         Internet data link control protocols, e.g. PPP

Ch. 10, 11

         Medium access control

         Local area networks

         Wireless LANs (brief)

Ch. 12, 13, 14

         Bridges and VLANs

Ch. 15

Network Layer

         Internetworking, Addressing and Routing

Ch. 19

         Network layer protocols

Ch. 20

Transport Layer


         Process to process delivery: TCP and UDP

Ch. 23


         Congestion control and quality of service

Ch. 24


         Overview of network security and principles of cryptography

         Firewalls and VPNs

Ch. 30, 31, 32


Lab: Programming Assignments, Tests, and Projects

25 %

Homework Assignments  0 %
Unannounced Quizzes + Participation 5%
Major Exam I    (Apr 4, Sat., in 24-141, 8-9:30pm ) 20 %

Major Exam II   (May 16, Sat., in 24-141, 8-9:30pm)

20 %

Final Exam

30 %


Estimated Curriculum Category Content (Semester hours) 











Software design



Data structures



Concepts of programming languages



Computer organization and architecture








No make up quizzes or examinations will be given.  Homework assignments are given for you for practice.  You will not do well in the quizzes and examination if you do not do the homework assignments.

Plagiarism, copying and other anti-intellectual behavior are prohibited by the university regulations. Violators may have to face serious consequences. 




Students are required to periodically check the course website and download course materials as needed.  Lecture notes will be made available ahead of time for students to read, print out, and bring to class. It is much easier to take additional notes this way, and gain the most out of class.  The Updates section will contain information regarding important announcements. Keys to quizzes, and exams are generally discussed during class, time permitting. Sample copies will be posted online under Assignments section. The Resources section will contain additional handouts and links. 



Please use email whenever possible, avoiding using phone calls and hand written notes.


Any student in position of an excuse for officially authorized absence must present this excuse to the instructor no later than one-week following his resumption of class attendance. 


I will expect students to be courteous toward the instructor and their classmates throughout the duration of this course. Talking while someone else is speaking will not be tolerated. Furthermore, all cell phones must be turned off during class.  In addition, students are expected to be in class on time. Late arrivals will disrupt the class session. If you are 15 minutes late, you will be marked as absent and will not be permitted to enter the class.
More importantly, you are not allowed to leave the class unless it is of an urgent matter.

Students are expected to read the assigned materials and lecture notes before each class.  The workload is heavy, so please keep up with the materials and assignments.  Class participation is strongly encouraged. 



Best of luck!!