Bachelor in Computer Engineering

Study Computer Engineering at La Salle and become a professional with the abilities to work with the latest technologies and new products, designing, implementing and maintaining computer systems for any sector of economic activity

System Design and Administration

Description
Properly managing an IT environment is essential -both on a small and large scale- to ensure the correct functioning of the IT infrastructure, to detect and resolve potential incidents, and to provide users with the necessary tools for their respective jobs. Since the predominant operating systems on the market are based on the Linux kernel, the course places special emphasis on its operation. The objective of the course is to offer a comprehensive overview of an operating system, enabling students to understand all its components and how they interrelate.
Type Subject
Tercer - Obligatoria
Semester
First
Course
3
Credits
6.00

Titular Professors

Previous Knowledge

Basic concepts on using an operating system, basic concepts on how it works an operating system (process, memory and input/output management).

Objectives

The subject, based on these learning outcomes, establishes as goals to ensure that the student, at the end of the subject:

Goal.1 - Demonstrates knowledge of the Linux kernel and all its characteristics.
Goal.2 - Demonstrates knowledge of how to develop Shell scripts to automate tasks.
Goal.3 - Demonstrates the ability to navigate a command line environment.
Goal.4 - Demonstrates the ability to install an Operating System based on certain specifications.
Goal.5 - Demonstrates knowledge and understanding of the different types of virtualization.

Contents

1. Introduction and installation of the Linux operating system
2. Basics concepts and shell scripts
3. Installation and administration of software and scripts shell II
4. Administrative Tools
5. Boot process and runlevels
6. Management of users and groups
7. Network configuration
8. Administration of network services
9. Shell scripts III
10. Docker & Cloud Computing

Methodology

This subject is eminently practical, therefore it is taught using the flipped classroom methodology, which means that the students will need to read the concepts and start the exercises before class, so the teacher can solve in class any doubts that might have arisen. The dynamics of each session are divided into three parts:

- Concepts. The student, with the help of the teacher's explanations, must assimilate the concepts published in the eStudy, with the assistance of the proposed bibliography.
- Exercises. The student, individually, must solve the exercises that are required which will help them better understand the concepts.
- Exam. The student must be able to answer a series of questions regarding the subject. It is considered that a session, on average, has a duration of 4.5 teaching hours (in class). The final grade of each unit will be computed as the geometric mean of each part of the session.

In parallel, the student must develop a project in which all the knowledge acquired throughout the course will be reflected.

Evaluation

A. Exercises.
B. Exams.
C. Project.

The subject has two different parts: the theory and practical parts, both of which will be evaluated independently. This means that in order to pass the subject it will be necessary to pass both parts separately. The calculation is done as follows:

Grade_final = Grade_Theory * 60% + Grade_Project * 40%

The grade of the theory will be calculated by means of an arithmetic average of all units, expressed as follows, only if ALL units are passed:

Grade_AC = (Unit1+Unit2+...+Unit10])/10

Each unit will consist of a mandatory set of weekly exercises and an exam, with the exception of unit 10, which will consist of a presentation. The exercises must be submitted on the date of the exam of that unit as deadline, otherwise a penalty will be applied to their grade. Thus, the grade of each unit will be calculated through a geometric mean between the exercises and the exam, as long as the exercises are accepted, otherwise they will have to be resubmitted. The grade is defined as follows:

Grade_Unit = sqrt(Grade_Exam · Grade_Exercises)

Each exam will have 3 available calls: continuous (during classes), ordinary (January) and extraordinary (July). Any student who needs to improve the grade of an exam, either because they have failed it or because they want to increase their grade, will have to take the exam only of that part of the subject in the next call. Unit 10 will also be evaluated in this way in ordinary and extraordinary calls.

The project will consist of two phases, which will have to be passed separately. Were any of the phases not passed, the maximum grade that the student may opt for will be a 4.

Grade_Project = Phase_1 * 50% + Phase_2 * 50%

Each of the phases of the project will consist of a submission to the eStudy specified in the statement itself and a subsequent validation interview that the student must request after submitting, which will also count towards the grade of that phase.

Evaluation Criteria

Goal 1:
- The student must prove skill in solving problems related to system administration [a + b + c].
- The student must prove they dominate the most common tools that correspond to each of the different areas within system administration [a + b + c].

Goal 2:
- The student must prove they are able to choose what is the proper way to solve certain problems related to task automatization [a + c].

Goal 3:
- The student must prove they know how to navigate a CLI environment, using the tools seen in the subject [a + c].

Goal 4:
- The student must prove they know how to use the main existing tools to install a new operating system with certain specifications [a + b + c].
- The student must prove they know the boot process of an operating system [a + b + c].

Goal 5:
- The student must understand the different types of virtualization, going from virtual machines to containers [a + b].
- The student must understand the different uses how a server that was adapted to certain needs can be used [b + c].

Basic Bibliography

[1] Negus, C. (2020). Linux Bible. John Wiley & Sons.
[2] Shotts, W. (2019). The Linux Command Line, 6th internet edition: A Complete Introduction. No Starch Press.
[3] Beekmans, G., Burgess, M., & Dubbs, B. (2024). Linux from Scratch (LFS): Version 12.0. Conran Octopus.

Additional Material