Computer Networks (CS 408)

2023 Spring
Faculty of Engineering and Natural Sciences
Computer Sci.& Eng.(CS)
Kürşat Çağıltay,
Click here to view.
Formal lecture,Laboratory
Click here to view.


This course is an introductory course on computer networks. Topics include network architectures, circuit and packet switching, local and wide-area networks, network technologies and topologies; data link, network, and transport layer protocols; routing, addressing; congestion/flow/error control. Application layer protocols are covered as well. Physical layer issues are overviewed. Followed reference models are TCP/IP for network and upper layers, OSI for data link layer and IEEE 802 for MAC protocols.


The aim of this course is to equip the students with theoretical and practical aspects of computer networking, especially TCP/IP protocol suite. The focus will be on upper layers. Homework assignments, labs and class project will primarily be used by students for a deeper understanding on the operational issues and design principles of the Internet and especially application layer protocols. The class project will give the students the ability to design an application layer protocol to work over TCP/IP as well.


  • Define the basic terminology and characteristics of computer networks, networking equipment and standard reference models and wireless and wired communication media; design and analyze basic models of packet and/or circuit switched networks
  • Demonstrate detailed understanding of selected TCP/IP application layer protocols including design and implementation of an application layer protocol using TCP/IP sockets or other inter-device communication primitives
  • List the primary function, activities, and application areas of local area networks and analyze various performance metrics of medium access control protocols; Apply and analyze various flow and error detection/control algorithms on direct communication links
  • Demonstrate understanding of IP (Internetworking Protocol) and TCP (Transmission Control Protocol) and all related mechanisms at TCP and IP layers including routing, addressing, traffic control and congestion control algorithms and mechanisms.


1. Understand the world, their country, their society, as well as themselves and have awareness of ethical problems, social rights, values and responsibility to the self and to others. 1

2. Understand different disciplines from natural and social sciences to mathematics and art, and develop interdisciplinary approaches in thinking and practice. 1

3. Think critically, follow innovations and developments in science and technology, demonstrate personal and organizational entrepreneurship and engage in life-long learning in various subjects; have the ability to continue to educate him/herself. 2

4. Communicate effectively in Turkish and English by oral, written, graphical and technological means. 3

5. Take individual and team responsibility, function effectively and respectively as an individual and a member or a leader of a team; and have the skills to work effectively in multi-disciplinary teams. 5

1. Possess sufficient knowledge of mathematics, science and program-specific engineering topics; use theoretical and applied knowledge of these areas in complex engineering problems. 1

2. Identify, define, formulate and solve complex engineering problems; choose and apply suitable analysis and modeling methods for this purpose. 3

3. Develop, choose and use modern techniques and tools that are needed for analysis and solution of complex problems faced in engineering applications; possess knowledge of standards used in engineering applications; use information technologies effectively. 3

4. Have the ability to design a complex system, process, instrument or a product under realistic constraints and conditions, with the goal of fulfilling specified needs; apply modern design techniques for this purpose. 1

5. Design and conduct experiments, collect data, analyze and interpret the results to investigate complex engineering problems or program-specific research areas. 1

6. Possess knowledge of business practices such as project management, risk management and change management; awareness on innovation; knowledge of sustainable development. 1

7. Possess knowledge of impact of engineering solutions in a global, economic, environmental, health and societal context; knowledge of contemporary issues; awareness on legal outcomes of engineering solutions; knowledge of behavior according to ethical principles, understanding of professional and ethical responsibility. 1

8. Have the ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. 1

1. Design, implement, test, and evaluate a computer system, component, or algorithm to meet desired needs and to solve a computational problem. 4

2. Demonstrate knowledge of discrete mathematics and data structures. 1

3. Demonstrate knowledge of probability and statistics, including applications appropriate to computer science and engineering. 3

1. Use mathematics (including derivative and integral calculations, probability and statistics, differential equations, linear algebra, complex variables and discrete mathematics), basic sciences, computer and programming, and electronics engineering knowledge to (a) Design and analyze complex electronic circuits, instruments, software and electronics systems with hardware/software or (b) Design and analyze communication networks and systems, signal processing algorithms or software

1. Applying fundamental and advanced knowledge of natural sciences as well as engineering principles to develop and design new materials and establish the relation between internal structure and physical properties using experimental, computational and theoretical tools. 1

2. Merging the existing knowledge on physical properties, design limits and fabrication methods in materials selection for a particular application or to resolve material performance related problems. 1

3. Predicting and understanding the behavior of a material under use in a specific environment knowing the internal structure or vice versa. 1

1. Familiarity with concepts in statistics and optimization, knowledge in basic differential and integral calculus, linear algebra, differential equations, complex variables, multi-variable calculus, as well as physics and computer science, and ability to use this knowledge in modeling, design and analysis of complex dynamical systems containing hardware and software components. 1

2. Ability to work in design, implementation and integration of engineering applications, such as electronic, mechanical, electromechanical, control and computer systems that contain software and hardware components, including sensors, actuators and controllers. 1

1. Formulate and analyze problems in complex manufacturing and service systems by comprehending and applying the basic tools of industrial engineering such as modeling and optimization, stochastics, statistics. 1

2. Design and develop appropriate analytical solution strategies for problems in integrated production and service systems involving human capital, materials, information, equipment, and energy. 1

3. Implement solution strategies on a computer platform for decision-support purposes by employing effective computational and experimental tools. 1


  Percentage (%)
Final 35
Midterm 30
Assignment 19
Group Project 16



Text: Computer Networking with Internet Protocols and Technologies, William Stallings, ISBN: 0-13-191155-4


Reference: Computer Networks, 4th or 5th edition, Andrew Tanenbaum , ISBN: 0-13-038488-7

Reference: Computer Networks and Internets with Internet Applications, Douglas Comer, 5th or 6th ed.

Reference:Computer Networking:A top-down approach featuring the Internet, Kurose&Ross,5th ed.,