Computer Structure Code:  22.630    :  6
View general information   Description   The subject within the syllabus as a whole   Prior knowledge   Information prior to enrolment   Learning objectives and results   Content   View the UOC learning resources used in the subject   Additional information on support tools and learning resources   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the second semester of the academic year 2023/2024. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change.
The objective of Computer Structure is to extend the vision of the basics of computer architecture and organization in order to describe the low-level language (assembly language). The computer programming will be performed in assembly language with calls to I/O functions in C. The student will learn to develop subroutines in assembly language and to add calls to these functions in higher-level languages using their own structures in C language.


This subject has a strong relation with the optional subject of Fundamentals of Computers. 

Computer Structure expands the knowledge on the hardware components that a programmer needs to know to successfully perform her tasks, such as, information processing in a computer.


The established prerequisite to study Computer Structure is the optional subject Fundamentals of Computers.

Computer Structure extends the concepts that have been seen in Fundamentals of Computers. Therefore, we assume that the student has acquired the basic knowledge such as: data representation and numbering systems; the different types of digital circuits; the basic structure of a computer; computer algorithms and programming fundamentals.


The course needs the background knowledge of the optional subject Fundamentals of Computers and Operting Systems. Additionally, subjects related to programming. 

The required working environment needs a Personal Computer based on processors x86-64 (Intel 64 or AMD 64) and the Operating System to be executed is Linux of 64 bits. The proposed version of the OS is Linux Mint of 64 bits (based on Ubuntu), but it is available to use others versions of Linux of 64 bits.

The programming languages are: C and assembler x86-64.


Specific Bachelor Computer Engineering 

 [13] Competence to identify the computer elements and the functional principles of a computer. 
 [14] Competence to analyse the computer architecture and organization systems and network applications. 
 [15] Identify emerging communication technologies and their application to design and develop solutions based on information systems and information technologies.

Subject competences 

- Ability to analyse and synthesize.
- Problem solving. 
- Ability to plan and organize.
- Good written communication skill. 
- Critical reasoning. 

 Any professional career related to this subject will need, at the same time, the knowledge related to hardware. Therefore, the main goal is to learn necessary concepts to understand what a computer is and to be able to develop any professional activity using it.


The learning units are the following: 

Unit 1: The computer 

Section 1. The computer 
Section 2. The Von Neumann Architecture
Section 3. The Harvard Architecture 
Section 4. The evolution of computers 

Unit 2: Instructions set 

Section 1. Instructions set 
Section 2. Addressing modes

Unit 3: The processor
Section 1. Organisation of the processor 
Section 2. Instruction execution cycle 
Section 3. Registers 
Section 4. Arithmetic logic unit
Section 5. Control Unit
Section 6. CISC and RISC computers 

Unit 4: Memory System

Section 1. Memory features
Section 2. Memory Hierarchy 
Section 3. Cache Memory 
Section 4. Internal memory 
Section 5. External memory 

Unit 5: I/O System 

Section 1. Basic aspects of the I/O 
Section 2. Programmed I/O 
Section 3. I/O with interruptions by interrupts 
Section 4. I/O with direct memory access 
Section 5. Comparison of I/O techniques 

Unit 6: Assembly programming (x86-64) 

Section 1. Computer architecture
Section 2. Programming languages 
Section 3. The assembly language for x86-64 architecture 
Section 4. Introduction to the C language 
Section 5. Programming concepts in assembly language and C 

Unit 7: CISCA Architecture

Section 1. Computer organisation 
Section 2. Instruction Set 
Section 3. Format and encoding instructions 
Section 4. Execution of instructions


Logic and Boolean algebra PDF
Information representation PDF


The student will be able to access to the material available in electronic format. Additionally, the student will find examples of final practical projects (Pr) and continuous assessment activities (CAA) of previous courses, as well as, other support tools in the virtual classroom.

Besides, this course will use the following support tools: 

1. The necessary software for the final project: Virtual machine (VM) with the operating system Linux Mint (based on Ubuntu) of 64 bits with the necessary tools to perform the practical work. This virtual machine can be executed on top of any operating system already installed in the students¿ computer (Windows, Linux and Mac OS).

 2. The required tools will be: 

- Text editor (geany) 
- Assembler (yasm) 
- Linker (ld) 
- C compiler (gcc) 
- Debugger (kdbg)


Assessment at the UOC is, in general, online, structured around the continuous assessment activities, the final assessment tests and exams, and the programme's final project.

Assessment activities and tests can be written texts and/or video recordings, use random questions, and synchronous or asynchronous oral tests, etc., as decided by each teaching team. The final project marks the end of the learning process and consists of an original and tutored piece of work to demonstrate that students have acquired the competencies worked on during the programme.

To verify students' identity and authorship in the assessment tests, the UOC reserves the right to use identity recognition and plagiarism detection systems. For these purposes, the UOC may make video recordings or use supervision methods or techniques while students carry out any of their academic activities.

The UOC may also require students to use electronic devices (microphones, webcams or other tools) or specific software during assessments. It is the student's responsibility to ensure that these devices work properly.

The assessment process is based on students' individual efforts, and the assumption that the student is the author of the work submitted for academic activities and that this work is original. The UOC's website on academic integrity and plagiarism has more information on this.

Submitting work that is not one's own or not original for assessment tests; copying or plagiarism; impersonation; accepting or obtaining any assignments, whether for compensation or otherwise; collaboration, cover-up or encouragement to copy; and using materials, software or devices not authorized in the course plan or instructions for the activity, including artificial intelligence and machine translation, among others, are examples of misconduct in assessments that may have serious academic and disciplinary consequences.

If students are found to be engaging in any such misconduct, they may receive a Fail (D/0) for the graded activities in the course plan (including final tests) or for the final grade for the course. This could be because they have used unauthorized materials, software or devices (such as artificial intelligence when it is not permitted, social media or internet search engines) during the tests; copied fragments of text from an external source (the internet, notes, books, articles, other students' work or tests, etc.) without the corresponding citation; purchased or sold assignments, or undertaken any other form of misconduct.

Likewise and in accordance with the UOC's academic regulations, misconduct during assessment may also be grounds for disciplinary proceedings and, where appropriate, the corresponding disciplinary measures, as established in the regulations governing the UOC community (Normativa de convivència).

In its assessment process, the UOC reserves the right to:

  • Ask students to provide proof of their identity as established in the UOC's academic regulations.
  • Ask students to prove the authorship of their work throughout the assessment process, in both continuous and final assessments, through a synchronous oral interview, of which a video recording or any other type of recording established by the UOC may be made. These methods seek to ensure verification of the student's identity, and their knowledge and competencies. If it is not possible to ensure the student's authorship, they may receive a D grade in the case of continuous assessment or a Fail grade in the case of the final assessment.

Artificial intelligence in assessments

The UOC understands the value and potential of artificial intelligence (AI) in education, but it also understands the risks involved if it is not used ethically, critically and responsibly. So, in each assessment activity, students will be told which AI tools and resources can be used and under what conditions. In turn, students must agree to follow the guidelines set by the UOC when it comes to completing the assessment activities and citing the tools used. Specifically, they must identify any texts or images generated by AI systems and they must not present them as their own work.

In terms of using AI, or not, to complete an activity, the instructions for assessment activities indicate the restrictions on the use of these tools. Bear in mind that using them inappropriately, such as using them in activities where they are not allowed or not citing them in activities where they are, may be considered misconduct. If in doubt, we recommend getting in touch with the course instructor and asking them before you submit your work.


You can only pass the course if you participate in and pass the continuous assessment. Your final mark for the course will be the mark you received in the continuous assessment.