XSL Content

Introduction to Computer Networks and Operating Systems28267

Centre
Faculty of Informatics
Degree
Grado en Inteligencia Artficial
Academic course
2024/25
Academic year
1
No. of credits
6
Languages
Spanish
Basque
Code
28267

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based4060
Applied laboratory-based groups2030

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

The “Introduction to Computer Networks and Operating Systems” subject, ICNOS, is one of the basic subjects of the 1st year of the Bachelors Degree in Artificial Intelligence. It is part of the “Architecture, Systems and Networks” module, aimed at acquiring skills in the field of computer networks and operating systems, and will address aspects related to the operation of computer networks, communication architectures, distributed applications, etc. as well as aspects related to operating systems, such as the file system, memory management, or process management.

Thus, this subject establishes the knowledge bases on operating systems and communications of distributed systems and subsequently, the subjects “Parallel and Distributed Systems” in the 2nd year and “Infrastructures for massive data processing” in the 3rd year will delve into this knowledge oriented to the applications of artificial intelligence.

Given its basic nature, the knowledge acquired will be necessary in all subsequent modules, but mainly in subjects of the “Architecture, Systems and Networks” modules.

Being a basic subject, it does not require prior knowledge nor does it depend on previous subjects.

In summary, a graduate in Artificial Intelligence must be able to know the characteristics of operating systems and communications between distributed systems, to design and execute applications that require, for example, a large amount of memory or consume a sizeable amount of time in the most efficient way possible.

Skills/Learning outcomes of the subjectToggle Navigation

- Manage IP address blocks.



- Understand the routing characteristics of a computer network.



- Understand the structure and operation of the main services and applications provided through computer networks.



- Know how to conceive and design new applications based on the Internet or the technologies that support it.



- Know how to choose the most appropriate protocols for connecting the components of an application to be designed and developed using the Internet or the technologies on which it is based.



- Know the basic concepts about operating system resources (e.g. processes, memory, storage space, communication) and their impact on system performance.



- Know how to use system resources with the aim of obtaining or developing more efficient massive data processing applications.



- Know how to use the tools provided by the operating system to analyze and evaluate the use of system resources and the network made by applications.



- Develop a specific task with autonomy using self-management and self-regulation techniques.



- Identify the underlying problem in a situation, collecting the necessary information and selecting the relevant elements for its objective understanding.

Theoretical and practical contentToggle Navigation

1. Introduction to Operating Systems

1.1. Types of Operating Systems, structure and current market

1.2. Operating system interfaces

1.3. Basic use of operating systems



2. Input-output management, file and storage systems

2.1. Files and storage systems

2.2. Management of directories and files

2.3. File system consistency and error management

2.4. Basic data protection management mechanisms (multi-user systems)



3. Memory management

3.1. Loading and locating programs. Virtual memory systems

3.2. Performance criteria



4. Process management

4.1. Multiprogrammed systems and multithreaded systems. Context switching

4.2. Process control and planning

4.3. Communication and synchronization between processes



5. Introduction to computer networks

5.1. Network infrastructure



6. Network applications

6.1. Structure

6.2. Transport services

6.3. WWW, email and DNS



7. IP networks

7.1. Ip address

7.2. Forwarding

7.3. DHCP

7.4. NAT



8. Network technologies

8.1. Local networks

MethodologyToggle Navigation

In this subject, theory classes will be given to present the conceptual contents of the subject, with the participation of students in occasional debates about them. The resolution of issues and problems in the classroom will be carried out in a participatory manner. Problems and exercises will be provided to students, who will solve them individually or in groups, which will allow them to deepen their theoretical knowledge of the subject.



In the laboratory practices, exercises on file system management and process management in Unix operating systems will be developed. Simulators will also be used to perform basic configurations necessary for communication between systems.



To facilitate and ensure student learning, both classroom and laboratory exercises will be monitored. Feedback will be provided based on previously established evaluation criteria, so that students have the opportunity to become aware of their learning.

Assessment systemsToggle Navigation

  • Continuous Assessment System
  • Final Assessment System
  • Tools and qualification percentages:
    • Written test to be taken (%): 60
    • Realization of Practical Work (exercises, cases or problems) (%): 40

Ordinary Call: Orientations and DisclaimerToggle Navigation

The subject is divided into 2 parts that are evaluated independently and have the same weight in the final grade: Operating Systems and Computer Networks. Although they are independent, in both parts the evaluation systems are the same, and follow equal criteria.



It is possible to choose different evaluation systems in each of the parts and, by default, students will start in the continuous evaluation system. To pass the subject, in addition to an average grade greater than or equal to 5, it will be necessary to obtain a minimum grade of 4 points (out of 10) in each section.





In each part, 50% of the course grade is evaluated, applying the following evaluation system:

- Continuous evaluation:

20% of the grade will be based on the work done in group or individually.

The remaining 30% will be based on the theoretical knowledge acquired in class and on the exercises carried out, and will be evaluated individually, through two tests. The first individual test will have a weight of 10% and the second 20%. In these tests it will be necessary to obtain a minimum of 3.5 points (out of 10).

Students who obtain the minimum grade in the first individual test will be evaluated using the continuous evaluation system, unless they request the transition to global evaluation through eGela, within the period indicated by the teaching staff. The other way to resign from the call consists on not taking the second test.



- Overall evaluation:

40% of the final grade will be evaluated through a written exam and the remaining 10% through practical work (which will be mandatory). To resign from the call, it will be enough to not appear for the written exam.

Extraordinary Call: Orientations and DisclaimerToggle Navigation

Only the global evaluation is available, and 100% of the grade will be evaluated through a written exam. It will be necessary to obtain a minimum grade of 4 points (out of 10) in each part. If one of the two parts has been passed in the ordinary evaluation call, the student may request to maintain that grade and take only the exam corresponding to the other part. To resign from the call, it will be enough to not appear for the exam.

Compulsory materialsToggle Navigation

The material that is available in the virtual classroom (eGela) of the subject.

BibliographyToggle Navigation

Basic bibliography

B.W. Kernighan, R. Pike: The Unix Programming Environment, Prentice-Hall, 1984.



M. Rochkind: Advanced Unix Programming, Addison-Wesley, 2004.



B.W. Kernighan, D.M.Ritchie, The C Programming Language, Prentice-Hall, 1988.



W. R Stevens, S. A. Rago, Advanced Programming in the UNIX® Environment Third Edition, 2013



J.F. Kurose, K.W. Ross: Redes de Computadoras. Un enfoque descendente. 7ª Edición. Pearson, 2017.

In-depth bibliography

A. Silberschatz, P.B. Galvin, G. Gagne: Operating System Concepts (Eight edition), John Wiley & Sons, 2008.

A.S. Tanenbaum: Modern Operating Systems (3rd Edition), Prentice-Hall, 2008.

R. Arpaci-Dusseau, A. Arpaci-Dusseau: Operating Systems: Three Easy Pieces, Arpaci-Dusseau Books, 2015

B. A Forouzan. TCP/IP Protocol suite, 4th ed. McGraw-Hill, 2010

Journals

IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS: http://www.jsac.ucsd.edu/

Web addresses

eGela site

www.linux.org

www.gnu.org

https://www.pearson.com/us/higher-education/program/Kurose-Computer-Networking-A-Top-Down-Approach-7th-Edition/PGM1101673.html

http://www.tcpipguide.com/free/index.htm

GroupsToggle Navigation

16 Teórico (Spanish - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

17:00-18:30 (1)

15:30-17:00 (2)

Teaching staff

16 Applied laboratory-based groups-1 (Spanish - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

14:00-15:30 (1)

Teaching staff

31 Teórico (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

12:00-13:30 (1)

10:30-12:00 (2)

Teaching staff

31 Applied laboratory-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
16-30

09:00-10:30 (1)

Teaching staff