CENG435 DATA COMMUNICATIONS AND NETWORKING

Course Code:5710435
METU Credit (Theoretical-Laboratory hours/week):3 (3.00 - 0.00)
ECTS Credit:6.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Prof.Dr. ERTAN ONUR
Offered Semester:Spring Semesters.

Course Objectives

At the end of this course, students will be able to:

Understand the basic principles of communication protocols in the context of the Internet.

Explain the operation and architecture of the Internet including the software and hardware components to provide Internet services.

Compare and contrast various application layer protocols such as HTTP, SMTP, FTP, and DNS; connection-oriented communication protocols such as TCP and connectionless communication protocols such as UDP at the transport layer; virtual-circuit and packet switching at the network layer; link-state and distance-vector routing at the network layer; and multiple access techniques at the link layer.

Explain the key features of mobile networks such as cellular networks and elaborate on the impact of mobility on routing protocols.

Devise protocols for reliable data transfer over unreliable channels, congestion control, or flow control either in the operating systems' user or kernel space at the transport layer.

Design and implement networking protocols at any layer of the OSI communication stack above the physical layer using socket programming interface.


Course Content

Introduction to data communications. OSI Reference Model. Physical layer. Electrical interface and data transmission. Data link layer. Media access sublayer. LAN/MAN technologies. Network layer. Inter networking. Bridging and routing. Transport layer. Introduction to upper layers issues.


Course Learning Outcomes

At the end of this course, students will acquire

  • a. an ability to apply knowledge of mathematics, science, and engineering

    • PI-a6: Apply probability theory and statistics to handle uncertainty.

    • PI-a8: Understand the fundamental concepts, laws and theories of natural sciences, such as Physics, Chemistry and Biology.

  • c. an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability

    • PI-c1 Design computer-based systems with realistic requirements.

  • e. an ability to identify, formulate, and solve engineering problems

    • PI-e3 Integrate a set of available hardware and software components into a working system.

  • l. an ability to apply design and development principles in the construction of software-intensive systems of varying complexity.

    • PI-l3 Analyze the architectures of real systems, such as operating systems, database management systems, network protocols, compilers, and graphics engines.

    • PI-l4 Create computer-based system architectures with moderate complexity.

 


Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3An ability to communicate effectively with a range of audiences
4An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7An ability to acquire and apply new knowledge as needed, using appropriate learning strategies