EPOKA UNIVERSITY
FACULTY OF ARCHITECTURE AND ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING
COURSE SYLLABUS
2024-2025 ACADEMIC YEAR
COURSE INFORMATIONCourse Title: COMPUTER NETWORKS |
Code | Course Type | Regular Semester | Theory | Practice | Lab | Credits | ECTS |
---|---|---|---|---|---|---|---|
CEN 307 | B | 5 | 3 | 0 | 2 | 4 | 6 |
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) | Assoc.Prof.Dr. Dimitrios Karras dkarras@epoka.edu.al |
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | Assoc.Prof.Dr. Dimitrios Karras dkarras@epoka.edu.al , Monday-Wednesda, 10.00am-18.00pm, Thursday 10.00am-13.00pm |
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | M.Sc. Shkumbin Fida shfida@epoka.edu.al |
Language: | English |
Compulsory/Elective: | Compulsory |
Study program: (the study for which this course is offered) | Bachelor in Computer Engineering (3 years) |
Classroom and Meeting Time: | according to timetable at EIS |
Teaching Assistant(s) and Office Hours: | NA |
Code of Ethics: |
Code of Ethics of EPOKA University Regulation of EPOKA University "On Student Discipline" |
Attendance Requirement: | 75% |
Course Description: | To provide students with a theoretical and practical base on principles, architecture, and protocol knowledge of Computer Networks and Internet. 2) Prepare students for easy transfer from academia into practical network supporting tasks in a given networking oriented jobs. 3) Get hands on experiences by learning basic network computing techniques |
Course Objectives: | The objective of this course is to provide a solid understanding of Computer Networking in a layered approach, studying algorithmic details of all layers in Internet stack protocol. Moreover, it aims at providing solid knowledge in TCP/IP set of protocols as well as ARQ and IP algorithms and protocols. Moreover, special attention will be given to the Datalink layer and MAC sublayer architectures, algorithms and protocils as well as to the physical layer. The subject of computer networking is enormously complex, involving many concepts, protocols, and technologies that are woven together in an intricate manner. To cope with this scope and complexity, many computer networking texts are often organized around the “layers” of a network architecture. With a layered organization, students can see through the complexity of computer networking—they learn about the distinct concepts and protocols in one part of the architecture while seeing the big picture of how all parts fit together. From a pedagogical perspective, our personal experience has been that such a layered approach indeed works well. Nevertheless, we have found that the traditional approach of teaching—bottom up; that is, from the physical layer towards the application layer—is not the best approach for a modern course on computer networking. The goal of this course is to present in a mixed approach computer networking, namely, bottom up and top down approach for better understanding of all principles |
BASIC CONCEPTS OF THE COURSE
|
1 | understanding the protocols involved in computer networking in OSI and Internet stack protocol layers. |
2 | knowledge of all important algorithms involved in the protocols 0f computer networking. |
3 | understanding of all important formulae and calculations in computer networking. |
4 | Knowledge and ability of essential network programming. |
5 | Knowledge and ability to use network simulators in order to design and simulate network architectures |
6 | Proper knowledge on the usage of software tools for network analysis and administration. |
COURSE OUTLINE
|
Week | Topics |
1 | Introduction to Computer Networks and the Internet |
2 | OSI and Internet Stack protocols Networking Layers analysis and basic delays estimation |
3 | Physical layer and Data Link layer |
4 | MAC sublayer protocols, architectures and algorithms |
5 | Application Layer, HTTP, SMTP, P2P protocols, architectures and algorithms |
6 | ARQ and retransmission protocols |
7 | Analysis of the Algorithms of ARQ and retransmission protocols |
8 | Mid Term |
9 | Transport Control Protocol (TCP) |
10 | Analysis of the Algorithms of TCP protocol |
11 | Internet Protocol (IP) Layer |
12 | Routing Algorithms |
13 | IP subnetting management |
14 | Wireless Comunication Networks |
Prerequisite(s): | CEN 109 MTH 207 CEN 215 |
Textbook(s): | 1)Computer Networking: A Top-Down Approach, 8/e Kurose, James and Ross, Keith Pearson, Copyright 2020, ISBN-13: 9780136681557 2) Computer Networks, 6/e Andrew S. Tanenbaum, Nick Feamster, and David J. Wetherall, Pearson, Copyright 2020 ISBN-13: 9780136764052. |
Additional Literature: | |
Laboratory Work: | yes |
Computer Usage: | yes |
Others: | No |
COURSE LEARNING OUTCOMES
|
1 | Being able to understand the protocols involved in computer networking in OSI and Internet stack protocol layers. Understanding the protocols involved in computer networking through the OSI and Internet stack protocol layers is essential for effective communication and data transfer across networks. The OSI model, consisting of seven layers—Physical, Data Link, Network, Transport, Session, Presentation, and Application—provides a structured framework for analyzing how data is transmitted from one device to another. Each layer serves a specific function; for example, the Transport layer ensures reliable data transmission through protocols like TCP, while the Application layer interfaces directly with end-user applications. In contrast, the Internet stack, primarily based on the TCP/IP model, condenses these layers into four: Link, Internet, Transport, and Application. This model emphasizes practical implementation and is widely used in real-world networking scenarios. By comprehending these layered architectures, network professionals can troubleshoot issues more effectively, enhance security measures, and optimize network performance, ultimately leading to more robust and efficient communication systems. |
2 | To get knowledge of all important algorithms involved in the protocols 0f computer networking. Understanding the important algorithms involved in the protocols of computer networking is crucial for effective communication and data management across various systems. The OSI model, which consists of seven layers, illustrates how different protocols operate at each level to facilitate network interactions. For instance, at the Transport layer, the Transmission Control Protocol (TCP) ensures reliable data transmission by establishing connections and managing packet sequencing, while the User Datagram Protocol (UDP) offers a faster, albeit less reliable, alternative for applications that can tolerate some data loss. At the Network layer, the Internet Protocol (IP) is responsible for addressing and routing packets to their destinations, utilizing algorithms like Open Shortest Path First (OSPF) to determine the most efficient paths. Additionally, protocols such as the Address Resolution Protocol (ARP) and Dynamic Host Configuration Protocol (DHCP) play vital roles in mapping IP addresses to physical addresses and automating IP address assignment, respectively. By mastering these algorithms and their functions within the networking stack, professionals can enhance network performance, improve security measures, and troubleshoot issues more effectively. |
3 | Being able to understand all important formulae and calculations in computer networking. Special emphasis will be put to the understanding of all delays formulae. Understanding the important formulae and calculations in computer networking is essential for effectively managing and optimizing network performance. All key metrics for performance evaluation will be analyzed in detail, but in a first level, withoput probabilities estimation in order to for the material to be accessible for BSc students. |
4 | Knowledge and ability of essential network programming. Possessing knowledge and the ability to implement essential network programming is crucial for modern IT professionals, as it enables them to develop applications that facilitate communication across diverse network environments. Network programming involves using various programming languages, such as Python, Java, and C, to create software that can send and receive data over networks, ensuring efficient data exchange and interaction between systems. Understanding key concepts such as sockets, protocols (like TCP and UDP), and client-server architectures is fundamental for building robust applications. Moreover, familiarity with network APIs and frameworks allows developers to automate tasks, manage network resources, and enhance security measures. As networks evolve towards software-defined architectures, the ability to programmatically control network behavior becomes increasingly important. This skill set not only improves operational efficiency but also empowers professionals to innovate solutions that meet the dynamic needs of businesses in an interconnected world. |
5 | Knowledge and ability to use network simulators in order to design and simulate network architectures Having the knowledge and ability to use network simulators is essential for designing and simulating complex network architectures effectively. Network simulators, such as NS2, NS3, and GNS3, provide a virtual environment where users can create and manipulate various network topologies without the need for physical hardware. The course will be based , however, on CISCO PACKET TRACER simulator. Such simulation capability allows for the testing of different configurations, protocols, and performance metrics in a controlled setting. By employing mathematical models and algorithms, these simulators enable users to analyze how networks behave under various conditions, including traffic loads and failure scenarios. Furthermore, they offer graphical user interfaces (GUIs) that simplify the process of building networks and visualizing data flows, making it easier to understand interactions between components. Mastery of network simulators not only enhances one's ability to troubleshoot issues and optimize performance but also fosters innovation in network design by allowing for rapid prototyping and experimentation with new technologies before deployment in real-world environments. |
6 | Proper knowledge on the usage of software tools for network analysis and administration. Having a proper knowledge of software tools for network analysis and administration is essential for effectively managing and optimizing network performance. Tools such as SolarWinds Network Performance Monitor and PRTG Network Monitor provide comprehensive capabilities for monitoring network traffic, diagnosing issues, and ensuring high availability. These tools enable administrators to capture and analyze data from continuous streams of network traffic, transforming raw data into actionable insights through intuitive dashboards and real-time alerts. Additionally, software like Wireshark allows for deep packet inspection, enabling detailed analysis of network protocols and troubleshooting of complex issues. Understanding how to utilize these tools not only enhances the ability to monitor bandwidth consumption and detect anomalies but also aids in making informed decisions that improve overall network efficiency and security. Mastery of these software tools empowers IT professionals to proactively manage networks, ensuring optimal performance and reliability in increasingly complex digital environments. The course will be based in simpler network analysis tools and mainly in WIRESHARK |
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution) |
No | Program Competencies | Cont. |
Bachelor in Computer Engineering (3 years) Program | ||
1 | Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. | 5 |
2 | Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations | 5 |
3 | Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects. | 5 |
4 | Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies. | 5 |
5 | Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. | 5 |
6 | Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. | 5 |
7 | The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. | 5 |
8 | Ability for effective oral and official communication skills in foreign language. | 4 |
9 | Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. | 4 |
10 | Engineering graduates with well-structured responsibilities in profession and ethics. | 4 |
11 | Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues. | 3 |
12 | Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity. | 2 |
COURSE EVALUATION METHOD
|
Method | Quantity | Percentage |
Midterm Exam(s) |
1
|
25
|
Project |
1
|
15
|
Laboratory |
1
|
20
|
Final Exam |
1
|
40
|
Total Percent: | 100% |
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
|
Activities | Quantity | Duration(Hours) | Total Workload(Hours) |
Course Duration (Including the exam week: 16x Total course hours) | 16 | 5 | 80 |
Hours for off-the-classroom study (Pre-study, practice) | 14 | 2 | 28 |
Mid-terms | 1 | 8 | 8 |
Assignments | 2 | 12 | 24 |
Final examination | 1 | 10 | 10 |
Other | 4 | 0 | |
Total Work Load:
|
150 | ||
Total Work Load/25(h):
|
6 | ||
ECTS Credit of the Course:
|
6 |
CONCLUDING REMARKS BY THE COURSE LECTURER
|
N/A |