CENG436 DATA COMMUNICATIONS AND NETWORKING
Course Code: | 5710436 |
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, DNS; connection-oriented communication protocols such as TCP and connectlionless 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 routiing protocols.
Devise protocols for reliable data transfer over unreliable channels, congestion control or flow control either in the user or kernel space of operating systems 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
Satisfies the following student outcomes (SOs) via the following Performance Indicators:
-
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 Outcomes | No | Yes | ||
1 | An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics | ✔ | |||
2 | An 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 | ✔ | |||
3 | An ability to communicate effectively with a range of audiences | ✔ | |||
4 | An 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 | ✔ | |||
5 | An 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 | ✔ | |||
6 | An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions | ✔ | |||
7 | An ability to acquire and apply new knowledge as needed, using appropriate learning strategies | ✔ |