cookieImage
2026-2027 / INFO0012-2

Computation structures

Duration

26h Th, 26h Pr, 40h Proj.

Number of credits

 Bachelor of Science (BSc) in Engineering5 crédits 
 Bachelor of Science (BSc) in Computer Science5 crédits 
 Master MSc. in Computer Science, professional focus in computer systems security5 crédits 
 Master MSc. in Computer Science, professional focus in computer systems security (Double degrees - HEC Lège)5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in management5 crédits 
 Master Msc. in computer science and engineering, professional focus in intelligent systems5 crédits 
 Master Msc. in computer science and engineering, professional focus in intelligent systems (Double degrees - HEC Liège)5 crédits 
 Master MSc. in Computer Science, professional focus in management5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in computer systems and networks5 crédits 
 Master MSc. in Computer Science and Engineering, professional focus in computer systems and networks (Double degrees - HEC Liège)5 crédits 
 Master MSc. in Computer Science, professional focus in intelligent systems5 crédits 
 Master MSc. in Computer Science, professional focus in intelligent systems (Double degrees - HEC Liège)5 crédits 

Lecturer

Pascal Fontaine, Laurent Mathy

Language(s) of instruction

English language

Organisation and examination

Teaching in the first semester, review in January

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

The objectives of the course is to provide to the student a deep understanding of the inner working of the modern computer.  The course is organized in two parts:

- the first part is conducting the student through the basic concepts underlying processors, and explains how imperative programs can be translated into machine code;

- the second part provides knowledge on selected techniques that are mandatory for efficiency in modern computers (e.g. pipe-line, cache memory).

 

Learning outcomes of the learning unit

At the end of this course, the student will understand

  • how semiconductor devices can be built to provide Turing-complete computing machines
  • how imperative programs can be translated into processor instructions
  • how modern techniques for efficient processors impact the execution of programs
This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, VI.1, VI.2, VII.1, VII.4, VII.5 of the BSc in engineering.

This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, IV.5, IV.7, VI.1, VI.2, VII.1, VII.4, VII.5 of the MSc in electrical engineering.

Prerequisite knowledge and skills

Although not a prerequisite, basic knowledge of digital circuits (logic gates, flip-flops, registers, RAM, ROM) is useful; those notions will be quickly reviewed at the start of the course.  We assume knowledge of binary encoding (including two's complement of signed integers) and hexadecimal encoding.

Familiarity with imperative programming is absolutely mandatory.

 

Planned learning activities and teaching methods

Lectures are given in English.  Courses are given on Wednesday afternoon and they generally comprise two hours of ex cathedra course (interaction and question are welcome) followed by two hours of lab or problem session.

The lab sessions cover the design of a basic processor.  The problem session essentially focus on the design of a microcode based processor, on assembly language programming, and on various exercises useful for understanding the inner working of computers.

The course also includes programming assignments and building a processor within a digital circuit simulator.

Podcasts are provided in a best effort manner, but they are not updated.  It is the responsibility of the student to be aware of the contents of the in-person theoretical and practical sessions, and to know these contents for the exam.

There is an online discussion forum to ask questions about the course.  This is the preferred way of interaction.  There is no guarantee that mails will be answered.

There is no guaranteed support for resits.

Mode of delivery (face to face, distance learning, hybrid learning)

Face-to-face course


Additional information:

The course is given during the 1st quadrimester (fall).

Podcasts are provided in a best effort manner, but they are not updated. It is the responsibility of the student to be aware of the contents of the in-person theoretical and practical sessions, and to know these contents for the exam.

 

Course materials and recommended or required readings

Reference text; notes and transparencies available on the course space on eCampus.

Exam(s) in session

Any session

- In-person

written exam ( open-ended questions )

Written work / report

Other : Practical evaluation on machine


Further information:

There are two homework assignments for the course:

  • the first consists in building a basic computer from logic gates on, within a simulator of digital circuits;
  • the second is a little programming problem to solve using the assembly language of the above computer.
These homeworks are not evaluated.

There are two practical evaluations that will take place in the computer rooms at the university, during the slots allocated for the course.

  • the first consists in modifying a basic computer as built in the first homework;
  • the second is a little programming assignment, in the line of the one corresponding to the second homework.
For those practical evaluations, the students will have only limited access to documents and tools.  In particular, there will be no access to AI assistants or search engines.  Students may suggest material that would be available, no later than two weeks before the evaluation; this will be subject to approval.

The grade for both practical evaluations will be either Pass or Fail.

No document or electronic help is allowed for the exam.  The exam will evaluate the student's

  • understanding of the inner working of a basic computer;
  • understanding of the inner working of a microcode based computer;
  • capability to program in a simple assembly language;
  • understanding of the modern hardware techniques for efficient computing.
Students must be aware that the last point (understanding of the modern hardware techniques for efficient computing) represents around 50% of the written exam grade.

To succeed the course, the student will have to succeed both the practical and theoretical evaluations.  If one of the practical evaluations is failed, the grade will be the grade of the exam capped by 7/20.  Otherwise the final grade is the grade of the exam.

There is no guaranteed support for resits.

 

Work placement(s)

Organisational remarks and main changes to the course

The contents of the theoretical and practical sessions, as well as the assignments and useful links, will be made available on the e-Campus space for the course.

Contacts

Teachers: Pascal Fontaine, Laurent Mathy
Phones: 04 366 28 75, 04 366 27 03
e-mails: Pascal.Fontaine@uliege.be, Laurent.Mathy@uliege.be
Assistants: Gaulthier Gain, François Piron, Benoît Knott
e-mails: Gaulthier.Gain@uliege.be, Francois.Piron@uliege.be, bknott@uliege.be
Student assistant: N/A

Association of one or more MOOCs

Items online

Course material available on eCampus
Course material available on eCampus