Home UC3M
Home IT
Home / Teaching / Telecommunication Engineering / Computer Architecture Laboratory
Computer Architecture Laboratory
Short description
Course: 4º Telecommunications Engineering
Credits: 3 (0.5 theory + 2.5 labs/exercises)
Hours/Week: 1.5
Timetable: Thursdays 9:00-10:30 and some mondays 9:00-10:30 according to the Schedule section (Group 95 Telecommunications Engineering)
Group: 95-4º I Telecomunicación (Bilingue)
Theory Room: 4.1E05 o 4.1B02
Lab room: 4.1BO2
Professor: Pedro J. Muñoz Merino (coordinator, theory, labs)
  Miguel Ángel Correyero (labs)
Page navigator
   Laboratory exercises


The objectives to achieve in this subject are the following:

  1. Students learn how to use the existing system calls of an operating system for the management of processes, signals, management of files, management of directories, and file systems, etc. In order to do it, students will implement a command interpreter (shell) which will require an intensive use of these system calls to create typical shell commands.
  2. Students learn how to create new system calls for an operating system. In order to do it, students will implement a set of system calls related to the FAT file system.
  3. Practice, reinforce and go into the concepts covered in "Computer Architecture" in depth.
  4. Learn how to create applications usign system calls, and specifically a shell, learning the concept of shell and how it is related with respect to the operating system.
  5. Learn the needed concept for the creation of a reduced FAT file system.
  6. Learn how to program in shell script in order to do a set of tasks automatically.
  7. Learn how to design makefiles, so that it automates the execution of different repetitive tasks, such as the compilation and recompilation of many inter-related files.

The program of the lecture is split into the following four technical topics.
  1. Shell Script

  2. Makefile

  3. FAT file system

  4. Use of system calls for the creation of a shell


The calendar for the English group is the following:


Week Date Contents Type* Room Teachers
01 31/01/13 Introduction/Shell Script T 4.1E05 Pedro J. Muñoz Merino
02 07/02/13 Shell Script/Makefile T 4.1E05 Pedro J. Muñoz Merino
03 14/02/13 Makefile T 4.1BO2 Pedro J. Muñoz Merino
04 21/02/13 System Calls T 4.1BO2 Pedro J. Muñoz Merino
05 25/02/13 Shell Script P 4.1B02 Miguel Ángel Correyero
06 28/02/13
Shell Script P 4.1BO2 Miguel Ángel Correyero
07 07/03/13 Makefile P 4.1BO2 Miguel Ángel Correyero
08 14/03/13 Makefile P 4.1BO2 Miguel Ángel Correyero
09 21/03/13 FAT file system P 4.1BO2 Miguel Ángel Correyero
10 28/03/13 NO CLASS - VACATION      
11 04/04/13 FAT file system P 4.1BO2 Miguel Ángel Correyero
12 11/04/13 System Calls P 4.1BO2 Miguel Ángel Correyero
13 15/04/13 System Calls P 4.1B02 Miguel Ángel Correyero
14 18/04/12 System Calls P 4.1BO2 Miguel Ángel Correyero
15 22/04/13 System Calls P 4.1B02 Miguel Ángel Correyero
16 25/04/13 System Calls P 4.1B02 Miguel Ángel Correyero
17 02/05/13 NO CLASS - VACATION      
18 06/05/13 Exercise Session P 4.1B02 Miguel Ángel Correyero
19 09/05/13 Exercise Session P 4.1BO2 Miguel Ángel Correyero

*): Explanation of the types: T: Theory session; P: Laboratory exercise session;

The classess out of the regular timetable are marked in BOLD type.


Laboratory exercise

This course is mainly practical as it is a laboratory. Specifically, there will be a total of 4 practical assignments, all of them using the computer, so that we will use a laboratory room for them. Two of the practical assignments will require C programming, one shell script programming, and another makefile design. The four labs are mandatory to be submitted through the submission server. The submissions of these four labs will be evaluated by teachers of the course.

Each lab assignment will have a document where it will explain the different tasks to do, as well as a review of different concepts needed for doing it, and other information that could be relevant.

In order to do the lab assignments, the student will form teams (two students form one team; these teams cannot be modified) which will have time to complete the material and to submit it in case of the two mandatory lab assignments required. The submission deadline for each lab and all submission details are published bellow within the correspondent table. The submitted material (for the two C programming labs) will be evaluated according to

  • Functional correctness of the program
  • Correct memory management (e.g. de-allocation of memory after usage)
  • Structured code and appropriate indentation
  • Adequate code comments
  • Absence of compiler warnings
  • Efficiency in execution
  • Be according to the following coding rules
Any content or material mentioned in the labs is considered relevant for the on-site exam. Each lab (with exercises) will be evaluated and marked.

Next, there is a calendar with the different practical assignments and exercises of the course, with their correspondent associated information.

Lab no Topic Documents Submission deadline (at 11:00 am)
1 Shell Script Tutorial / Exercise 06/03/2013
2 Makefile Tutorial / Exercise 13/03/2013
3 FAT file System Tutorial / Exercise


4 System Calls Tutorial / Exercise


5 Exercise Sessions Questions

  • Computer Architecture lecture
  • C programming language


The evaluation of the lecture will take into account the level of students achievements of the different learning objectives, based on the student work individually or in groups.

For the first evaluation opportunity, the evaluation system will be based on a student continous evaluation and the students grade will be in the interval [0, 10], and the grade can be calculated in the following way:

- 20% Evaluation of the practical assignment submissions that students must submit during the course. The practical assignment submissions to be evaluated will be 4, specifically shell script, makefile, the FAT file system, and system calls. Previously to the start of the course, students will know the exact submission deadlines for each one of those practical assignments, and students will be able to submit their practical assignments through a submission informatic system. Teachers will evaluate these practical assignment submissions. The specific weights on the continous evaluation for each one of the practical assignments will be 5% for the shell script lab, 2% for the makefile lab, 5% for the FAT file system lab, and 8% for the system call lab. Thus, summing a total of 20% over the indicated total. Students will solve these practical assignments during the course in groups of two people.
- 20% Evaluation of the two exercise sessions that will cover all the topics of the course. The exercise session will be done through a computer system in 2 sessions during the classroom timetable, according to the published schedulling. The proposed exercises to solve will be of type fill in the blank, multiple choice, and multiple response.
- 60% Final exam of the course, that will cover all the contents of the course. This final exam will take place according to the university exam calendar.

It is important to note that during the two exercise sessions there will be two different parts:

- One with questions that correspond to the 20% of the continous evaluation.

- Another one with questions using an informatic program game. Students can obtain an extra point on their grades with this activity.

In order to pass the course using the continous evaluation system, a student must obtain a global scoring of 5 or more taking into account all the tests. It is not necessary to pass each part separately, but to have a global grade equal or greater than 5, taking into account all the different tests with the assigned weights.

For those students that do not pass the course in the first opportunity ("convocatoria ordinaria"), students will have a second opportunity ("convocatoria extraordinaria"), and the way to calculate the grade for the second opportunity will be the following. If the student followed the continous evaluation, then the student will obtain the grade that is better for him/her between these two options: taking into account that the final exam counts 100%, or applying the same grade calculation of the continous evaluation of the first opportunity. For those students that did not follow the continous evaluation, the final examlwill count 100% in the second opportunity.

Fundamental literature
Additional Literature


Location | Personnel | Teaching | Research | News | Intranet
home | sitemap | contact