Logo

Foundations of Computer Science

Code: 107845
Credits: 6
2026/2027
Degree programme Type Course
Electronic Engineering for Telecommunications FB 1
Telecommunication Systems Engineering FB 1

Contact lecturer

Name :
Marc Codina Barbera
Email :
marc.codina@uab.cat

Teaching staff

Marc Codina Barbera
Marc Vallribera Ros

Group languages

You can consult this information at the end of the document.

Prerequisites

Any one.

Objectives

The objective of the Fundamentals of Computer Science subject is to introduce the basic concepts of computer science, the physical components of a computer, the basics of processor programming and the representation of information on the computer. Specifically,
- Learn the representation of information within a computer. This includes numbering systems (binary, decimal, hexadecimal), character encoding (ASCII, Unicode), and the representation of data such as integers, reals and booleans.
-Learn the basic components of hardware, such as the CPU, memory (RAM), storage devices (hard drives, SSD), and input and output peripherals. It explains how these elements interact and how they form part of a complete computer system.
- Learn the architecture of the processor and its programming.
- Introduce general concepts about operating systems and databases.

Learning outcomes

Electronic Engineering for Telecommunications
  • KU096 (Distinguish the different types of data and their storage in memory.) Distinguish the different types of data and their storage in memory.
  • KU097 (Distinguish between the different types of flow control of a computer program.) Distinguish between the different types of flow control of a computer program.
  • SU105 (Use the theoretical foundations of programming and programming languages to develop software systems. Understand the basic architecture of a computer, its functional units and the theoretical foundations of programming.) Use the theoretical foundations of programming and programming languages to develop software systems. Understand the basic architecture of a computer, its functional units and the theoretical foundations of programming.
Telecommunication Systems Engineering
  • KU096 (Distinguish the different types of data and their storage in memory.) Distinguish the different types of data and their storage in memory.
  • KU097 (Distinguish between the different types of flow control of a computer program.) Distinguish between the different types of flow control of a computer program.
  • SU105 (Use the theoretical foundations of programming and programming languages to develop software systems. Understand the basic architecture of a computer, its functional units and the theoretical foundations of programming.) Use the theoretical foundations of programming and programming languages to develop software systems. Understand the basic architecture of a computer, its functional units and the theoretical foundations of programming.

Contents

Block 1: Information Coding and Digital Systems


  • Number systems
  • Data representation in the computer
  • Fundamentals of digital logic: Boolean Algebra and fundamental logic gates. Representation and simplification.
  • Basic logic circuits: Concept and example of Combinational and Sequential circuits.


Block 2: Computer Architecture: CPU, Memory, and Input/Output


  • CPU structure and architecture: Classic components (Control Unit, ALU, registers) and the instruction cycle.
  • Design philosophies: Fundamental differences between RISC and CISC architectures.
  • The memory system: Memory hierarchy, semiconductor memory (RAM/ROM), cache memory concepts, and introduction to virtual memory (paging and segmentation).
  • Input/Output and storage subsystem: I/O management mechanisms (polling, interrupts, and DMA). Storage devices (HDD, SSD), RAID systems, and communication peripherals.


Block 3: Introduction to Low-Level Programming


  • Hardware/Software Interface: Concept of the instruction set architecture (ISA).
  • Assembly programming
  • Comparative analysis: Using assembly programming as a tool to understand how different architectures interact with system resources.


Block 4: Introduction to Operating Systems and Process Management


  • The Operating System: Main functions, evolution, and role as an intermediary between the user, software, and hardware.
  • Process management: Process definition, transition states, and the structure of the Process Control Block (PCB).
  • CPU Scheduling: Operation of software-level scheduling and fundamental algorithms (FCFS, Round Robin, priorities) for efficient processing time allocation.


Learning activities and methodology

Title Hours ECTS Learning outcomes
Therorycal classes 36 1.44 KU096, KU097, SU105
Class problems and laboratory sessions 24 0.96 KU096, KU097, SU105
Autonomous work 90 3.6 KU096, KU097, SU105

Theory classes:
Basic knowledge of the subject is given and indications on how to complete and deepen this content are given.

Problem classes:
The scientific and technical knowledge presented in the master classes is worked on. Problems are solved and practical cases are discussed. The problems promote the capacity for analysis and synthesis, critical reasoning, and the student is trained in the resolution of practical cases.
The methodology followed in problems is as follows: problem sheets are given, which the students must solve. In class, the doubts that have arisen are reviewed and those that the students have had conflicts with are resolved.
Eventually, in some problem sessions, group work is done to solve problems of subject synthesis with self-assessment.

Practices:
During the course, practical classes will be held. Students will work in groups of two.
In the practices, the student must develop the thinking habits specific to the subject and group work. The student will have to start solving algorithms.
The sessions may include self-assessment or evaluation exercises.

AI can be used as a learning tool. However, it is not permitted in the practical and assessment activities of the subject.

Annotation: within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Continuous assessment tests 65% - 75% 0 0 KU096, KU097, SU105
Supervised activities 10%-0% 0 0 KU096, KU097, SU105
Practical activities 25% 0 0 KU096, KU097, SU105

This subject does not have a single evaluation system.

1. ABOUT THE TYPE OF EVALUATION ACTIVITY

Up to 3 types of activities are involved in the subject grade:

  • Two CONTINUOUS EVALUATION tests. The final weight in the subject is between 65% and 75%, depending on the number of supervised evaluation activities that have been carried out.
  • Evaluation activities proposed in the PRACTICAL CLASSES. The final weight in the subject will be 25%. Attendance is mandatory.
  • SUPERVISED EVALUATION ACTIVITIES may be carried out during the course. The maximum weight of these activities will be 10%. The weight will depend on the total number of activities carried out.


2. CONTINUOUS EVALUATION TESTS

  • There will be two continuous evaluation tests. The continuous evaluation dates are set at the beginning of the course by the coordination of the degree and do not have an alternative date for recovery in case of absence.
  • The weight of each test will be 50%.
  • The final grade of the continuous assessment tests is the arithmetic average of the two grades.
  • To be able to take an average, you must have at least 5 (out of 10) in each of the two tests.


3. EVALUATION IN PRACTICAL ACTIVITIES

The practices are approved by continuous assessment.

The assessment activities will be:

  • Submission of reports and/or exercises from the practice sessions. If there are, the grade will be of 1 point (out of 10) in total.
  • Assessment tests for the practical class (they may be oral).
  • You must have a 5 (out of 10) in the assessment of the practices to be able to take an average with the theory grade and pass the subject.
  • You must take all the practical assessment tests and get more than 2 (out of 10) in each test to be able to take an average.


4. ABOUT SUPERVISED ASSESSMENT ACTIVITIES

  • They may be done during the course as collections of continuous assessment activities in class.
  • There is no requirement that affects the final grade.
  • They cannotbe recovered.
  • If done, they may count for up to 10% ofthe final grade, which will be adjusted based on the grade of the continuous assessment activities.


5. ABOUT THE FINAL SCORE

Anyone is considered passed who

  • has a grade equal to or greater than 5 (out of 10) (calculated according to the established scales) and
  • has at least a 5 in the practical activities and
  • does not have any grade in the continuous assessment below the minimum grade (which is 5 (out of 10)).


6. ABOUT POSSIBLE VALIDATION OF INTERNSHIPS:

At the beginning of the academic year, if possible, you will be notified if there is validation of internships. If applicable, practical classes must have been completed and passed the previous year.


7. Grades may be reviewed within the period established for each activity.


8.The awarding of the MatrĂ­cula de Honor grade will be at the discretion of the teaching staff for grades equal to or higher than 9, and will be granted in strict compliance with the criteria and limits set by university regulations.

A non-assessable will be considered in the event that a student has not carried out any assessment activity. The failure for not having achieved the minimum grade in any of the assessment activities is the min{average grade, 4.5}.


9. Any change in the schedule will be reported to the Virtual Campus.


10. Without prejudice to other disciplinary measures that may be deemed appropriate, and in accordance with current academic regulations, any irregularities committed by the student that could lead to a variation in the grade of an assessment activity will be graded with a zero. Therefore, copying or allowing others to copy a practical exercise or any other assessment activity will result in failing it with a zero, and if passing it is required to pass the course, the entire course will be failed. Assessment activities graded in this manner and through this procedure cannot be retaken, and therefore the course will be directly failed without the opportunity to recover it in the same academic year.


11. At the discretion of the teaching staff, in cases where it is deemed appropriate, any written exam must be subsequently validated by an oral exam. In the event of discrepancies between the results of the two exams, the oral exam will prevail.


12. In this course, the use of Artificial Intelligence (AI) technologies is not permitted in any of its phases. Any assignment that includes AI-generated fragments will be considered a breach of academic integrity and may result in a partial or total penalty on the activity's grade, or more severe sanctions in serious cases.


13. Students have the right to request the rescheduling of assessment exams exclusively in cases of serious illness, a justified exceptional situation, or when the affected exam accounts for more than 20% of the final grade (or is essential to pass the course). To exercise this right, a formal request must be submitted to the relevant academic administration office.

Bibliography

Generic book for the course:

- Linda Null. \"Essentials of Computer Organization and Architecture\", Sixth Edition, Burlington, MA: Jones & Bartlett Learning, 2023. ISBN 978-1284259445

- D. Patterson, A. Waterman. \"Guia pràctica de RISC-V. El atlas de una arquitectura abierta.\" : ISBN 978-0-9992491-2-3. Document pdf. (Recomanat pel RISC-V).

Complementary bibliography:

Specific for the processor:

- S.L. Harris, D. Harris. \"Digital Design and Computer Architecture, RISC-V Edition\". Morgan-Kaufman. 2021

Specific for digital systems:

- J. Oliver, C. Ferrer. \"Diseño de sistemas digitales: introducción práctica\". Servei de publicacions de la Universitat Autònoma de Barcelona. 1998. ISBN 84-490-1445-X

Specífic for operating systems:

- Pedro de Miguel Anasagasti, Fernando Pérez Costoya. \"Sistemas Operativos\", D. Arquitectura y Tecnología de Sistemas Informáticos, ETSE, UPM. 2016. Bajo licencia Creative Commons NoComercial CompartirIgual 4.0.

Software

Complex programming tools are not required for the development of the subject.

Network tools will be used for the introduction to assembly language programming.

Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TE) Theory 31 Catalan first semester morning-mixed
(TE) Theory 33 Catalan first semester morning-mixed
(PAUL) Classroom practices 311 Catalan first semester morning-mixed
(PLAB) Practical laboratories 311 Catalan first semester morning-mixed
(PAUL) Classroom practices 312 Catalan first semester morning-mixed
(PLAB) Practical laboratories 312 Catalan first semester morning-mixed
(PLAB) Practical laboratories 313 Catalan first semester morning-mixed
(PLAB) Practical laboratories 314 Catalan first semester morning-mixed
(PLAB) Practical laboratories 315 Catalan first semester afternoon
(PLAB) Practical laboratories 316 Catalan first semester afternoon
(PLAB) Practical laboratories 317 Catalan first semester afternoon
(PLAB) Practical laboratories 318 Catalan first semester afternoon
(PAUL) Classroom practices 331 Catalan first semester morning-mixed
(PAUL) Classroom practices 332 Catalan first semester morning-mixed