1. Accueil
  2. EN
  3. Studying at ULB
  4. Find your course
  5. UE
INFO-S2001

Computer sciences

academic year
2025-2026

Course teacher(s)

Pierre ALEXIS (Coordinator) and Hugues BERSINI

ECTS credits

5

Language(s) of instruction

english

Course content

This course offers a comprehensive introduction to the world of computing, from the fundamentals of information representation and the interaction between hardware and software to core programming concepts using Python. Students will explore algorithms, data structures, databases, artificial intelligence, and enterprise IT systems, gaining insight into both technical foundations and real-world applications. Through practical projects, including the design and implementation of a full web application with Django, participants will develop technical skills while also learning to communicate effectively with experts and understand the challenges, opportunities, and limits of digital technologies.

Objectives (and/or specific learning outcomes)

  • Understand the fundamentals of computing
    • Explain how information is represented (binary, text, images, sound).
    • Describe how hardware (CPU, memory, storage, networks) and software (OS, applications) interact.
  • Learn key programming concepts
    • Understand the logic of programming.
    • Read and write simple code (in this course we will use Python).
    • Use algorithms and basic data structures to solve small problems.
  • Understand the fundamentals of databases, including how data is structured, stored, and queried.
  • Gain a foundational understanding of artificial intelligence, its core concepts, and its applications in business and engineering.
  • Develop an understanding of enterprise IT systems and their impact on business operations.
  • Apply the full software development cycle by designing, implementing, and delivering a fully working website with Django, from initial analysis to a functional final product.
  • Ultimately, develop an awareness of the IT world in order to communicate effectively with technical experts and to understand the challenges, opportunities, and limitations of digital technologies.

Prerequisites and Corequisites

Required and Corequired knowledge and skills

This course requires no prior knowledge of computing and is designed to build skills from the ground up.

Teaching methods and learning activities

The course is divided in two parts:

  • The theoretical part, with 12 weekly class sessions of 2 hours.
  • The practical part, that includes:
    • Five weeks of self-paced preparation in November/December.
    • One bootcamp week with a group project during the second intermediate week.

References, bibliography, and recommended reading

  • How Computers Work - Ron White
  • Code: The Hidden Language of Computer Hardware and Software - Charles Petzold
  • Fundamentals of Database Systems -  Elmasri Ramez, Navathe Shamkant
  • Computer Networks - Andrew Tanenbaum
  • Management Information Systems: Managing the Digital Firm -  Kenneth C. Laudon, Jane P. Laudon
  • Artificial Intelligence: A Modern Approach -  Stuart Russell, Peter Norvig
  • Les fondements de l’informatique - Du silicium au bitcoin - Hugues Bersini, Pascal Francq, Nicolas Van Zeebroeck
  • Apprendre la programmation web avec Python & Django: Principes et bonnes pratiques pour les sites web dynamiques -  Pierre Alexis, Hugues Bersini, Gilles Degols 

Course notes

  • Université virtuelle
  • Podcast

Other information

Campus

Solbosch

Evaluation

Method(s) of evaluation

  • written examination
  • Project
  • Practice exam

written examination

  • Open question with short answer
  • Closed question with multiple choices (MCQ)

Project

Practice exam

  • Examination with preparation
  • Open question with long development

Theoretical Part

The theoretical part will be assessed through a two-hour written exam during the January examination session.
In case of failure, a resit exam will be organized in August.

The exam format is as follows:

  • Part 1: Analyze a Python program and determine its output.
  • Part 2: Design a database schema.
  • Part 3: Answer theoretical questions on the course content.

Practical Part

The practical part mark is composed of the following elements:
  • Personal preparation phase
    • Evaluation is carried out automatically using scripts that test the quality and completeness of your code.
    • You may run these scripts yourself before the submission deadline to estimate your grade.
  • Group project completed during the bootcamp
    • The group project is divided into two components:
      • An open-book part, with coaching from the teaching assistants and access to online resources.
      • A closed-book part, without coaching from the teaching assistants and without access to online resources.
    • The group project is evaluated in two ways:
      • By automated scripts that test the quality and completeness of your code.
      • Through an in-person presentation of your project. This presentation lasts 30 minutes: the first 10 minutes are dedicated to presenting your project, followed by 20 minutes of Q&A with the teaching assistants to assess your understanding of the code and underlying concepts.
    • No resit is organized for the project; the practical part grade is carried over to the second examination session.

Mark calculation method (including weighting of intermediary marks)

In both the first and second examination sessions, the marking is distributed between the two components of the course as follows. The final mark is calculated as the weighted average of:

  • the practical part (including personal preparation and the group project), accounting for 40%, and
  • the theoretical part (written exam), accounting for 60%.
The mark for the practical part is valid for both sessions, and no new project is organized in the second session. The second-session exam will cover only the theoretical part of the course.

Language(s) of evaluation

  • french
  • english

Programmes