BSc CSE Computer Science & Engineering
Sur cette page
Vue d’ensemble Fondations AI tools Programme académique Certifications Modes d’études Carrières Admissions Prochaine étape
Parcours Bachelor • Computer Science & Engineering

BSc Computer Science & Engineering: construire les bases derrière l’IA, la cyber et les systèmes numériques modernes.

Un Bachelor rigoureux en trois ans, enseigné en anglais, pour comprendre comment les systèmes software, data, cloud et cyber fiables sont conçus, développés et sécurisés.

?

Vous cherchez l’IA ou la cybersécurité ? Très bien. À DSTI, vous commencez par les bases en informatique, mathématiques, systèmes, réseaux, software et data qui rendent ces domaines réellement praticables.

01 — Identité du programme

Computer Science & Engineering, depuis les fondations.

Un parcours Bachelor pour les étudiants après le lycée qui veulent une base technique sérieuse avant une spécialisation plus poussée en master ou dans la vie professionnelle.

1

Systèmes d’information

Concevoir, maintenir et optimiser des systèmes d’information sur infrastructures cloud et hybrides.

2

Software & data

Travailler avec des bases de données, systèmes back-office, applications back-end et grands environnements data.

3

Bases cyber

Comprendre les menaces, outils de sécurité et mesures nécessaires pour protéger les systèmes utilisateurs.

4

Professionnalisation

Préparer des certifications et des stages qui rendent les compétences techniques plus lisibles pour les employeurs.

Lire la description complète du programme +

Le Bachelor of Science in Computer Science & Engineering de DSTI (BSc CSE) est un programme rigoureux en trois ans, enseigné en anglais, conçu pour les étudiants qui veulent construire une base profonde et polyvalente dans les technologies informatiques modernes.

Des fondamentaux de l’architecture informatique et des réseaux jusqu’aux domaines avancés comme la cybersécurité, le data engineering, l’IA, DevOps et le cloud computing, le programme prépare progressivement à évoluer dans un environnement numérique en transformation rapide.

Ce qui distingue le BSc CSE de DSTI est la combinaison d’une maîtrise technique approfondie et d’une compréhension des compétences attendues en entreprise. Les étudiants travaillent avec des outils, frameworks et plateformes professionnels, renforcés par des certifications reconnues auprès de grands acteurs technologiques.

Au-delà du cœur technique, les enseignements en comptabilité, marketing, communication, droit et RH aident à comprendre les liens entre exigences technologiques, organisationnelles et évolution des entreprises.

Le séminaire en trois parties “Energy – Climate – Sustainable IT” constitue un élément distinctif du programme. Loin d’un discours superficiel, ce cours ancré dans la physique amène les étudiants à examiner de manière critique l’empreinte énergétique et environnementale des infrastructures numériques.

Tout au long du programme, les étudiants bénéficient de séances de soutien intensives, d’un accompagnement personnalisé et d’opportunités d’exposition professionnelle grâce aux stages.

02 — Positionnement Bachelor de DSTI

Pas un raccourci vers les mots à la mode. Un chemin vers l’ingénierie.

L’IA et la cybersécurité sont présentes dans le programme — mais elles reposent sur les bases nécessaires pour les pratiquer sérieusement.

Pourquoi pas d’année préparatoire avant le Bachelor ?

Parce que le Bachelor est lui-même le parcours de base.

Dans la tradition française de l’enseignement supérieur, les étudiants entrent après le lycée avec des bases scientifiques et générales, puis se spécialisent progressivement. Le BSc CSE de DSTI suit cette logique : construire les fondations en informatique, mathématiques, systèmes et ingénierie depuis les bases.

Les étudiants ayant déjà une expérience en code ou en technologie sont les bienvenus : ils démarrent simplement avec une avance, sans perdre leur temps.

Pourquoi pas un “Bachelor in AI” ou un “Bachelor in Cyber Security” ?

Parce qu’une spécialisation crédible a besoin de fondations.

La position de DSTI est simple : au niveau Bachelor, une étiquette trop étroite en IA ou cybersécurité peut masquer le vrai travail à faire d’abord. Un parcours undergraduate sérieux doit construire les bases en systèmes, software, data, mathématiques et réseaux qui rendent ensuite crédible une expertise en IA ou cybersécurité.

Le programme reste néanmoins riche dans ces domaines : les étudiants abordent l’IA, le data engineering, le cloud, la cybersécurité, Linux, Azure Security, DevOps et Big Data à travers des cours structurés et la préparation de certifications professionnelles.

1

Informatique d’abord

Architecture, systèmes d’exploitation, réseaux et systèmes d’information avant toute sur-spécialisation.

2

Software et data

SQL, structures de données, algorithmique, génie logiciel et data wrangling comme compétences d’ingénierie fondamentales.

3

Cloud et infrastructure

AWS, Azure, Linux, automatisation système et concepts d’infrastructures hybrides tout au long du parcours.

4

Approfondissement IA et cyber

L’IA, l’apprentissage statistique, la cybersécurité et DevOps arrivent lorsque les bases techniques sont suffisamment solides.

02B — IA générative et LLMs

Bien utiliser l’IA générative parce que vous comprenez ce qui se passe.

L’IA générative transforme le travail technique. La réponse de DSTI n’est pas d’enseigner une collection d’astuces, mais de former des étudiants capables d’utiliser ces outils avec jugement, précision et confiance technique.

Au-delà du “prompt engineering”

De bons prompts ne font pas un métier. Comprendre les systèmes est une compétence durable.

L’interface visible n’est que la surface. Pour tirer le meilleur des LLMs, les étudiants doivent comprendre la data, les modèles, la probabilité, le software, les systèmes, les APIs, l’évaluation, la sécurité, les limites et les modes d’échec. C’est précisément là que les bases scientifiques et d’ingénierie comptent.

1

Mieux demander parce que vous modélisez le problème

Les étudiants apprennent à décomposer une tâche, identifier les contraintes, définir les entrées et sorties, et reconnaître quand une réponse générée paraît plausible mais reste fausse.

2

Construire avec l’IA, pas seulement discuter avec elle

Le travail moderne avec l’IA implique software, pipelines data, retrieval, APIs, sécurité, tests et intégration dans de vrais systèmes d’information.

3

Évaluer les résultats de manière professionnelle

Un étudiant DSTI doit savoir vérifier les hypothèses, comparer les méthodes, tester les résultats, documenter les choix et savoir quand l’expertise humaine doit reprendre la main.

4

Garder la discipline d’ingénierie

Les LLMs peuvent accélérer le travail. Ils ne remplacent pas les mathématiques, l’informatique, la qualité des données, la cybersécurité, la reproductibilité et la responsabilité.

DSTI Bachelor of Science in Computer Science and Engineering
Un Bachelor européen complet : 3 ans, 180 ECTS, spécialisation progressive.
Comprendre le Bachelor européen

Un Bachelor européen complet, structuré sur trois ans.

Dans de nombreuses institutions européennes, un Bachelor est structuré en trois ans et 180 ECTS. Cela reflète une tradition éducative dans laquelle les étudiants entrent dans l’enseignement supérieur après une solide formation secondaire générale, puis se spécialisent progressivement dans un parcours undergraduate cohérent.

À DSTI, la première année comprend les enseignements de fondation nécessaires à des étudiants issus de systèmes éducatifs différents. Chaque année enrichit ensuite l’équilibre entre bases théoriques, compétences technologiques, projets, préparation aux certifications et expérience professionnelle.

Concrètement : les étudiants internationaux obtiennent un diplôme européen reconnu, une base technique sérieuse et une plateforme claire pour poursuivre en master ou accéder à des premiers rôles techniques.

03 — Structure

Trois ans, une profondeur technique progressive.

Les fondations d’abord, puis infrastructure, software, data, cloud, cybersécurité, IA et expérience professionnelle.

Année 1

Année de fondation à temps plein

512,5 heures d’enseignement et 12,5 heures de soutien — 525 heures au total — pour construire une base technique et théorique solide.

  • Computer architecture and operating systems
  • Networks and cloud fundamentals
  • Software, SQL and mathematics
  • Organisation, society and sustainable IT
Année 2

Temps plein + stage optionnel

530 heures d’enseignement et 10 heures de soutien — 540 heures au total — avec une expérience de stage optionnelle.

  • IT infrastructures and CCNA preparation
  • AWS cloud and operating systems automation
  • C++, Java, SQL and cryptography
  • Accounting, English and applied engineering mathematics
Année 3

Temps plein + stage

545 heures d’enseignement et 25 heures de soutien — 570 heures au total — avec une expérience professionnelle en fin de parcours.

  • Cyber security for hybrid infrastructures
  • DevOps and Big Data
  • Data engineering and AI
  • Law, ethics, HR and project management

Expérience professionnelle : un stage de 6 mois est obligatoire, éventuellement réparti en deux stages entre la deuxième et la troisième année.

Titre professionnel national (RNCP)

La qualification nationale à laquelle mène ce BSc.

Niveau 6 · niveau licence

TP - Administrateur d'infrastructures sécurisées

RNCP37680 · enregistré auprès de France Compétences

Organisme certificateur
Ministère du Travail du Plein Emploi et de l'Insertion
Date d'enregistrement
12/06/2023
Fiche France Compétences

Student testimonial

Student perspective

Bumisha Jhotty, étudiante BSc CSE, cohorte d’automne 2024–2027.

Un regard concret d’étudiant sur l’articulation entre cours diplômants et certifications professionnelles à DSTI.

Bumisha Jhotty BSc Computer Science & Engineering · cohorte d’automne 2024–2027
“What truly sets this school apart is the integration of technical certifications alongside the degree. This unique approach not only deepens our knowledge but also gives us a competitive edge in the workplace. The courses are well-structured and industry-relevant, ensuring we graduate with both theoretical expertise and practical skills that employers value.”
04 — Programme académique

Le programme complet, structuré par année.

Les candidats peuvent lire le programme complet sans perdre la progression : fondations d’abord, puis systèmes, software, data, cloud, cybersécurité, IA et expérience professionnelle.

Fundamentals of Computer Systems 125hrs • 15 ECTS
25hrs 5 ECTS

Computer Architecture and Operating Systems

Computer architecture, processor instruction sets, hardware components, virtualisation, kernel principles and shell-based system automation.

Enseigné par Thierry Vert
Inside the course

BSc · Year 1 · 9 sessions

Computer Architecture and Operating Systems

Course code: FCS-001

Following instructions from binary digits to running programs

A computer can be examined as a sequence of operations, not only as a collection of components. These sessions moved from number representation and simple models of computation to assembly instructions, memory and operating-system services. Simulator exercises made register changes and branching visible; later activities used Python and command-line tools to inspect the machine on which the programs were running.

What the sessions explored
Representing and executing

Binary arithmetic, character encoding and processor simulators connected stored values with the instructions that read, transform and write them.

Memory and hardware

Registers, caches, buses and peripherals were considered through their roles, constraints and effects on a computer’s behaviour.

Observing the running system

Python experiments and command-line work linked operating-system concepts to processor counts, memory access, files, paths and running processes.

Explore the sessions
1. Computing History, Turing Machines and Data Representation

The session introduced computer architecture through the history of computing, from mechanical calculators and punched cards to programmable electronic computers and microprocessors. It explained the layered model of a computer: hardware, operating system and application software. The class covered Turing machines, including states, tape symbols, transitions and graphical or tabular representations, then used examples to complement binary digits and show how shifting a binary number can double its value. It also introduced bits, bytes and words, most- and least-significant bits, binary and hexadecimal notation, and conversion methods between binary, decimal and hexadecimal numbers. Students practised these ideas through guided exercises.

2. Von Neumann Processors, Memory and Data Encoding

The session revised conversion between binary, decimal and hexadecimal, including grouping binary digits into sets of four and using prefixes such as 0x and 0b. It introduced computer architecture through the von Neumann model, processor components, buses, memory organisation and the distinction between random-access memory (RAM), flash storage, registers and cache. The class covered byte-addressed memory, big-endian and little-endian storage conventions, processor instruction sets, arithmetic and logic units, and interrupts. It also examined data encoding, including signed integers using two’s complement, approximate binary representations of fractional and real numbers, and the ASCII character code character encoding through practical exercises.

3. ARM RISC Assembly and Instruction Execution

The class reviewed the distinction between machine code, executable binaries and assembly language, including mnemonics, registers and the role of an assembler. Students used a reduced instruction set computing (RISC) processor simulator to follow the fetch, decode and execute stages, identify addresses and data in memory, and store register values in memory. They wrote and tested assembly instructions for addition and subtraction, using registers to hold operands and the arithmetic and logic unit to perform calculations. The session also covered input and output instructions, conditional branching through comparison flags, labels, and loops, with comparisons to equivalent Python conditional statements and loops.

4. x86 Assembly, Addressing Modes and Architectures

The session completed work on RISC assembly programming by introducing immediate, register, indirect and indexed indirect addressing modes, using load and store instructions in a simulator. It explored unconditional branching, program counters and the consequences of treating memory data as executable instructions, linking the von Neumann shared-memory model to security vulnerabilities and contrasting it with the Harvard architecture. The class then introduced the x86 complex instruction set computing (CISC) family, including its historical development, segmented memory addressing, registers, flags, assembly directives, procedures and conditional jumps. Students used an x86 simulator to identify labels and instructions, perform hexadecimal arithmetic, apply AND and OR masks, and compare register and direct variable addressing.

5. Peripherals, Buses and Systems-on-Chip

The session completed work on x86 assembly language using a simulator to trace programs, identify addressing modes, and verify that a program added two memory values and stored the result. Immediate, indirect, indirect-with-offset and direct addressing were compared, with direct addressing presented as a feature of CISC processors that can shorten code. Conditional comparison and jump instructions were used to represent an if/else structure, linking assembly language to high-level programming languages. The class then introduced peripherals, coprocessors, buses, chipsets and systems-on-chip, including processors, graphics and arithmetic units, trusted-platform security modules and neural-processing units, as well as the trade-offs between integration, performance and heat. Thermal throttling in a Raspberry Pi system-on-chip was examined through graphs, before an introduction to high-level languages, compilation, interpretation, operating systems and a planned Visual Studio Code activity in C.

6. Hardware Components and Software–Hardware Interaction

Students configured Visual Studio Code extensions to compile, run and debug C programs, although compilation issues led to a simplified approach and a move to Python exercises. They installed Python and the psutil library, then used a program to retrieve the number of logical processors and checked the result against Windows Task Manager. The session explained Python functions, division, division-by-zero errors, indentation, and the use of try and except to handle exceptions without terminating later instructions. It then covered the role of the motherboard, including buses, power distribution, component connectors, standards, modularity and compatibility. The class also examined computer start-up, firmware, BIOS and UEFI firmware interfaces, bootloaders, multibooting, virtual machines, and using Task Manager and benchmarks to inspect and compare hardware.

7. Cache Memory and Operating System Fundamentals

The session examined processor cache memory, including the roles of L1, L2 and L3 caches, their relative sizes, speeds and sharing between processor cores. A Python benchmarking activity was used to measure memory-access times for arrays of different sizes, then the program was corrected so that it accessed a constant number of elements and better revealed cache-level performance changes. The class then introduced operating systems as providers of services for hardware, processes, memory, files, devices and communication. It covered processes, scheduling and pre-emption, virtual memory, logical and physical addresses, paging, swapping, drivers and kernels. The session ended by comparing the Windows command prompt and PowerShell and using the dir command to inspect files and directories.

8. Command-Line Navigation, Files and Environment Variables

The session practised using the Windows Command Prompt and PowerShell to list files, create directories, navigate directory trees, create text files and display their contents. It explained command aliases, command history, tab completion, scripts, and shortcuts for stopping running programs. Students distinguished relative and absolute file paths and used both types of path in Python programs to open files. The class also covered executable files, file extensions, environment variables including PATH, and using Task Manager to end processes.

9. Turing Machines, Number Systems and RISC Revision

The session revised Turing machines as models of computation, including tapes, reading heads, state machines, graphical and tabular representations, and checks for complete deterministic transition coverage. Students designed machines to position the head on the least significant bit of a binary number and to decrement a binary number, using two’s complement and binary arithmetic. The class also practised converting numbers between binary, decimal and hexadecimal, including repeated division and four-bit hexadecimal transcodings. Finally, students used a RISC assembly simulator to trace a loop, interpret ASCII output, identify addressing modes, and compare RISC and CISC processor architectures.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

25hrs 5 ECTS

Introduction to Computer Networks

Networking principles, packet routing, addressing, TCP/IP configuration and security mechanisms including VLANs, firewalls and VPNs.

Enseigné par Thierry Vert
Inside the course

BSc · Year 1 · 11 sessions

Introduction to Computer Networks

Course code: FCS-002

Tracing a message through addresses, routes and services

The teaching followed how machines communicate, from a local Ethernet connection to routing between networks and using named services. Address calculations were paired with network simulation and packet inspection. Rather than treating protocols as an isolated vocabulary list, the sessions repeatedly asked what happens to a request, how its reply finds a way back, and which configuration or security rule affects that journey.

What the sessions explored
Addresses and boundaries

Binary calculations and subnet masks established which addresses belong together, which identify hosts, and where communication needs a router.

Packets and services

Simulations, captures and a small Python client/server example connected protocol behaviour with observable requests, responses and listening ports.

Controlled connectivity

Address translation, segmentation and filtering introduced ways to connect services while limiting unnecessary access and making network behaviour inspectable.

Explore the sessions
1. Network Foundations, Ethernet and Layered Models

The session introduced computer networks, including their development from early private networks to the interconnection of networks through Transmission Control Protocol/Internet Protocol (TCP/IP) and the Internet. It covered network hardware such as network interface cards, Ethernet cables, RJ45 connectors, hubs, switches and routers, as well as the distinction between local and wide area networks (LANs and WANs). Students learnt the Open Systems Interconnection (OSI) model and the simplified four-layer TCP/IP model, including encapsulation and the removal of headers as messages travel between source and destination. The class also examined Media Access Control (MAC) addresses, Ethernet frames, broadcast addresses, integrity checks and the differences between hubs and switches. Practical exercises compared point-to-point and star topologies, calculated cabling requirements, identified valid MAC addresses and interpreted Ethernet frame fields.

2. IPv4 Addressing, ARP and Subnet Masks

The session compared wired Ethernet and Wi-Fi at the physical layer, considering performance, throughput, range, mobility, number of connected devices and energy use. Students used Cisco Packet Tracer to explore connected local networks, network cabinets, routers, switches, cables and basic device connections. The class then introduced Internet Protocol version 4 (IPv4) addressing, explaining its decimal dotted notation, its role alongside MAC addresses, and the Address Resolution Protocol (ARP) mechanism used to associate IP and MAC addresses. Finally, students began working with subnet masks and Classless Inter-Domain Routing (CIDR) notation to identify network addresses, usable host address ranges and broadcast addresses.

3. ICMP Diagnostics and Switched Networks

The session reviewed the role of MAC addresses at network-access level and IP addresses at the IP layer, including the use of subnet masks to identify networks. It covered special IPv4 addresses, including broadcast, private address ranges, loopback, and addresses used in routing. Internet Control Message Protocol (ICMP) was introduced as a network diagnostic protocol, with practical discussion of ping and traceroute. Students used command-line tools to view IP and MAC details, ARP tables, and to convert addresses between decimal and hexadecimal notation. They also built a small switched network in Cisco Packet Tracer, observed MAC and ARP table updates, and calculated network addresses using a bitwise AND operation between an IP address and a subnet mask.

4. Subnet Calculation and Routing Fundamentals

The session reviewed how to calculate a network address by applying a logical AND operation between an IP address and its subnet mask. It explained how to identify usable host-address ranges, network addresses and broadcast addresses, including cases where ranges cross octet boundaries. Students practised classifying given addresses as network, host or broadcast addresses using dotted-decimal masks and CIDR notation. The class then introduced routers, routing tables, default routes, static and dynamic routing, time to live (TTL), and IP fragmentation, before beginning exercises on network topologies and the differences between switches and routers.

5. IP Fragmentation, Subnetting and Wireshark

The session covered IP fragmentation, including maximum transmission unit (MTU) limits, IP header overhead, fragment sizes and reassembly at the destination. It examined routing tables on computers, the default route and the role of the default gateway. Students practised subnetting an IPv4 network into multiple subnets by adapting the subnet mask and identifying network, host and broadcast addresses. They installed and used Wireshark to capture and inspect ICMP ping traffic, including MAC and IP addressing, then configured interconnected LANs in Cisco Packet Tracer and tested routing with ping commands.

6. Static Routing and Transport Protocols

The session began with a practical static-routing exercise in Cisco Packet Tracer, configuring reciprocal routes between two local networks through two routers and verifying connectivity with ping. It explained that routing rules require a destination network, subnet mask and next-hop router, and that routes are needed in both directions for replies to return successfully. The class then introduced the transport layer of the TCP/IP model, including client-server communication, ports, and the differences between TCP’s reliable byte-stream service and User Datagram Protocol (UDP)’s connectionless datagrams. TCP session establishment, acknowledgements, sequencing, flow control, checksums and connection closure were examined, alongside UDP’s simpler header and typical use for audio and video streaming. Practical Wireshark and Netstat activities inspected ARP, TCP and UDP traffic, identified ports and processes, and considered the security implications of unnecessary open ports.

7. Application Protocols and TCP Socket Programming

The session reviewed the TCP/IP model, including MAC addresses at the link layer, IP addressing and routing at the network layer, and the differences between TCP and UDP at the transport layer. It introduced the application layer and common protocols for email, web access and file transfer, including email, web and file-transfer protocols. The class examined client-server communication through requests and responses, the role of IP addresses and port numbers, and the use of sockets for TCP/IP communication. Practical activities used Python to create a local TCP echo server and client on the loopback address, inspect listening ports with Netstat, and use Scapy and Wireshark to build, send and capture packet headers.

8. DHCP Allocation and DNS Resolution

The session covered dynamic IP address allocation using Dynamic Host Configuration Protocol (DHCP), contrasting it with manual static configuration. It explained the DHCP exchange of Discover, Offer, Request and Acknowledgement messages, address leases, broadcast behaviour, and the role of routers when a DHCP server is on another local network. It also covered Domain Name System (DNS) resolution between domain names and IP addresses, fully qualified domain names, authoritative servers, caching, and primary/secondary DNS server redundancy. Students used command-line tools and packet capture software to inspect DNS queries, then configured DHCP and DNS services in a network simulator and observed the resulting traffic.

9. NAT, Port Translation and IPv6

The class examined how network address translation (NAT) allows devices using private IPv4 addresses on a local network to communicate with external servers through a router’s public address. It distinguished NAT from port address translation (PAT), where source ports can also be translated, and from port forwarding, which directs incoming traffic on specified ports to internal services. Internet Protocol version 6 (IPv6) was introduced as a response to IPv4 address exhaustion, including its 128-bit format, hexadecimal notation, shortened forms and the division between network and host information. Students then worked through exercises to construct NAT tables, trace request and response packets, calculate IPv4 subnet capacity, and create port-forwarding rules.

10. IPv6 Notation and Network Security

The session practised IPv6 address notation, including shortening addresses correctly, expanding abbreviated forms, and identifying address types and components such as network and interface parts. It introduced core network-security principles, especially least privilege and default denial. The class examined proxies and reverse proxies, virtual local area networks (VLANs), firewalls, demilitarised zones (DMZs) and virtual private networks (VPNs), explaining their roles in filtering traffic, segmenting networks, protecting remote access and encrypting communications. Activities included interpreting firewall rules using ports for proxy, DHCP, DNS and ICMP traffic, and designing a secure network layout using a firewall, demilitarised zone, segmented local networks and a remote-access VPN server.

11. IPv4 Subnetting, Routing and NAT Revision

The session revised IPv4 addressing, including checking whether dotted-decimal addresses are valid and identifying legacy address classes from leading binary bits. It then practised CIDR subnetting: deriving network addresses with a logical AND operation, calculating available host addresses, and finding network, broadcast, first and last usable addresses. Static routing tables were constructed by identifying directly connected networks, next-hop gateways, outgoing interfaces and default routes, with discussion of route optimisation. The session also reviewed NAT, port address translation and port forwarding for communication between private local networks and external networks.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

75hrs 5 ECTS

Fundamentals in Cloud Computing, with certification

Core AWS and Microsoft Azure concepts, with preparation for AWS Certified Cloud Practitioner or Microsoft Certified: Azure Fundamentals.

Enseigné par Luca Sainte-Croix
Inside the course

BSc · Year 1 · 30 sessions

Fundamentals in Cloud Computing, with certification

Course code: FCS-003

From cloud service choices to a working application

Cloud computing was approached through service choices, configuration work and the consequences of architectural decisions. The class explored Microsoft Azure and Amazon Web Services (AWS), moving between identity, networking, storage, compute and cost. Practical labs led towards a student-registration application: first a basic working version, then separate database services and a more resilient architecture. Certification revision accompanied the technical work without replacing it.

What students explored
Choosing services and responsibilities

Cloud service models, shared responsibility and consumption-based costs, examined alongside decisions about availability, security and the work retained by the customer.

Connecting and protecting resources

Identity policies, network boundaries, storage and databases, explored through configuration exercises that connected applications while restricting access to their underlying resources.

Developing a resilient application

Architecture diagrams, pricing assumptions, database separation, load balancing and scaling, brought together through successive stages of a cloud application lab.

Explore the sessions
1. Comparing cloud models and service responsibilities

Public, private and hybrid clouds were compared with infrastructure operated on premises. The session examined consumption-based pricing, availability, reliability and the ability to change capacity. Vertical and horizontal scaling introduced different ways to respond to demand, alongside load balancing and service-level agreements. Infrastructure, platform and software as a service provided a way to discuss which tasks remain with the customer. Students began setting up Azure learning accounts and exploring its management portal and Cloud Shell command-line environment.

2. Organising resources and deploying virtual machines

Azure's physical infrastructure was connected to its resource-management hierarchy. Regions, availability zones and region pairs were distinguished from resource groups, subscriptions and management groups. The class considered how virtual-machine scale sets and availability sets address different operational needs, including fault and update domains. Practical labs used both the portal and command line to create virtual machines and deploy a basic web server. Shared responsibility and service models were revisited as context for deciding what these deployments required students to manage.

3. Selecting compute and controlling network access

Virtual machines, virtual desktops, containers and serverless functions introduced different balances of control, portability and operational responsibility. The class compared container services and orchestration with virtual machines, then moved into virtual networks, subnets, routing and access rules. Students configured an inbound rule to reach a web server, making network permissions part of the practical work. Private connectivity, network address translation, virtual private networks and dedicated connections extended the discussion beyond simply making a service reachable from the internet.

4. Storing data and introducing cloud identity

The Domain Name System (DNS) introduced name resolution and regional failover before the class turned to Azure storage. Storage accounts, redundancy, durability and access tiers framed the differences between object, disk, queue, file and table services. Students practised creating an account and object-storage container, including its public-access settings. Encryption, deletion protection and migration tools were also covered. Microsoft Entra ID then introduced identity management, distinguishing authentication from authorisation and examining groups, multi-factor authentication, single sign-on and conditional access.

5. Restricting access and estimating service costs

Identity management developed into role-based access control, with scopes and reader, contributor and owner roles. Least privilege, defence in depth and time-limited access provided a framework for discussing network protection, encryption and vulnerability management. Students completed a knowledge quiz, then used Azure's pricing calculator to estimate a web application, database and application gateway. Cost monitoring, budgets, tags, resource locks and policy controls connected those estimates to ongoing administration. Data discovery, classification and lineage were introduced through Microsoft Purview.

6. Connecting events, functions and infrastructure definitions

An Azure Function App lab linked an object upload to code that placed the object's name in a storage queue. Students completed this event-driven example, illustrating how services can communicate without doing all their work in one process. The class then examined infrastructure as code through Azure Resource Manager templates and Bicep. JavaScript Object Notation (JSON) template structure, authorisation and monitoring tools connected deployment definitions to their operation. A knowledge quiz and certification-preparation guidance concluded the session.

7. Exploring AWS services and cloud economics

The AWS section began with a guided documentation activity covering virtual machines, object storage, serverless functions and command-line interactions. Students encountered application programming interfaces as part of connecting cloud services. Economies of scale and architectural diagrams were considered alongside the Cloud Adoption Framework's business, people, governance, platform, security and operations perspectives. Pricing discussions included consumption charges, reservations, total cost of ownership and budget reporting. Support plans were compared, and students were directed to a knowledge check on the billing material.

8. Choosing regions and introducing access management

Support-plan scenarios asked students to recommend an appropriate level of assistance. The session then examined regions, availability zones and edge locations, considering compliance, proximity, service availability and cost when choosing where to deploy. Console exploration distinguished regional services from global ones. Identity and Access Management (IAM) introduced users, groups, roles, policies and access keys. Multi-factor authentication and least privilege placed those mechanisms within the shared-responsibility model, rather than treating access as a single account-setting exercise.

9. Reading policies and testing different permissions

IAM policies were examined as statements containing actions, resources and conditions. The class considered wildcards, explicit denial and the distinction between identity-based and resource-based policies. Students completed a lab assigning users to groups with different storage and compute permissions, then reviewed its results. Roles and temporary credentials were contrasted with routine use of the root account. Encryption, activity logging, account controls and protection against distributed denial-of-service attacks broadened the discussion from individual permissions to account security and monitoring.

10. Designing public and private network boundaries

Networking centred on a Virtual Private Cloud (VPC), its address ranges, subnets and route tables. Internet gateways and private-network connectivity were considered alongside peering, transit connections and service endpoints. The class compared security groups with network access control lists, including their scope and stateful or stateless filtering. Students completed classification and diagram activities, designing a highly available website with a private database. Earlier identity and key-management concepts were revisited through questions before these network designs were developed.

11. Building a network for redundant web services

A network architecture spanning two availability zones introduced redundant web servers, public and private subnets, and controlled traffic paths. Students completed a lab creating a VPC, subnets and route tables, then launched a web server with a security group allowing web traffic. Startup scripts installed and started the service. The class also examined network interfaces, DNS routing and health-check failover. Infrastructure templates and CloudFront's edge caching connected the local deployment exercise to repeatable provisioning and content delivery.

12. Configuring and changing a virtual server

Amazon's Elastic Compute Cloud (EC2) service was explored through machine images, instance families, storage, networking and access configuration. In a lab, students deployed a web server, enabled web access, changed its instance type, resized storage and examined status checks. The session distinguished durable attached storage from temporary instance storage and considered snapshots and monitoring. Pricing models, including on-demand, reserved and spare-capacity instances, introduced cost choices that depend on workload characteristics rather than a single universally preferable configuration.

13. Scheduling functions and comparing managed compute

Students created a scheduled Lambda function that stopped an EC2 instance. The activity connected event-driven execution with permissions, schedules and logging, while the class examined runtime limits and retry behaviour. Containers and their orchestration were then compared with virtual machines through Docker and AWS container services. Elastic Beanstalk introduced a managed application platform, including the scaling, load balancing and other resources behind it. The session therefore considered both small automated tasks and broader application-deployment options.

14. Comparing database responsibilities and storage types

An activity compared running a database on a virtual machine with using a managed relational database service. Provisioning, configuration, backups, patching and recovery made the division of responsibilities concrete. Compute pricing was reviewed in relation to predictable demand and cost constraints. The class then introduced block storage, snapshots, encryption and performance measures before examining object storage. Buckets, access control, durability, retrieval times and storage classes showed why selecting storage requires attention to how data will be used.

15. Attaching storage and recovering a snapshot

Students attached, formatted and mounted a block-storage volume, created a snapshot and restored it to another volume. Comparing the data made recovery part of the lab rather than merely a listed service feature. Object storage was revisited through policies, versioning, lifecycle rules and replication. Shared file storage introduced access from multiple instances and the importance of mount points, network rules and encryption. Archival storage completed the comparison, with retrieval options considered against long-term retention needs.

16. Matching storage and introducing relational databases

Case studies asked which storage services suited event data, email and compliance retention. Retrieval speed, cost and lifecycle policies shaped the comparison between frequently accessed and archived data. The session then introduced relational tables, keys and relationships, including linking tables and joins in Structured Query Language (SQL). Amazon Relational Database Service (RDS) provided the cloud setting for these concepts. Private deployment, multi-zone failover and read replicas introduced different concerns within a managed database architecture.

17. Connecting an application to a managed database

A lab involved creating a MySQL database in RDS and configuring security groups so a web application could access its data. The class distinguished multi-zone failover from read replicas, explaining their different replication and availability roles. Database services beyond the relational model were then introduced. DynamoDB illustrated key-based access, flexible records and the distinction between queries and scans. Redshift introduced distributed analytical processing, extending the comparison from operational application storage to large-scale aggregation and analysis.

18. Selecting database services for different workloads

Relational databases, flexible key-value storage and data warehouses were compared through RDS, DynamoDB, Redshift and Aurora. The discussion included availability, distributed storage and variable workloads. Students worked through cases involving migration, large-scale storage and e-commerce, choosing services before completing a knowledge check. Load balancing then introduced another part of application architecture. Listeners, target groups and health checks explained how incoming requests can be directed to available resources, preparing the ground for later work on monitoring and scaling.

19. Linking monitoring to changes in capacity

Different load balancers were compared through their routing capabilities, network layers and health checks. Students selected suitable types and assessed example alarm definitions. CloudWatch introduced logs, metrics, notifications and event-driven responses, with demonstrations of log groups, streams and alarm configuration. The class then examined automatic scaling groups and policies. Connecting alarms, scaling and load balancing showed how observed demand can lead to capacity changes, rather than leaving monitoring as a dashboard separate from application behaviour.

20. Assembling a resilient web application lab

Students completed a lab combining an application load balancer, an automatic scaling group, private virtual machines and processor-utilisation monitoring. The session examined traffic distribution, removal of unhealthy targets and capacity changes in response to demand. Earlier work on listeners, health checks and alarms was revisited within this assembled architecture. The AWS Well-Architected Framework then introduced a broader review method: its six pillars and design questions offered ways to examine a cloud system beyond whether it currently runs.

21. Reviewing operational practice and security choices

A case-study company's rendering and printing workflows provided material for an architecture review. Queues, redundant resources, health checks and deployment approaches were discussed in relation to resilience and downtime. Operational excellence included observability, automated recovery, small reversible changes and learning from incidents. Security was considered through least privilege, traceability, data protection and preparation for failures. Restrictive network rules and controlled external data access connected those principles to concrete architectural choices in the example, rather than abstract recommendations alone.

22. Planning for failure and recovery

The reliability discussion examined availability targets, fault tolerance, recovery and repair time. Scenarios considered deployments across availability zones, cross-region data replication, load testing and scaling configuration. The class revisited permissions and data protection, then examined performance choices such as instance selection, caching and read replicas. Cost optimisation included scheduled capacity changes, spare-capacity instances, storage classes and managed databases. These discussions connected resilience, performance and cost without presenting any one of them as a substitute for the others.

23. Using review tools and planning an application

The Well-Architected Tool was demonstrated through workload definitions, review questions, identified risks and improvement reports. Trusted Advisor introduced recommendations concerning costs, security, performance and service limits, illustrated through account protection, network exposure and storage checks. Reliability, fault tolerance, scalability and elasticity were revisited. Students then began planning a longer-running application lab, starting with an architecture diagram for a secure, scalable and highly available web application with a database, alongside the need to estimate its costs.

24. Designing a student-registration service

The first project phase asked students to design a secure, highly available architecture for a university student-registration application. Multiple availability zones, a load balancer, a private database and appropriate security groups formed its main components. Guidance focused on clear diagrams and documented design decisions, with route tables offered as an additional detail. Students also began pricing estimates that accounted for seasonal admissions peaks. They were asked to explain assumptions and avoid unnecessary default configurations when presenting the proposed system.

25. Refining traffic paths and credential handling

The class reviewed how a public load balancer can forward traffic to private web servers within a multi-zone architecture. Security-group references were compared with fixed network addresses for controlling connections between the load balancer, application and database. Statefulness, restricted administrative access and route tables were also discussed. Secrets Manager introduced a way to store database credentials separately from application code. Students were asked to finalise diagrams, security-group tables and justified cost estimates before moving into the next lab phase.

26. Costing and building a proof of concept

Pricing review covered instance sizing, capacity commitments, scaling, backups, monitoring and secrets management. The class considered how availability requirements affect costs before introducing a proof of concept as a minimal working demonstration of viability. Students began constructing one using a network, subnet and Ubuntu virtual machine. Startup configuration installed a web server and local MySQL database, and access was tested through the public address. Resource shutdown was explicitly discussed to avoid charges from leaving the lab running unnecessarily.

27. Separating database and application services

The next lab phase introduced a private managed MySQL database and a separate web server. Students were shown the deployment arrangement and how a cloud development environment could act as an intermediary for database export and import. The session examined database-port access, public and private subnet placement, and the use of a secrets service to avoid hard-coded credentials. Cloud9 provided the development environment within the virtual network, while MySQL export and import commands illustrated the movement of the application's data.

28. Checking individual application environments

Students continued configuring their application environments and received individual checks on their progress. Those further ahead were encouraged to try accessing their database from their own computer. The next phase was introduced briefly, with completion of the lab intended for the following session.

29. Adding load balancing and automatic scaling

The session revisited database migration, record checks and credential-related access errors before focusing on high availability. Machine images and launch templates supported an automatic scaling group behind an application load balancer. The class examined instance permissions for retrieving secrets, target registration and private access to the secrets service. Scaling thresholds, minimum capacity, notifications and load testing were discussed. Attention to these connections helped distinguish the new architecture from simply retaining an earlier standalone server behind the same interface.

30. Revisiting concepts through certification practice

Practice questions revisited Azure and AWS concepts across compute, networking, storage, identity, governance and cost. Azure material included resource organisation, availability, service models, policies and monitoring. AWS questions covered architectural and financial foundations alongside permissions, virtual networks, content delivery, virtual machines and attached storage. Shared responsibility and cost-management approaches were revisited alongside the service-specific questions. Learners were directed to practice assessments and study resources, bringing the account's configuration work and architectural discussions back into preparation for the cloud examinations.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

Standard Systems and Solutions 100hrs • 17 ECTS
25hrs 4 ECTS

Operating Systems

Bare-metal installation, system configuration, networking, virtualisation and automation with PowerShell and Linux shell scripting.

Enseigné par Clément Ziane
Inside the course

BSc · Year 1 · 11 sessions

Operating Systems

Course code: SSS-001

Inspecting, administering and scripting the systems beneath applications

Operating-system concepts were explored alongside the tools used to inspect and administer real machines. The sessions connected process scheduling, memory and permissions with Windows administration, PowerShell, Linux commands and virtual machines. Guided exercises moved between graphical interfaces and scripts, comparing how the same kinds of tasks can be expressed and checked. Backup, access control and recovery were part of that practical work.

What the sessions explored
Resources and permissions

Processes, memory, file systems and access rights explained the services an operating system provides and the boundaries it maintains.

Commands and automation

PowerShell and Linux exercises used paths, pipelines, text processing and scripts to inspect files and perform repeatable administrative tasks.

Isolated machines and recovery

Virtual-machine activities introduced resource allocation, installation, remote administration and checkpoints as practical tools for testing and restoring system state.

Explore the sessions
1. Operating System Fundamentals and Resource Management

The session introduced the role of an operating system as the interface between hardware and software, including resource allocation, security and application isolation. It covered process management and scheduling methods, including first-in, first-out (FIFO), priority scheduling, shortest-remaining-time scheduling, round robin scheduling and multilevel queues, with attention to starvation and pre-emption. Memory management was explored through contiguous allocation, segmentation, paging, virtual memory and fragmentation. The class also introduced file systems, comparing the FAT family and NTFS file systems, and discussed file storage, allocation tables and defragmentation. Different operating-system types, including Windows, Linux-based systems, server, embedded and mobile systems, were outlined, along with graphical interfaces, command lines and scripting.

2. Windows 11 Interface and System Administration

The session introduced Windows as a proprietary operating system, covering its architecture, driver support, advantages and limitations, and key Windows 11 security and productivity features. It demonstrated the Windows interface, including the taskbar, Start menu, notifications, Snap layouts, virtual desktops and File Explorer. Students were shown how to manage files, reveal file extensions and hidden items, access remote resources, search for files, and review disk usage and temporary files. The class also covered Task Manager for monitoring processes, resource use, start-up applications, users and services, followed by an introduction to Event Viewer for investigating system events and errors.

3. Windows Permissions, Security and Control Panel

The session covered Windows file security, including user and group permissions for reading, writing, executing and taking full control of files and folders. It explained permission inheritance, explicit permissions, folder traversal, and the importance of considering the full path when granting access. The class then reviewed Windows Control Panel categories, including security and firewall rules, scheduled tasks, encryption with BitLocker, network settings, hardware and drivers, programs and optional Windows features, user accounts, display settings, fonts, regional formats, accessibility settings and time synchronisation. Finally, it introduced the Windows Registry as a hierarchical configuration database, described its keys and values, demonstrated the Registry Editor, and stressed backing up the registry before making changes.

4. PowerShell Cmdlets, Pipelines and File Management

The session introduced PowerShell as a cross-platform command-line tool and scripting language for Windows administration. It explained cmdlets, their verb–noun structure, aliases, parameters, relative and absolute paths, and the use of objects rather than plain text as command output. Students practised navigating folders and creating, viewing, editing, copying, moving, renaming and deleting files and directories. The class also covered pipelines for filtering and sorting command output, redirection of normal output and errors to files, and discarding output. Finally, it demonstrated the structure of PowerShell scripts, including variables, loops, conditional statements, parameters and execution-policy requirements.

5. PowerShell Data Processing and Scripting Workshop

The session was a practical PowerShell workshop on command-line file and folder manipulation. Activities covered listing files, filtering by extension, displaying directories, reading and editing file contents, replacing text, and using pipelines to create summary files. Students also practised searching and counting entries in log files, recursively finding files, filtering by modification date, and copying selected files. The class introduced environment variables, including their use for system and application paths, and covered importing, selecting and filtering data from comma-separated values (CSV) files. Script-writing exercises using loops, conditional statements and functions were assigned for later completion.

6. PowerShell Recursion and Linux Introduction

The session reviewed PowerShell scripting through iterative and recursive implementations of factorials, including input validation, type casting, loops, function calls and recursion base cases. It compared iterative and recursive approaches, noting recursion’s memory use and risk of stack overflow. The class then introduced Linux and Ubuntu distributions, open-source software, and the principle that Linux treats devices and system resources as files. Students installed Ubuntu through the Windows Subsystem for Linux and explored the Linux directory structure, users, groups, file permissions and numeric permission modes.

7. Linux Shell Commands and Process Control

The session reviewed Linux as an open-source operating system in which many resources, including devices, are treated as files, and revisited the Linux directory structure, users, groups and file permissions. It introduced the shell, working directories, relative and absolute paths, and common commands for listing, navigating, creating, deleting, copying and moving files and directories. File contents were examined using commands such as cat, less, head and tail, alongside output redirection, pipes and basic text filtering. The class also covered process inspection and control, command documentation, user and group administration, and changing ownership and permissions. Finally, it introduced simple Bash scripts, including shebang lines, executable permissions, variables and command-line parameters.

8. Linux Text Processing and Bash Scripting

The session introduced a guided Linux command-line lab on file and directory manipulation, including copying, renaming, permissions, backups and redirection. It covered viewing parts of text files with head and tail, counting lines with wc, and searching text with grep. Regular expressions were explained as patterns for matching text, including case-insensitive searches, optional characters and version-like strings. The class also demonstrated awk for processing fields and lines, and sed for replacing text in streams or redirected output files. Finally, Bash scripting was introduced through iterative and recursive factorial functions, user input validation, variables, loops, conditions and executable script permissions.

9. Virtual Machines, Hypervisors and Operating-System Images

The session introduced virtual machines as software-based simulations of complete computers, including virtual hardware as well as an operating system. It distinguished virtual machines from containers and subsystems, emphasising isolation, hardware emulation and the role of a hypervisor in allocating processor, memory, storage, networking and device resources. Uses discussed included safely isolating untrusted software, testing hardware configurations, running multiple workloads on one physical machine, cross-platform testing and cloud hosting. The class also covered operating-system images, snapshots and checkpoints for deploying, cloning, restoring and backing up machine states. A demonstration showed how to enable Hyper-V, create and configure a Windows virtual machine, install an operating system from an disc image, clone a virtual disk and revert a machine to a checkpoint.

10. Hyper-V Ubuntu Deployment and Remote Administration

The session was a practical lab on creating and configuring an Ubuntu virtual machine using Hyper-V. It covered virtual machine generations, memory allocation, virtual disks, Ubuntu installation and resolving secure boot issues. Students updated package lists, installed administration tools, configured a firewall to permit Secure Shell (SSH), and tested remote access from the Windows Subsystem for Linux. The lab also introduced secure copy (SCP) for secure file transfer and used checkpoints plus export and import operations to practise virtual-machine backup and recovery.

11. Operating Systems Comprehensive Revision

The session reviewed the role of an operating system, including kernel functions for process scheduling, memory management, file systems, security and user interaction through graphical and command-line interfaces. It covered scheduling approaches such as FIFO, round robin, priority scheduling and shortest remaining time first, with emphasis on avoiding starvation. Memory concepts included paging, segmentation, internal and external fragmentation, and virtual memory. The class also revised Windows and Linux file systems, PowerShell pipelines and redirection, core Linux commands, processes, users, groups and file permissions, including the execute permission on directories. Finally, it defined virtual machines and hypervisors, explaining their isolation, snapshot and multi-operating-system benefits, followed by a short practice quiz.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

25hrs 5 ECTS

Relational Database Management Systems

Installation, configuration and introductory administration of relational database systems including MySQL and Microsoft SQL Server.

Enseigné par Hanna Abi Akl
Inside the course

BSc · Year 1 · 9 sessions

Relational Database Management Systems

Course code: SSS-002

Taking a relational design into an administered database

A relational model becomes an operational system through installation, configuration, queries and maintenance. These sessions used Microsoft SQL Server to explore that transition. A films database provided a recurring example for relationships, views, stored procedures and data changes. Students also examined authentication, backups and transactions, keeping database structure connected to the practical responsibilities of running and modifying a service.

What the sessions explored
Installing and connecting

Client/server architecture, virtual machines and authentication framed the practical setup of a database engine and its administration tools.

Queries and controlled changes

A films schema supported work on Structured Query Language (SQL), views, stored procedures, triggers and transactions, including checks before modifying data.

Maintaining the data model

Aggregation, backup, restoration and migration exercises considered how an existing database can be investigated, protected and changed without ignoring its relationships.

Explore the sessions
1. Relational Databases and Client–Server Architecture

The session introduced relational database management systems as the practical continuation of relational modelling and Structured Query Language (SQL), covering database installation, configuration, data loading, querying, performance and maintenance. It distinguished structured relational data, represented in fixed table structures, from unstructured or variable data that may require non-relational key–value designs, using books and video-game statistics as examples. The class explained databases as client–server systems, with a client interface or program connecting to a database server for querying, storage, backups, encryption and security. It also covered database connections through software, websites or back-end code, including connection details such as host, database name and user credentials, alongside administrator-controlled permissions. Finally, it compared proprietary and open-source database systems, including their costs, support and security considerations, and identified common examples.

2. SQL Server Installation Options and Licensing

The session reviewed relational database management systems as client-server architectures, in which the database server is accessed through a client interface rather than directly. It compared three ways of interacting with databases: application code and application programming interfaces (APIs), websites, and dedicated client software, with SQL used to query relational databases. The class introduced the planned installation of Microsoft SQL Server and SQL Server Management Studio, and explained the Windows version requirements and how to access an Education licence. It also covered local, virtual-machine and hybrid installation models, explaining virtual-machine isolation, resource allocation, Hyper-V configuration, and the need to install an operating system disc image on a virtual machine.

3. Virtual Machines and SQL Server Configuration

The session reviewed client-server architecture in relational database systems, distinguishing the database server’s roles in storage, security, backups and query optimisation from the client used to send SQL queries. It explained how to create a Windows virtual machine with Hyper-V, allocate suitable resources, install a Windows operating system and apply basic virtual-machine security practices. Students were guided through installing Microsoft SQL Server and selecting the database engine, analysis services and client connectivity features, then configuring services to start automatically. The class also covered Windows and SQL Server authentication, strong administrator passwords, installation logs for troubleshooting, and use of SQL Server Management Studio to connect to the server.

4. SQL Server Management Studio and Data Modelling

The session introduced Microsoft SQL Server Management Studio as a client for connecting to and working with a database server, including checking server services and using Windows or SQL Server authentication. It explained the Object Explorer and SQL workbench, the purpose of database backups, and the create, read, update and delete (CRUD) operations that can be performed graphically or through SQL. Students revised relational modelling by designing a films database with country, artist, user, film, rating and role entities, identifying one-to-many and many-to-many relationships, foreign keys and reified relationship tables. Functional dependencies were written to support a third normal form design. A films database and country table were then created in SQL Server, with column data types, null constraints, a primary key, indexing and sample country data added and queried through the graphical interface.

5. Views, Relational Algebra and Stored Procedures

The session reviewed database views as reusable, up-to-date results of frequently needed and potentially complex queries. A film database example was used to derive a query in relational algebra and translate it into SQL using projections, selections, aliases and an inner join. The class then introduced Transact-SQL as an extension that provides programming-style features, including variables, conditions and stored procedures. A new genre table was created with an auto-incrementing identity primary key, and a stored procedure was developed and tested to add a genre only when it did not already exist.

6. T-SQL Procedures, Counting and Collation

The session reviewed programmatic SQL in SQL Server, including the distinction between functions and stored procedures, variables, conditions and automation. It examined how COUNT behaves with non-null values, COUNT(*), and arbitrary inputs, and explained why stored procedures are useful for database operations that do not necessarily return a value. The class developed a stored procedure to add a film genre only when it does not already exist, helping to maintain consistency between film and genre tables. Database collation was covered, particularly case sensitivity and accent sensitivity, and how these settings affect text queries. Finally, triggers were introduced and implemented so that inserting a new film automatically calls the stored procedure to add its genre when needed.

7. Triggers, Transactions, Backups and Restoration

The session reviewed T-SQL automation using stored procedures and triggers, including the use of the virtual inserted table to add new film genres only when they do not already exist. It introduced database transactions as a way to protect sensitive SQL operations, control concurrent access and prevent conflicting updates or deletions. A practical example used BEGIN TRANSACTION, ROLLBACK and COMMIT to show how one user’s operation can be held safely while another user decides whether to keep or undo a deletion. The session also covered database backups, versioning and restoring a complete database from a .bak file in SQL Server Management Studio.

8. Aggregation, Subqueries and Division Queries

The session reviewed the films database schema, including entities and reified many-to-many relationships such as ratings and roles. Students learnt to use COUNT and GROUP BY to aggregate data, producing a report of how many films each actor has appeared in, and ORDER BY to sort query results. The class then developed a query using GROUP BY, HAVING, COUNT(DISTINCT ...) and subqueries to identify actors who have appeared in every film, while considering duplicate roles in the same film. Finally, it introduced division queries using nested NOT EXISTS conditions as a reusable approach for questions of the form ‘find all A entities associated with every B entity’.

9. Cursors and Genre Table Migration

The session introduced database cursors in T-SQL as pointers that process table rows one at a time, using loops and requiring declaration, opening, fetching, closing and deallocation. A cursor was used to migrate a films database from storing genre names directly in the film table to storing genre identifiers linked to a separate genre table. The class added and populated a genre identifier column, investigated missing values caused by inconsistent data, removed the redundant genre-name column, and created a foreign-key relationship. It also showed how to inspect table relationships by generating a database diagram in SQL Server Management Studio.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

25hrs 4 ECTS

Web Application Systems

Installation and administration of web servers, SSL/TLS certificates and WordPress-based content management systems.

Enseigné par Clément Ziane
Inside the course

BSc · Year 1 · 10 sessions

Web Application Systems

Course code: SSS-003

Connecting web pages to servers, data and administration

The sessions followed a web application beyond its visible pages. Students worked with local server stacks, request and response behaviour, database connections and WordPress administration. Windows and Linux configurations provided different settings for similar tasks. Access permissions, encrypted connections and backups appeared alongside page construction, showing how the content a visitor sees depends on services and configuration that remain behind it.

What the sessions explored
Requests and server behaviour

Web protocols, virtual hosts and PHP applications connected browser actions with server-side processing, data changes and protected administration areas.

Deploying the supporting services

Linux server exercises brought together web serving, PHP processing, databases, certificates and permissions, with checks on configuration and access.

Managing and presenting content

WordPress, themes, plugins and Elementor introduced editorial structure, responsive layouts, accessibility and maintenance as parts of an operating website.

Explore the sessions
1. Web Systems Architecture and Secure Protocols

The session introduced web systems as architectures that exchange data between clients and servers through request–response communication. It covered the roles of web servers, databases and web applications, including examples of server software and database technologies. The distinction between front-end and back-end development was explained, along with the roles of HyperText Markup Language (HTML), Cascading Style Sheets (CSS), JavaScript, server-side languages and frameworks. The class examined web protocols, particularly Hypertext Transfer Protocol (HTTP), HTTP over Transport Layer Security (HTTPS), file-transfer protocols and Secure Shell (SSH), including encryption, certificates and protection against interception. It also explored HTTP requests, headers, bodies and methods such as GET, POST, PUT and DELETE, followed by a brief demonstration of configuring a web server and HTTPS redirection.

2. HTTP Methods and Apache PHP Development

The session reviewed the architecture of web systems, including clients, web servers, web applications, databases, front-end and back-end roles, and HTTP/HTTPS communication. It explained HTTP requests, headers, request bodies and the intended use of GET, POST, PUT and DELETE methods, including the distinction between repeatable PUT operations and POST side effects. Students installed and started a local Windows, Apache, MySQL and PHP (WAMP) environment, tested Apache through localhost, created a basic PHP project and observed how server-side PHP generates HTML responses. The class also covered Apache virtual hosts, local subdomains, phpMyAdmin and basic database management, then used a small PHP application to retrieve, add and delete user records while inspecting the associated GET and POST requests.

3. WAMP CRUD Applications and Directory Authentication

Students practised configuring a local web application environment using WAMP, PHP and SQL scripts. They set up a website supporting project creation, deletion and updating, including image-file uploads through HTML forms and POST requests. The activity involved placing supplied files correctly, configuring a local domain name, restarting services and checking that the application worked. Students also created a protected administration folder using web-server password protection and an encrypted password value. The session concluded with a planned comparison of the equivalent configuration under Microsoft Internet Information Services (IIS).

4. Nginx, PHP-FPM and TLS Configuration

The session introduced Nginx as an event-driven web server and compared its role with Apache. Students installed, started and checked the status of Nginx on Ubuntu, then explored its main configuration, logging, worker processes, site directories and symbolic links used to enable sites. They created a local virtual host, configured its document root, server name, locations and access permissions, and tested static HTML delivery. The class then connected Nginx to PHP FastCGI Process Manager (PHP-FPM) to process PHP files, before configuring a self-signed Transport Layer Security (TLS) certificate and redirecting HTTP requests to HTTPS. The next practical activity was outlined as extending this setup with a PHP application and MySQL or MariaDB.

5. MySQL Security and phpMyAdmin Deployment

The session covered installing and configuring MySQL and phpMyAdmin alongside Nginx, PHP and PHP-FPM. Students were asked to secure a new MySQL installation by removing anonymous users, test databases and weak authentication options, then practise creating, deleting and editing databases through phpMyAdmin. A demonstration showed how to deploy phpMyAdmin on a cloud server using Domain Name System (DNS) records, SSH, Nginx configuration and an HTTPS certificate. The configuration included restricting access through IP allow-listing, denying other connections, using TLS settings and caching static files. The forthcoming work on deploying and securely managing a WordPress content management system was introduced.

6. WordPress Installation, Structure and Administration

The session introduced WordPress as a content management system, including its history, common uses for blogs, business sites and e-commerce, and the distinction between WordPress.com hosting and self-hosted WordPress.org. It covered themes, plugins, user roles, accessibility, search engine optimisation (SEO), security updates, backups and the importance of community support. The structure of a WordPress installation was explained, including the MySQL database tables used for posts, users, settings, categories and metadata. Students set up a local WordPress site using Wamp, created a database, completed the installation and explored the administration dashboard. Practical work covered creating and publishing posts and pages, using the block editor, adding categories, tags and media, managing users, and configuring home pages, search-engine visibility and permalinks.

7. WordPress Themes, Child Themes and Plugins

The session covered WordPress themes, including installing and switching themes, understanding how themes change layout without changing page content, and customising site identity, colours, typography and page settings. It explained how to create and edit navigation menus, including external links and opening links in a new tab. The class introduced theme file editing and child themes as a safer way to customise a theme without altering the original files, as well as the role of page templates. It then covered WordPress plugins: installation, activation, dependencies, deactivation, removal, troubleshooting conflicts, updates and backups. Students began a practical exercise using plugins for security, import/export, redirects, backups and multilingual content.

8. Elementor Layouts and Responsive Design

The session introduced Elementor as a WordPress page-builder plugin for creating and customising web pages through containers, layouts and widgets. It covered using flexbox containers and columns, adding headings, text, images and videos, and applying typography, alignment, colours, margins and padding. The importance of semantic heading levels for page structure and search-engine indexing was explained, alongside responsive sizing units such as pixels, em, rem and viewport width. Students also learnt about templates, page structure navigation, previewing content, and the possibilities for adding custom HTML, JavaScript and, more generally, extending Elementor. The practical activity involved building and experimenting with a complete page layout in Elementor, with an optional contact-form task.

9. Linux WordPress Stack Deployment

The session demonstrated how to set up a WordPress website from scratch on Linux using Windows Subsystem for Linux (WSL). It covered updating packages, installing and testing Nginx, MariaDB, PHP and PHP-FPM, and configuring phpMyAdmin. The class configured an Nginx virtual host with HTTP-to-HTTPS redirection, a self-signed certificate, PHP FastCGI handling, caching and upload-size settings. It also created a database and restricted database user for WordPress, installed WordPress, set permissions and completed its initial configuration. The project assessment was explained, including the importance of server configuration, WordPress pages and plugins, and submitting command history and configuration files.

10. WordPress Portfolio Project Requirements

The session explained the individual project to build and configure a WordPress portfolio website on a complete Linux, Nginx, MySQL/MariaDB and PHP stack. Requirements included HTTPS access through dev.localhost, HTTP-to-HTTPS redirection, a self-signed TLS certificate, PHP-FPM, upload limits, caching, secure permissions and a dedicated database user. The project also required WordPress configuration, a suitable portfolio theme, structured pages and navigation, and plugins for security, contact forms, backups, multilingual content and Elementor. Guidance was provided on submission materials, including configuration files, installation commands, database scripts, certificate files and a zipped project, alongside advice on testing configurations and using the support session.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

25hrs 4 ECTS

Systems and Applications for Enterprise Collaboration

Administration of on-premises, cloud and hybrid collaboration environments using Active Directory, Azure AD, Exchange, Teams and SharePoint.

Enseigné par Dora Sabino
Inside the course

BSc · Year 1 · 9 sessions

Systems and Applications for Enterprise Collaboration

Course code: SSS-004

Connecting collaboration tools to identity and organisational responsibility

Microsoft 365 provided a practical setting for examining how an organisation manages collaboration. The class connected email, meetings and shared documents to the less visible decisions behind them: domain control, user identities, permissions, data handling and staff departures. A fictional company with several offices and external collaborators gave these decisions a common context, with configuration demonstrations and design activities kept distinct from completed deployments.

What students explored
Identity across the organisation

Users, groups, roles and account lifecycles examined as connected decisions affecting permissions, security, collaboration and the cost of assigning licences.

Domains and service readiness

Domain verification, email routing and authentication examined alongside the order in which a collaboration platform should be configured and made available.

Controlled collaboration

External access, meeting settings, retention and access reviews connected to organisational responsibilities, using security incidents and a fictional company as discussion material.

Explore the sessions
1. Connecting enterprise services with identity and governance

Networking, domain names and client–server interactions established the systems context for collaboration platforms. The Domain Name System (DNS) connected service names to their infrastructure. Identity, authentication and authorisation were distinguished, alongside groups, roles and least privilege. Central administration, external access, data sovereignty and regulatory considerations were introduced. Students considered a growing company operating in two countries, identifying its needs for email, meetings, shared documents and access control rather than starting with a list of product features.

2. Learning from a breach before designing services

A security-breach case study examined social engineering, repeated authentication prompts, excessive permissions, exposed credentials and poor offboarding. Managed collaboration platforms were introduced as a way to centralise communication, identities, sharing and audit records. Students began identifying gaps and priorities for a fictional company moving away from personal accounts and informal tools. Domain control, central directories and controlled external access were considered together, showing how networking, identity, services and administration depend on one another in the proposed environment.

3. Examining shared responsibility and data handling

Weak account and domain management illustrated how operational, security and legal problems can compound. The General Data Protection Regulation was discussed through retention, consent records and restricted access to personal information. Infrastructure, platform and software service models framed the responsibilities of providers and customers. The class examined tenant isolation, virtualisation and scalability, then considered jurisdiction, sovereignty, contractual service levels and vendor dependence. Selecting a collaboration platform was therefore treated as an organisational decision as well as a technical one.

4. Introducing tenant setup and email configuration

Microsoft 365 tenant setup introduced administrator accounts, users, licences, settings and service health. A custom domain connected these arrangements with professional email and consistent service naming. The class examined domain-verification and mail-routing records, alongside email-authentication mechanisms. Students were encouraged to explore tenant creation where possible; a shared demonstration environment was planned rather than already established for everyone. Multi-factor authentication, restricted administrative roles, credential storage, offboarding and phishing awareness were considered alongside the practical setup sequence.

5. Reading DNS records and email-authentication policies

The distributed DNS hierarchy was examined through root servers, registrars, authoritative servers and zones. Caches and time-to-live values helped explain why record changes may appear at different times. Learners interpreted records for domain addresses, aliases, mail routing and verification. Email authentication covered Sender Policy Framework, DomainKeys Identified Mail and Domain-based Message Authentication, Reporting and Conformance. Their roles and failure policies were considered through configuration and migration scenarios, keeping the focus on how records affect a working collaboration service.

6. Sequencing domain verification and service deployment

A text record containing a verification token illustrated how to demonstrate domain control to a tenant. The class distinguished that control from legal ownership and examined caching and independent visibility checks. Publishing mail-routing records was deliberately separated from verification: identity, governance and mail configuration needed to be ready first. Students considered regional settings, data location, licences and access policies in a staged company deployment, then discussed how to justify that order to people outside the technical team.

7. Designing groups and managing account lifecycles

Entra ID introduced user attributes, authentication, administrative roles and licence management. Security groups, collaboration groups and distribution lists were compared through their different purposes. The class examined bulk account creation, auditing and departure procedures, including disabling access while retaining business records. Students began designing a naming convention, group structure and restricted administrator roles for a fictional company. A previous incident provided context for least privilege, connecting the design activity with the consequences of granting more access than necessary.

8. Planning authentication and emergency access

Onboarding and offboarding were considered alongside group structures, licences and role assignment. Demonstrations showed permission checks and bulk-import validation. The class examined multi-factor authentication, number matching, conditional access, compliant devices and hardware security keys as layered controls. Students designed an authentication rollout covering employees, contractors and privileged accounts, including emergency access arrangements. These activities linked day-to-day administration with exceptions and failure scenarios, rather than assuming that the normal sign-in path would always be available to every user.

9. Governing external collaboration and meeting data

Teams configuration distinguished external access from guest access and examined domain restrictions, group membership and access reviews. Meeting settings included lobbies, anonymous participation, recording, transcription and screen sharing. Recordings and transcripts were discussed as personal data, with retention and sensitivity considered alongside their usefulness. The class connected these controls with identity and email security in the wider architecture. Guidance on an open-book multiple-choice assessment and a separate design exercise concluded the session, alongside a practice scenario for the assessment.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

Fundamentals of Software & Data Engineering 125hrs • 15 ECTS
50hrs 5 ECTS

Mathematics Harmonisation

Logic, sets, combinatorics, sequences, limits, continuity, differentiation and the core theorems needed for engineering studies.

Inside the course

BSc · Year 1 · 22 sessions

Mathematics Harmonisation

Course code: FSDE-001

From a plausible answer to a mathematical justification

These sessions built a common mathematical foundation by asking how a statement can be expressed, tested and justified. Logic and sets led into functions, relations and counting; sequences and calculus introduced changing quantities and limits. Complex numbers and probability extended the same habit of reasoning. Exercises used counterexamples, diagrams, calculations and proofs, with attention to the conditions under which a result actually holds.

What the sessions explored
Statements and structures

Truth tables, quantifiers, sets and relations made assumptions explicit and distinguished examples from claims that hold in general.

Change and calculation

Sequences, derivatives and integrals connected numerical exploration with bounds, continuity, convergence and methods for evaluating quantities.

Counting and uncertainty

Combinatorial cases and probability calculations required careful definitions of outcomes, overlap, independence and the information available when making a calculation.

Explore the sessions
1. Propositional Logic and Quantifiers

The session introduced propositional logic, defining statements as either true or false and using truth tables to analyse them. It covered conjunction, disjunction, negation, implication and equivalence, including how brackets change the meaning of compound statements. Truth tables were used to establish logical identities, including negation rules, implications and equivalences, and to distinguish tautologies from contradictions. The class also examined contraposition, proof by contradiction and counterexamples. Finally, universal and existential quantifiers were introduced, alongside the distinction between necessary and sufficient conditions.

2. Logical Implications and Set Operations

The session developed logical implications, distinguishing sufficient and necessary conditions, converses and contrapositives, using numerical examples and counterexamples. It also covered quantifiers such as ‘for all’ and ‘there exists’, including how to negate statements involving them. Students translated statements about a program into symbolic logic and practised negation, converse and contrapositive rules. The class then introduced standard number sets, membership and subset notation, unions, intersections, complements and proofs of set equality by double inclusion. Finally, it examined disjoint sets and partitions, including examples involving integers and intervals.

3. Power Sets, Partitions and Cartesian Products

The session introduced power sets, including listing all subsets of a set and showing that a set with n elements has 2 to the power of n subsets. It practised set inclusions involving intersections, unions and power sets, using counterexamples where an assertion was false. Partitions, symmetric difference, complements and direct proofs by considering cases were also studied. The class examined conditions for solving an equation of the form A union X = B, using set diagrams to identify possible solutions. Cartesian products and their cardinalities were introduced, with a dice example used to represent outcomes as ordered pairs.

4. Functions, Bijections and Inverses

The session introduced functions as mappings between a domain and a codomain, using diagrams of finite sets. It defined injective, surjective and bijective functions, and showed how restricting domains or codomains can produce bijections. The class explained that a two-sided inverse function requires a bijection, practised finding inverses algebraically, and considered examples involving integer, quadratic and rational functions. Graphs were used to identify injectivity and surjectivity through horizontal-line intersections, and the notions of image and preimage were introduced. The session ended with definitions and examples of even and odd functions.

5. Function Composition and Binary Relations

The session reviewed functions involving absolute values, including evenness, injectivity, surjectivity, bijectivity and inverse functions. It also covered how changing a function’s domain and codomain can affect these properties, and how to determine images of intervals using monotonicity and quadratic forms. General results about compositions of functions were proved, showing how surjectivity or injectivity of a composition implies properties of its component functions. A new topic on binary relations introduced reflexivity, symmetry, antisymmetry and transitivity through examples. Equivalence relations, equivalence classes, order relations and total orders were defined and compared.

6. Equivalence Relations and Orders

The session covered binary relations defined by non-empty intersections of sets, including how to represent them in a table and test whether they are reflexive, symmetric and transitive. Examples were used to construct relations with specified properties and to establish when a relation is an equivalence relation. Equivalence classes were found by solving the defining equation, with attention to exceptional cases where two possible solutions coincide. The class then studied partial and total orders, including lexicographic order and componentwise order on pairs of real numbers. Finally, it distinguished greatest and least elements from upper and lower bounds, least upper bounds and greatest lower bounds through examples involving intervals, integers and a disc in the plane.

7. Logic, Sets, Functions and Relations Revision

The session revised propositional logic, including truth tables, implication, contrapositives, converses, and the negation and ordering of quantifiers. It covered set theory through power sets, partitions, unions, intersections, complements and proofs of set equality. Functions were reviewed in terms of injectivity, surjectivity, bijectivity, images, inverse functions and restricting domains or codomains. The class also studied relations, including reflexive, symmetric and transitive properties, equivalence classes and total orders. It finished with least elements, lower and upper bounds, and greatest lower and least upper bounds of intervals.

8. Permutations, Combinations and Binomial Coefficients

The session introduced combinatorics as a way of counting elements in sets and events, particularly for later use in probability. It covered cardinality, permutations without repetition, and permutations with repeated elements, using anagrams as examples. The multiplication principle was used to count outcomes such as possible phone numbers and room allocations. Arrangements and combinations were distinguished by whether order matters, with formulae for their numbers and examples involving race results and card selections. Binomial coefficients, Pascal’s triangle, and the link between binomial coefficients and the binomial expansion were also explored, followed by practice exercises.

9. Repetition, Pigeonhole Principle and Card Counting

The session reviewed counting methods including combinations, arrangements and the multiplicative principle, using examples involving card hands, lottery selections, lock codes and IP addresses. Combinations with repetition were introduced through dominoes, with the stars-and-bars method used to explain the formula for selecting k objects from n types when repeats are allowed. The class also applied the pigeonhole principle to initials and birthdays. Further card-hand problems explored counting constrained selections, using complementary sets for “at least one” conditions and disjoint unions to avoid double-counting. Students were asked to consider a final case involving exactly one queen and two hearts by separating whether the queen is a heart or not.

10. Combinatorial Probability and Sequence Foundations

The session reviewed combinatorial counting using card hands, with emphasis on splitting overlapping conditions into disjoint cases and using combinations to count each case. It introduced equiprobability, where probabilities are found by dividing favourable outcomes by the total number of equally likely outcomes. Further examples considered drawing coloured balls with and without replacement, distinguishing labelled from unlabelled objects, and counting binary bytes. The class then began sequences, comparing explicit and recursive definitions and introducing convergence, divergence, limits at infinity, monotonicity and boundedness. The squeeze theorem and the result that a monotonic sequence with an appropriate bound converges were also explained.

11. Recursive Sequences, Limits and Induction

The session reviewed counting problems involving “at least” and “at most” conditions by splitting them into exact cases or using complements. It introduced explicit and recursively defined sequences, using numerical calculation and plots to explore convergence, divergence and oscillation. Difference sequences were used to derive an explicit formula from a recurrence, alongside summation formulae and proof by induction. Several recursive sequences were analysed for monotonicity, bounds, limits and fixed points, including convergence to the golden ratio and examples that oscillate rather than converge. The class concluded by defining arithmetic sequences, their common difference and their behaviour, and previewed geometric and mixed arithmetic-geometric recurrences.

12. Arithmetic, Geometric and Affine Sequences

The class reviewed arithmetic and geometric sequences, including their recursive and explicit formulae. It used compound interest to model a geometric sequence, calculate a value after ten years, and find when an investment doubles using logarithms or spreadsheet/computer calculations. Students practised determining sequence parameters from given terms and identifying whether sequences are arithmetic, geometric, or neither. The session also introduced sequences of the form U(n+1) = aU(n) + b, transforming them by subtracting their possible limit to obtain a geometric sequence, and discussed convergence. A final example used differences between consecutive terms and induction to establish an explicit formula for a recursively defined sequence.

13. Function Limits and Continuity

The session introduced real-valued functions defined on the real numbers or subsets of them, linking their study to the behaviour of numerical sequences. It focused on limits, including finite and infinite limits as x tends to plus infinity, and used epsilon–M definitions to justify limits rigorously. Examples showed that 1/(1+x²) tends to 0, that 1+x² tends to plus infinity, and that oscillating functions such as sine may have no limit at infinity. The class also introduced left- and right-hand limits at a point, relating these limits to continuity.

14. Derivatives, Variation and Root Finding

The session used the sign of a derivative to determine where a differentiable function is increasing or decreasing, and to construct variation tables including critical values and limits at infinity. Polynomial examples were used to count the solutions of equations of the form f(x) = k, with the intermediate value theorem explaining why continuity guarantees at least one solution over an interval. Approximate solutions were found using a spreadsheet or interval-halving method. The comparison of two function graphs was reduced to studying the sign of their difference, including solving a quadratic equation by factorisation or the discriminant method. A recurrence sequence defined by u(n+1) = f(u(n)) was analysed by proving an interval was stable, establishing monotonicity and boundedness, and deducing convergence to a fixed point.

15. Tangents, Convexity and Indeterminate Limits

The session completed work on functions by using derivatives, factorisation and sign tables to determine intervals of increase and decrease, extrema, limits and the number of solutions to equations. It also covered indeterminate limits at zero, including simplification, removable discontinuities, one-sided limits and cases where a limit does not exist. The equation of a tangent was introduced and applied using derivative rules for polynomials, quotients and composite functions. Convexity, concavity and inflection points were explained through the sign of the second derivative and the position of a curve relative to its tangents and chords.

16. Antiderivatives, Integration by Parts and Definite Integrals

The session introduced integration as the reverse of differentiation, defining antiderivatives and explaining that they differ by an additive constant. Standard antiderivative rules were derived for powers, exponentials, trigonometric functions and 1/x, alongside linearity for sums and constant multiples. Integration by parts was developed from the product rule and applied to logarithmic and polynomial–exponential products, with guidance on choosing the factor to differentiate or integrate. Definite integrals were evaluated by finding an antiderivative and subtracting its value at the lower bound from its value at the upper bound. The geometric meaning of an integral as signed area under a graph was explained, including its connection to volumes and later applications in probability.

17. Substitution, Numerical Integration and Complex Number Introduction

The session explained substitution in integration as the reverse of the chain rule, using logarithmic and exponential examples. Definite integrals were applied to the exponential distribution to obtain its cumulative distribution function and expected lifetime, with integration by parts used for an improper integral. Numerical integration was introduced by approximating an area with many small rectangles and averaging function values, including its use where no explicit antiderivative exists, such as the normal distribution. The class then introduced complex numbers through quadratic equations with negative discriminants, defining i² = −1 and writing complex numbers as x + yi. Addition, subtraction and multiplication of complex numbers were demonstrated, alongside applications to polynomial roots, computing, and signal compression.

18. Complex Numbers in Polar and Exponential Form

The session developed complex numbers in algebraic form, including addition, subtraction, multiplication and division. It introduced conjugates and used them to rationalise denominators, alongside the modulus and argument of a complex number. Complex numbers were represented in polar and exponential forms, with these forms used to simplify products, quotients and powers. The class derived trigonometric addition and subtraction formulae from complex-number representations and reviewed key values on the unit circle. It also covered powers of i, the lack of an ordering for complex numbers, and conjugate complex roots of quadratic polynomials.

19. Complex Arithmetic and Geometric Transformations

The class covered converting complex numbers from Cartesian form to polar form by finding the modulus and argument. It used the unit circle, standard angles and quadrant signs to identify arguments, and explained the relationship between cosine, sine and the complex exponential form e^(iθ). Multiplication, division and powers of complex numbers were carried out in polar form by multiplying or dividing moduli and adding or subtracting arguments. The session also interpreted multiplication by i as a 90-degree rotation and practised addition, multiplication and division in Cartesian form, including the use of conjugates.

20. Probability Spaces and Probability Measures

The class introduced probability through random experiments, sample spaces, elementary events and random variables, using dice throws as an example. It defined the main properties of a probability measure, including probabilities of complements, disjoint unions and general unions. Probability calculations were carried out for finite sample spaces, including checking whether tables of values can define a valid probability distribution. Equiprobability was linked to combinatorics through the rule that the probability of an event equals its cardinality divided by that of the sample space. Card-drawing examples were used to calculate probabilities, distinguish unions from intersections, introduce total probability and define independence; a without-replacement card exercise was set for the next class.

21. Conditional Probability, Independence and Bayes' Theorem

The session revised probability in equally likely situations, using counts of outcomes to calculate probabilities. It distinguished arrangements, permutations and combinations by considering whether order and repetition matter, with examples involving race medals and committee selection. It also reviewed independence of events through the condition P(A ∩ B) = P(A)P(B). Conditional probability was introduced and shown to be a probability measure, followed by applications of total probability and Bayes’ theorem to school preferences, defective products and committee compositions.

22. Revisiting Logic, Calculus and Probability

The session reviewed combinatorics and probability through counting arrangements, combinations, complementary events, and repeated independent trials. Arithmetic and geometric sequences were covered, alongside monotonicity, bounds, limits and proof by induction. The class practised derivatives, tangent equations, continuity using one-sided limits, and proving that a continuous function has a root on an interval. Integration was revised through logarithmic antiderivatives, integration by parts and linearity. Complex numbers were expressed in algebraic and polar forms, including conjugates, powers and quadratic roots.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

50hrs 5 ECTS

Data Structures and Algorithms

Fundamental data structures and algorithms, implemented in C with manual memory management and in VBA for Excel.

Enseigné par Dora Sabino
Inside the course

BSc · Year 1 · 18 sessions

Data Structures and Algorithms

Course code: FSDE-002

Choosing structures, preserving invariants and checking failure cases

The sessions examined how a program’s choice of data structure affects both its operations and its correctness. Examples in Excel’s Visual Basic for Applications (VBA) progressed from array-based lists to stacks, queues, dictionaries, records and trees. Students traced operations, ran supplied code and considered edge cases. A recurring question was what must remain true after each operation, including when an operation cannot succeed.

What the sessions explored
Representations and contracts

Arrays and linked structures introduced invariants, capacity limits and explicit success or failure behaviour rather than ambiguous substitute values.

Algorithms in operation

Searching, sorting and recursion were traced step by step, connecting bounds, base cases and data organisation with the work performed.

Combining suitable structures

Reporting and task-management examples brought collections, dictionaries, records and hierarchical structures together without adding complexity that the problem did not require.

Explore the sessions
1. Data Structures, Algorithms and Function Contracts

The session introduced the relationship between data structures, which organise data, and algorithms, which process it, with emphasis on selecting structures that support efficient and scalable operations. Students used Excel Visual Basic for Applications (VBA) to create a macro-enabled workbook, enter a small set of numerical values, and run code that counted positive values and identified values in a range. The class covered function contracts, including inputs, outputs, rules, edge cases, failure behaviour and sentinel values for cases such as an item not being found. It also introduced loop invariants as statements that remain true before, during and after iteration to support correctness, alongside lower and upper bounds, indexing differences between VBA and C, and an initial overview of Big O complexity.

2. Representing Lists with Fixed-Capacity Arrays

The session introduced abstract data types through a fixed-capacity integer list implemented using an array. It explained the representation invariant: the size must remain between zero and capacity, and only indices from zero to size minus one form the valid region. Operations such as append, get and remove were examined in terms of preserving this invariant, handling invalid indices safely, and shifting elements to maintain contiguity after removal. The class also compared constant-time direct indexing with the linear work involved in shifting elements, relating code structure and loops to complexity. Students ran the example, interpreted its results, and practised explaining the concepts generally before linking them to code examples.

3. Dynamic Arrays and Amortised Analysis

The class introduced dynamic arrays as an improvement on fixed-capacity lists, allowing an abstract data type to grow without changing its operations such as append, get and remove. It explained that, when an array is full, its capacity can be doubled, existing elements copied to the new storage, and the new item appended. The session covered amortised analysis, showing that although a resize makes an individual append costly, resizing happens infrequently enough for the average append cost over many operations to remain constant. It also considered memory use as proportional to the number of stored elements and reviewed VBA’s ReDim and ReDim Preserve commands for resizing arrays while retaining data. Students examined example output that logged capacity changes and discussed using a practical mini-project to apply these ideas.

4. Representing Lists with Linked Nodes

The session introduced singly linked lists as an alternative representation of a list, using nodes containing a value and a reference to the next node. It explained the roles of the head, tail, null references and traversal, and compared linked lists with arrays and dynamic arrays. The class considered representation invariants, preconditions and postconditions as ways to preserve correctness during operations such as adding or removing elements. It compared the time costs of indexing, insertion, deletion, shifting and relinking, including constant-time operations when a tail reference is available. Students ran a VBA demonstration, observed how head and tail references changed, and were directed to a quiz and further resources on complexity.

5. Array-Based Stacks and Parentheses Validation

The session introduced stacks as a last-in, first-out data structure, with access restricted to the top element. Core stack operations were covered: push, pop, peek, checking whether a stack is empty, and checking whether a bounded stack is full. The class examined array-based stack representations, including capacity, the top index, representation invariants, underflow and overflow, and common off-by-one errors. Students were asked to implement and test a stack in VBA, including explicit success or failure handling, edge cases, and a balanced-parentheses validator. Time complexity and the distinction between array-based and linked-stack representations were also discussed.

6. Stack Operations and Nested Delimiters

The session explored stacks as disciplined last-in, first-out containers and related them to everyday software features such as undo/redo and browser history. It defined stack operations including initialise, push, pop, peek, size and is-empty, with emphasis on the invariant that top is a count rather than an array index. The class used visual simulations and traced push and pop operations, including failure conditions for full and empty stacks and the use of Boolean success values rather than fake sentinel data. Stacks were applied to checking correctly nested parentheses, square brackets and braces, and to evaluating postfix expressions by popping operands in the correct order. Students were asked to inspect example code and work through a postfix-expression evaluation exercise before the next session.

7. Implementing Queues with Circular Buffers

The session introduced queues as abstract data types that follow the first-in, first-out principle, contrasting them with last-in, first-out stacks. It covered queue operations including initialisation, checking whether a queue is empty or full, finding its size, enqueueing, dequeueing and peeking, with Boolean success or failure used to avoid ambiguous sentinel values. Array-based queues were examined, showing why shifting elements after each dequeue is inefficient and how circular buffers use front indices, size and modulo arithmetic to wrap around without moving stored elements. Students worked with VBA code to implement and test enqueue, dequeue and peek operations, including edge cases such as dequeueing or peeking from an empty queue and enqueueing into a full queue. The session also discussed queues for fair task processing and briefly introduced linked queues as an alternative without fixed capacity.

8. Stack and Queue Implementation Review

The session reviewed stacks and queues, comparing last-in-first-out stack behaviour with first-in-first-out queue behaviour and their common operations, including push, pop, enqueue, dequeue and peek. It covered failure conditions for full or empty structures, Boolean success values and the use of output values rather than sentinel values. Circular-buffer queues were explained through front, back, size, capacity, logical positions and modulus arithmetic, emphasising that indices move rather than stored elements. Students then used VBA examples of stack and queue implementations, running separate code blocks and changing capacities or values to observe successful operations and failure cases.

9. Linked Queues and Recursive Fundamentals

The session introduced linked queues as node-based first-in, first-out (FIFO) structures, using head and tail references rather than a fixed-capacity array or circular buffer. It explained nodes, references, queue invariants, and the enqueue, dequeue and peek operations in VBA, including how to handle empty queues and why these operations have constant-time work. The class compared linked queues with array-based queues, highlighting dynamic growth and the avoidance of shifting elements. It then introduced recursion through the ideas of a base case, recursive step, decreasing problem size and the call stack, using summing the first N array values and testing palindromes as examples. Students were asked to review the supplied code, glossary and presentation materials before practical exercises in the next session.

10. Recursive Problem Solving and Call Stacks

The session reviewed recursion through the examples of summing array elements, testing palindromes, counting occurrences of a value, and binary search in sorted arrays. It focused on identifying the base case, the smaller subproblem, the measure of progress, recursive calls, returned values and the combined step performed after a call returns. The call stack and call frames were explained by tracing calls down to a base case and then following the returned results back up. Students practised tracing a chosen recursive example and considered common errors, including missing or incorrect base cases, failure to reduce the problem, and incorrect return logic. Recursion was compared with iteration, with binary search used to illustrate how halving a search interval can reduce recursion depth.

11. Linear and Binary Search

The session introduced searching in arrays, defining a successful search as returning an index and an unsuccessful search as returning -1 to avoid confusion with index 0. Linear search was explained as checking elements from left to right until the target is found or every element has been checked, and its usefulness for unsorted data was compared with its slower performance on large arrays. Binary search was taught as a faster method for sorted arrays, using low, high and middle indices to discard half of the remaining interval after each comparison. Students practised tracing both search methods in tables, including found and not-found cases, and identifying typical errors in search code such as incorrect bounds, midpoint calculations and interval updates.

12. Selection and Insertion Sorting

The session introduced sorting algorithms as step-by-step methods for rearranging array elements according to a chosen rule, usually ascending order, without changing the values themselves. It explained why sorting is useful, including making data easier to read, report on and search, particularly because binary search requires sorted data. Selection sort was taught as repeatedly finding the smallest value in the unsorted portion and swapping it into the next fixed position, using outer and inner loops, a minimum-position variable and a temporary variable. Insertion sort was compared with selection sort: it takes the next value, shifts larger values rightwards to create space, and inserts the value into its correct position. Students completed exercises tracing both algorithms, reading and debugging VBA code, and identifying why these methods become inefficient for large arrays.

13. Integrated Array Reporting Programs

The session showed how to combine previously learnt helper functions into a simple reporting program using an array of scores. It covered preserving original data by sorting a copy, then using linear search, occurrence counting, minimum and maximum calculations, totals and averages to produce worksheet output. The class practised tracing minimum, maximum and running-total logic by hand, and examined why an average must use the number of array elements rather than simply the final index. It also introduced good programming practices: decomposing a larger task into testable helper functions, debugging one component at a time, and keeping raw data unchanged.

14. Choosing Between Collections and Dictionaries

The session compared arrays and dynamic arrays with VBA collections and dictionaries as alternative storage structures. Collections were presented as ordered, growable lists whose size and capacity are managed automatically, while dictionaries were explained as key–value pairs suitable for look-ups, category totals and frequency counting. Students practised running and safely modifying VBA examples, examining outputs in Excel, and explaining in plain English what changed. The class emphasised choosing and justifying a data structure according to whether indexed ordering, simple growth, or key-based counting was required.

15. Stack and Queue Structure Choices

The session reviewed stacks and queues as restricted forms of lists, focusing on their different retrieval rules: last in, first out for stacks and first in, first out for queues. It explained stack operations such as push, pop and peek, and queue operations such as enqueue, dequeue and peek. Students examined how VBA collections can simulate stacks by removing the final item and queues by removing the first item, using examples such as undo histories and print-job queues. Activities involved reading and running supplied VBA code, making safe changes to stored values, identifying data-structure clues in code, and justifying which structure best fits a practical task. The session also recapped arrays, dynamic arrays, collections and dictionaries, emphasising selection based on indexing, growth, key-value pairs and required removal order.

16. Records and Task Management

The session reviewed how collections, dictionaries and queue-like first-in, first-out logic can cooperate within a simple task-management program. It explained that parallel collections depend on an invariant: matching indexes must remain aligned, but this becomes error-prone when each item needs many associated fields. Records were introduced as bundles of named fields that keep related information, such as a task name, category, deadline and priority, together as a single value. The class considered how records are declared and used in VBA, including iterating through a collection of records and avoiding common syntax and value-copying errors. Students also discussed adding meaningful detail to their own project designs, while being reminded that greater complexity should only be used where it meets a real need.

17. Tree Hierarchies and Depth-First Traversal

The session introduced trees as data structures for representing hierarchies, using examples such as file systems, organisational charts, reply threads and nested web elements. Key terminology covered included root, parent, child, node, internal node, leaf and depth, alongside the distinction between flat data and hierarchical data. Trees were represented in a worksheet through parent-child records, then traversed from the root using recursive depth-first walking. Students completed guided VBA activities to draw a tree, print its hierarchy, modify nodes, count nodes at each depth and identify the deepest leaf. The session also consolidated the principle of breaking problems into sub-problems and selecting suitable data structures.

18. Data Structure Design and Assessment Review

The session reviewed how to decompose a problem into smaller needs, match each need to an appropriate data structure, and then implement the solution. It compared collections for ordered storage, dictionaries for key–value counting and lookup, records for keeping related attributes together, queues for first-in-first-out processing, and trees for hierarchical data. A mock assessment was used to practise recognising data structures from descriptions and VBA-style code, including recursion and the purpose of a base case. A design exercise modelled conference-paper submissions, using records, collections, dictionaries and queue logic, and considered how adding a new attribute should require only local changes.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

25hrs 5 ECTS

The Relational Model and SQL

Relational modelling, normalisation, SQL queries, joins, aggregation, subqueries and an introduction to programmatic SQL.

Enseigné par Hanna Abi Akl
Inside the course

BSc · Year 1 · 8 sessions

The Relational Model and SQL

Course code: FSDE-003

Making data relationships precise enough to query

The class approached databases through the problems that arise when information is repeated, ambiguously identified or poorly connected. Tables and keys led into relational algebra, Structured Query Language (SQL) and the design of relationships. Exercises moved between customer purchases, cinema records and other small datasets, asking both how to retrieve an answer and how to organise the data so that the answer remains meaningful.

What students explored
Representing relationships

Tables, attributes and keys used to identify records and connect related information, with attention to duplication and errors when data changes.

Expressing a question precisely

Selection, projection, joins and division translated into query plans, distinguishing questions about some, only or all members of a set.

Designing tables that hold together

Functional dependencies, normal forms and relationship diagrams used to examine table structure before creating constraints and inserting data into a database.

Explore the sessions
1. Identifying records and avoiding repeated information

Data was introduced through values and tabular representations, with rows as records and columns as attributes. An employee-and-department example gave students a table to read and update, exposing problems caused by repeated employee information. Candidate and composite keys introduced the requirement to identify a record uniquely. Foreign keys then connected separate tables. Splitting related information provided a concrete way to examine duplication and update errors, alongside the broader requirements for complete, consistent and non-redundant data.

2. Combining tables through relational operations

Relational algebra introduced a set-based way to retrieve information. Union, intersection and difference were considered alongside projection, selection, joins and division. Examples distinguished choosing columns from filtering rows, then combined related tables through matching conditions. The class also examined self-joins and briefly discussed different join forms. Division addressed a different kind of question: which entities are related to every item in another set? Keys and relationships remained the foundation for deciding how these operations could connect the data.

3. Turning purchase questions into query plans

Client, product and sales tables supported exercises in constructing relational queries. Students distinguished customers who bought particular products from those who bought only those products or every product in a set. Selection, projection, joins, intersection and difference provided the building blocks, with division addressing the “all” case. Further exercises used a cinema database. The session then began translating these plans into SQL, connecting row filtering with WHERE, column selection with SELECT and source tables with FROM.

4. Translating joins and examining data dependencies

A cinema example showed how SQL could retrieve screen and seat information for a film through projections, selections and joins. Relational division introduced nested NOT EXISTS queries because SQL has no direct division operator. The session then returned to data design through customers, products and invoices. Primary keys, foreign keys and functional dependencies were examined as ways to identify records and describe relationships. Redundancy and contradictory values made the consequences of poor table structure visible.

5. Using dependencies to improve table structure

Functional dependencies led into attribute closure and rules for deriving further dependencies. Students calculated closures and examined whether attribute sets could identify records minimally. Manuscript-and-reviewer data provided a decomposition exercise using related tables and keys. The first three normal forms introduced atomic values, partial dependencies and dependencies between non-key attributes. Examples involving addresses, sports participants and vehicles grounded the discussion, while Boyce–Codd normal form was introduced briefly as a further condition on the structure of dependencies.

6. Decomposing tables and reconstructing their information

Students examined apartment, tenant and film tables for violations of normal forms, then decomposed them into related tables. The class distinguished harmful redundancy from repeated values that legitimately occur in data. Joins showed how information could be reconstructed after decomposition. Relational and non-relational models were then compared, including more flexible key-value and graph representations. Entity–relationship diagrams introduced a planning notation for entities, attributes, keys and cardinalities, connecting the earlier table exercises with database design before implementation.

7. Modelling relationships and checking candidate keys

Films, directors, countries and user ratings illustrated one-to-many and many-to-many relationships. Entity–relationship diagrams connected those relationships to proposed tables and keys. Students also calculated attribute closures to identify candidate keys and revisited dependencies that indicate a need for decomposition. A linking table with a composite key showed how a many-to-many relationship could be represented. The session therefore moved between a visual model of the information and the more formal conditions used to check its structure.

8. Creating tables and connecting application queries

Create, read, update and delete operations introduced the familiar CRUD grouping of database actions. Indexes and views were discussed as ways to support searches and reusable queries. The class examined database access through web-application layers and introduced programming extensions such as variables, conditions, loops and stored procedures. A practical exercise translated an entity–relationship diagram into tables, keys and constraints. It also covered inserting records and handling deletion by setting dependent values to NULL where configured.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

Organisation & Society 260hrs • 13 ECTS
50hrs / 25hrs

French as a Foreign Language or Practical and Business English

French for non-native speakers or practical business English for students strengthening professional communication.

Enseigné par Lucine Brutti, Melissa Brown
Inside the course

BSc · Year 1 · 20 sessions

Practical and Business English

Course code: OS1-002

Using English to question technology and explain a position

Technology and workplace questions supplied the material for practising English. Students discussed smart devices, personal data, artificial intelligence and security, then examined management and leadership through presentations and case studies. Speaking, listening, paraphrasing and source evaluation were interwoven with language practice. The sessions asked students to explain an example, respond to another view and support an argument rather than simply repeat technical vocabulary.

What the sessions explored
Explaining and discussing

Presentations, listening activities and structured debates developed ideas through examples, clarification, respectful disagreement and attention to how an audience follows an explanation.

Reading evidence critically

Articles and case studies prompted questions about credibility, privacy, misinformation and uncertainty, alongside practice in paraphrasing and acknowledging sources.

Language in working situations

Collocations, workplace communication and leadership scenarios connected accuracy and register with the practical demands of discussing professional choices and their consequences.

Explore the sessions
1. Technology Change and Digital Storage

The session introduced the aims of practical and business English, including professional communication, writing, presentations, workplace culture and preparation for internships. Students introduced themselves and discussed their interests, study choices and confidence in speaking English, helping to establish a supportive environment for speaking practice. The class explored technological change through older and current methods of storing data and accessing media, including floppy disks, CDs, streaming and cloud storage. Students also discussed data centres and their environmental demands. The main language focus was on common collocations with make, take and do, with practice examples and preparation for a quiz and Moodle exercises.

2. Verb Collocations and Smart Devices

The class discussed how language students can progress by balancing grammar study, regular input and practical speaking opportunities. Students revised collocations with make, take and do, including expressions such as make a decision, take a break, do homework and take an exam, and completed and reviewed a quiz on these forms. The class also practised the grammar patterns avoid + -ing and prevent + object + from + -ing. A new topic on smart devices was introduced through discussion of their functions, benefits, data use and environmental concerns. Students were assigned an individual mini-presentation on a published article about smart devices, including a summary, purpose, vocabulary, an example device, personal learning and a discussion question.

3. Smart-Home Privacy and Surveillance

Students delivered and discussed news presentations on smart-home data privacy and brain–computer interfaces, including their benefits, risks, ethics and possible effects on autonomy. The class considered how connected devices collect and share personal data, and debated whether convenience justifies privacy risks. Students watched and answered comprehension questions about a talk on smart homes, surveillance, data mining, smart-device tracking and the idea of a commercial panopticon. The session also included advice on improving spoken English through regular exposure to English media and conversation practice.

4. Internet of Things Benefits and Risks

The class examined how smart technology and the Internet of Things are becoming part of everyday life. A student presentation covered smart speakers, wearable technology, automated home systems, telehealth, diagnostic tools and smart transport, with relevant vocabulary and examples. The group discussed the benefits of smart devices, including convenience, health monitoring and home security, alongside privacy, data-sharing and hacking risks. Students considered whether people should limit unnecessary connected devices in order to protect their privacy and security. The session also briefly compared retail business models, including supermarkets, wholesale membership stores and luxury grocery shops.

5. DNA Storage and Autonomous Transport

Students delivered and discussed presentations on the growing role of smart devices in daily life, including health monitoring, home automation, navigation and transport. The class examined DNA-based data storage as a possible high-density, more sustainable alternative to conventional data centres, including encoding, synthesis and sequencing. It also considered driverless taxis, their sensors and safety potential, alongside concerns about cost, privacy, employment and personal choice. The session included guidance on making clear presentation slides, using readable font sizes and limiting text, as well as paraphrasing, quotation marks and citing sources. Students were asked to read an article about AI-generated misinformation and fake social-media content before the next class.

6. Data Brokers and Personal Information

The class distinguished between understanding language and producing it, stressing that speaking requires practice, confidence and familiarity with sounds and sentence structure. It introduced data brokers as intermediaries that collect, package and sell information drawn from online activity, public records and connected devices. Students examined targeted advertisements to consider what the internet may infer about their habits, interests and location. They watched and discussed a talk about data privacy, anonymity, political microtargeting, data-driven insurance and credit decisions, and the trade-off between convenience and privacy. Students then completed case studies on location data, insurance pricing and political targeting, explaining and justifying their views in writing.

7. Data Privacy, Misinformation and Debate

The class reviewed case studies about the use of personal data, including location tracking by police, insurance prices based on online behaviour, and political micro-targeting. Students considered privacy, consent, accuracy, discrimination, transparency and the possible effects of targeted political messages. The difference between misinformation and disinformation was discussed, with disinformation defined as the deliberate spread of false information. Students then held a structured debate on smart homes, using respectful disagreement, questions and evidence to discuss convenience, security, privacy, dependence on technology, internet reliability, cost and environmental impact.

8. AI Misinformation and Source Credibility

The class analysed an article comparing fully automated artificial intelligence (AI) social-media accounts with accounts where people guided, corrected and managed AI-generated content. Students discussed misinformation, fake online personas, inappropriate messages, the ‘dead internet’ theory, and the limitations of relying entirely on AI for business marketing. The session explained how to assess source credibility by checking authors, publication type, dates, references, bias, peer review and cross-checking sources, including the appropriate use of Google Scholar and Wikipedia links. Students completed a paraphrasing activity based on the article, using complete sentences and giving credit to sources. The class also considered professional workplace communication, including how to remain neutral and avoid controversial, personal or divisive topics at work.

9. AI Adoption in Business

The session explored evidence about artificial intelligence adoption across industries, using survey data to distinguish experimentation, pilot projects, scaling and full integration. Students analysed the possible business benefits of AI, including efficiency, innovation, customer targeting and product development, alongside risks such as increased costs, intellectual-property infringement, privacy concerns, regulatory compliance and job displacement. Study-planning strategies were also discussed, including prioritising weaker subjects, using practice tests, scheduling revision in timed blocks and reducing phone distractions. A student presentation examined AI in automotive manufacturing, focusing on humanoid robots in production lines and AI-based battery quality control, as well as ethical, employment, data-security and trade-related concerns.

10. AI Effects on Work and Healthcare

The class reviewed evidence on the adoption of AI in business, including the fact that many companies are still testing AI in individual functions rather than transforming their entire operations. Students discussed how to assess the credibility of sources and were asked to research how AI is used in particular industries. A word-cloud activity was used to explore AI’s effects on healthcare, automation and employment, including benefits such as faster analysis, safer working conditions and fewer routine tasks, alongside possible job losses. Student presentations examined AI-supported climate-risk prediction and disaster warnings, and the use of AI and data science in embryo genetic screening, covering limitations, uncertainty, privacy, inequality, disability rights and ethical decision-making.

11. AI Embryo Screening and Industry Research

The class revisited AI-assisted embryo screening and discussed how it uses genetic data to estimate the likelihood of diseases and traits without changing genes. Students considered ethical questions about consent, disability, diversity, privacy, commercial reliability and the possible psychological effects of selecting embryos. The session then introduced a research task on how AI and data science support different industries, change jobs and create risks such as inaccuracy, intellectual-property issues and weak regulation. Students were asked to research several industries, use credible sources and prepare examples for a future speaking assessment.

12. Cybersecurity Threats and Safe Online Practices

The session introduced cybersecurity as protecting devices, systems, networks and data from unauthorised access, fraud and privacy breaches. Students discussed common threats including phishing, malware, password attacks, data breaches and denial-of-service attacks, using examples of suspicious emails, messages, links and fake login pages. The class considered practical safety measures such as checking domains and URLs, using unique strong passwords and two-factor authentication, avoiding unknown downloads, keeping software updated, and not sharing credentials. Students completed a safe-or-dangerous cybersecurity quiz and created short stories using cybersecurity vocabulary.

13. Quantum Computing and Cryptography

Students completed a vocabulary quiz on cybersecurity terms and corrected errors in the quiz. They explored quantum computing, including bits and qubits, superposition, the difference between supercomputers and quantum computers, and the potential speed of quantum calculations. A talk on cryptography explained how public-key encryption protects digital data, why quantum computers could break current encryption, and the need for quantum-resistant methods of data protection. The class discussed privacy, ethical risks, financial security, surveillance and possible positive uses of quantum computing in medicine, AI, energy and fraud detection. A student presentation also examined automated “dark factories” in China, considering efficiency, worker safety, environmental effects and job losses.

14. AI Cybersecurity, Scams and Ethical Hacking

The class discussed how artificial intelligence and machine learning may both improve cybersecurity by detecting attacks and create new risks through more convincing scams, deepfakes and automated hacking tools. Students considered password alternatives, two-factor authentication, regular updates, privacy, and ways to protect data on smart devices. Presentations explained phishing, smishing and vishing, including warning signs such as urgency, suspicious links and requests for credentials, and stressed verifying messages through an official second channel. The session also explored ethical hacking, bug bounty programmes and the difference between authorised security testing and malicious hacking. A further presentation examined deepfake scams, their impact on identity, finance, misinformation and non-consensual content, alongside practical safeguards such as multi-factor authentication, verification codes and checking requests independently.

15. Data Breaches, Dark Web and Management

The session included student presentations on cybersecurity, covering the causes, consequences and prevention of data breaches, including phishing, weak passwords, software updates, multi-factor authentication and corporate responsibility. The class discussed the dark web, distinguishing common online myths from its use as an anonymity tool, while considering its links to criminal activity, privacy and online surveillance. Students debated whether organisations should be fined after data breaches and whether anonymous networks should continue to exist. The class then introduced management styles, comparing autocratic, democratic, laissez-faire and bureaucratic approaches through workplace examples. Students reflected on their own leadership experience and were asked to research the advantages and disadvantages of different management styles.

16. Leadership and Management Styles

The class explored management and leadership styles, including laissez-faire, servant, coaching, bureaucratic, transactional, transformational, situational and charismatic leadership. Students reflected on workplace and team experiences to consider autonomy, support, authority, motivation, accountability, team bonding and the advantages and limitations of different approaches. The class discussed how management styles may vary according to the task, company size, employee experience and organisational change, using workplace scenarios as case studies. Students were assigned a short presentation on a chosen chief executive, analysing their dominant management style, leadership examples, strengths and weaknesses, sources and personal opinion.

17. Responsible AI Use and Leadership

The class reviewed preparation for its final speaking assessment, and students were encouraged to create a shared study guide from course topics. Students discussed responsible use of AI tools in academic work, including using them for outlines, corrections and ideas while checking facts, adding personal input and avoiding plagiarism. Two presentations examined the leadership and management styles of the leaders of major companies, including transformational, autocratic and laissez-faire approaches, accountability, autonomy, feedback, workplace culture and the advantages and drawbacks of each approach. The class also compared employment practices, job security, networking, internships and remote work in different countries.

18. Empathy, Leadership and Social Comics

Students presented leadership analyses of two technology and automotive business leaders, considering vision, transformational leadership, innovation, company culture, decision-making, employee motivation, scalability and potential drawbacks. The class discussed empathy as both a personal quality and a developable workplace skill, including its relevance to leadership and organisational culture. The session then explored how comics can reflect historical and social contexts, using superhero comics linked to economic hardship, war and civil rights, as well as comics about artificial intelligence and employment. Students were assigned a short final presentation analysing a comic’s theme, message about current society and their own response.

19. Final Assessment Review and Reflection

The class reviewed the main course themes: smart devices and data privacy, AI misinformation, AI in different industries, cybersecurity, and management and leadership. Students began creating a shared study guide by writing possible final-exam questions and considering examples and links between topics. Assessment preparation considered complete answers, relevant examples, vocabulary, grammar, fluency and clear pronunciation. Students also completed a written reflection on what they had learnt, preferred activities, areas for improving business English, and suggestions for next year.

20. AI Medical Diagnosis and Technology Comics

The class examined how artificial intelligence can support medical imaging and cancer diagnosis, including potential benefits such as faster analysis and earlier detection, alongside risks concerning bias, transparency, privacy, security and equal access to healthcare. Students presented and discussed technology-themed comics about AI-generated communication, software bugs, and AI companionship, considering automation, authenticity, human responsibility and the limits of AI. The class also reviewed preparation for the oral final assessment, practising how to give structured answers supported by examples from topics including smart-device data collection, data brokers, AI-generated misinformation and phishing scams. Students were encouraged to build a shared study guide with key questions, evidence and examples.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

50hrs 5 ECTS

Microsoft Office Specialist: Associate preparation

Word, Excel, PowerPoint and Outlook skills, with focused preparation for Microsoft Office Specialist: Associate (Excel).

Enseigné par Estelle Auberix
Inside the course

BSc · Year 1 · 20 sessions

Microsoft Office Specialist: Associate preparation

Course code: OS1-003

Working carefully across documents, spreadsheets, email and presentations

The teaching used the desktop Office applications to connect everyday tasks with careful execution. Students organised messages and meetings, structured Word documents, manipulated spreadsheet data and built presentations. Excel practice formed a substantial part of the account, including timed exercises and review. Across applications, the sessions returned to accurate selection, readable presentation, accessibility and checking what a task actually requires.

What the sessions explored
Communication and documents

Outlook and Word activities combined organisation, formatting and references with collaborative review, professional presentation and accessibility checks on document content.

Spreadsheet operations

Excel exercises linked imports, tables, formulas and references with filtering, charts, printing and the need to select and check the intended data.

Practice and presentation

Timed practice and PowerPoint work brought together procedural accuracy, restrained visual design, reusable layouts and review of completed tasks.

Explore the sessions
1. Microsoft Office Specialist Associate Certification Overview

The session introduced the Microsoft Office Specialist Associate certification and the Office applications covered: Outlook, Word, Excel and PowerPoint. It outlined Outlook functions including email, contacts, calendars, tasks, notes and automation, as well as Word document formatting, objects, tables, references and automated contents tables. Excel coverage included workbooks, worksheets, formatting, tables, data ranges, formulae, functions, charts and printing, while PowerPoint coverage included slide content, visuals, tables, notes, printing and slide masters. The class also explained that the focus would be on the desktop version of Microsoft Office, the scope of the Excel Associate examination, and the learning materials and practice files available through the online platform.

2. Outlook Email, Calendars and Task Management

The session continued the introduction to Outlook for Microsoft Office Specialist preparation. It covered using the online student guides and exercise files, organising messages with folders, categories, flags, conversation view, search and deleted-item recovery. Students practised composing emails, adding and removing attachments, considering attachment size, sharing file links, and recognising phishing messages. The class also covered calendar meetings, including invitations, recurring events, availability, privacy and cancellations, as well as contacts, groups and task management for individual and team work.

3. Word Interface, Formatting and Document Editing

The session introduced Microsoft Word and its main interface, including the Quick Access Toolbar, ribbon tabs, templates, document creation, saving and AutoSave through OneDrive. It covered customising the ribbon, using text and paragraph formatting, lists, alignment, line spacing, styles, themes, page orientation, page and section breaks, and document views. Students practised copying, cutting and pasting with the Clipboard, and using Find and Replace to update repeated text efficiently. The class also introduced tracked changes for collaborative editing and discussed using columns to improve the readability of documents and CVs.

4. Outlook Rules and Word Graphic Design

The session covered Outlook tools for organising email, including Quick Steps, categories and rules that act on messages based on specified conditions such as words, senders or recipients. It also introduced Word document design features, including themes, templates, colour palettes and styles. Students practised formatting shapes, text boxes and graphics, using selection and grouping tools, and modifying picture appearance through colour, transparency and background-removal options. Accessibility was considered through the use of alternative text for images, alongside guidance on completing practice activities and using the student guide for certification preparation.

5. Word Tables, Lists and SmartArt

The session covered creating and formatting tables in Word, including inserting tables, converting comma- or tab-separated text into tables, and converting tables back into text. It demonstrated applying table styles, sorting data, resizing rows and columns, merging and splitting cells, and using table properties such as alignment and alternative text. Students also practised creating and modifying bulleted lists, numbered lists, text boxes and SmartArt diagrams. Practical certification exercises included inserting and formatting 3D models and images, enabling tracked changes, and using the accessibility checker to identify missing alternative text.

6. Word References, Review and Document Protection

The session completed a Word module on document references and finalisation. Students practised creating footnotes, controlling their numbering across sections, and generating and updating tables of contents using heading styles. The class also covered managing bibliographic sources, inserting citations, selecting citation styles, and using spelling, grammar, dictionary and thesaurus tools. Further work included adding headers, footers and page numbers, editing document properties and tags, checking accessibility and compatibility, and applying document protection and inspection options. Students then began formatting a CV in Word by adapting templates, colours, images, text boxes, hyperlinks and skills displays.

7. Excel Workbooks, Worksheets and File Management

The session introduced Microsoft Excel for the Microsoft Office Specialist (MOS) Associate certification, including the workbook interface, ribbons, quick-access tools and worksheets. It covered creating, opening and saving workbooks in different formats, particularly XLSX, comma-separated values (CSV) and macro-enabled files, and explained compatibility and file-sharing considerations. Students practised organising worksheets by adding, deleting, renaming and moving sheets, resizing rows and columns, merging cells, formatting values, and freezing panes. The class also demonstrated named cells and ranges, hyperlinks within a workbook, automatic fill, copying and pasting data, and the use of templates such as calendars and project plans. Students were asked to begin an exercise reorganising data from Excel and CSV files before the next class.

8. Excel Cell Formatting and Worksheet Layout

The session covered formatting Excel cells, including changing fonts, sizes, colours, fills, borders, alignment and text wrapping. Students practised formatting numbers, dates and currencies, adjusting column widths and row heights, merging and centring cells, and using table and cell styles. The class also covered copying formatting with Format Painter, clearing formats or contents, and recognising warnings when merging cells may remove data. Practical activities revised deleting and inserting rows and columns, freezing panes, copying headings across worksheets, saving CSV files as Excel workbooks, renaming worksheets, zooming and moving or deleting cell contents.

9. Excel Tables, Sorting and Filtering

The session covered Excel tables and data ranges, including creating tables from selected cells, applying table styles, and recognising the Table Design tab. Students practised converting tables back into ordinary data ranges while retaining formatting, and naming tables or ranges for easier reference. The class explored table options such as headers, filter buttons, banded rows and columns, inserting columns, and adding or changing total-row calculations. Students also practised sorting and filtering data, including multi-level custom sorts and number-based filters, before completing exercises on these skills.

10. Excel Formulas, References and Core Functions

The class covered basic Excel formula entry, including starting formulae with an equals sign, selecting cell ranges and using AutoSum. It reviewed the order of operations, the use of brackets, and the multiplication, division, addition and subtraction operators. Students practised relative and absolute cell references, using dollar signs to fix rows, columns or entire cells when copying formulae with AutoFill. The session also introduced named ranges and calculation functions including SUM, AVERAGE, MAX, MIN, COUNT, COUNTA, COUNTBLANK and IF. A practical exercise applied these functions to attendance, ticket sales, donations and bonuses.

11. Timed Excel Mock Examination Strategy

Students completed a timed mock Microsoft Office Specialist Excel examination using seven independent projects, then discussed time management and exam strategy. The class reviewed importing CSV and text data, clearing formatting, naming ranges, changing page orientation, checking workbook compatibility and saving work. Further tasks covered formulae and absolute references, autofill, conditional formatting, table styles, sorting, hyperlinks, column widths, chart styles, print areas, document properties, and filtering. Guidance was given on using keyboard shortcuts, reading instructions carefully, moving on from difficult tasks, and interpreting certification scoring.

12. Excel Text Import, Functions and Hyperlinks

The session covered importing tab-delimited text files and CSV files into Excel, checking delimiters and confirming that data has loaded correctly. Students practised Text to Columns to split data using delimiters such as spaces, tabs and commas. The class used text functions including LEFT, RIGHT, LEN, MID, PROPER, UPPER, LOWER, CONCAT and TEXTJOIN to extract, format and combine text values, including names and postal codes. Students also created hyperlinks to web pages, workbook locations and external documents, and completed a practical activity using imported crop data. The final section introduced print areas, print preview, page layout, headers and footers, and checks for document issues, accessibility and compatibility.

13. Excel Conditional Formatting, Charts and Sparklines

The session reviewed common errors in Excel certification practice tests, focusing on following instructions precisely, selecting the correct worksheet and cell range, and using formulae with the correct syntax. Students learnt how to apply, edit, inspect and remove conditional formatting, including colour scales, data bars and icon sets. The class covered creating and modifying charts, including chart types, titles, legends, layouts, axes, data selection, moving charts and adding alternative text for accessibility. It also introduced sparklines for displaying trends within cells and practised these skills through guided Excel exercises. Finally, students worked on print settings, document inspection, accessibility checks, document properties, page headers and automatic numbering.

14. Excel Text Tools, Charts and Printing

The session completed Excel practice projects for Microsoft Office Specialist preparation. Activities included combining text with CONCAT, extracting text with LEFT, converting text to upper case, using AutoFill and Flash Fill, and applying named ranges in calculations. Students created and edited a clustered column chart, added data series, changed chart layout and size, moved it to a separate sheet, and added alternative text. The class also practised table formatting, sorting and filtering data, hyperlinks, conditional counting, page setup, print areas, headers and footers, accessibility checking, document properties, Portable Document Format (PDF) export and compatibility checking. The next project was introduced as further practice in importing data, cell and table management, references, named ranges, sorting, grouping and text wrapping.

15. Excel Practice Project and Data Management

The session completed an Excel practice project for Microsoft Office Specialist preparation. Activities included importing text data, converting tables to ranges, deleting cells and rows, creating tables, copying formatting between workbooks, and using formulae, named ranges, AutoFill, COUNTIF and relative, absolute and mixed references. Students also practised conditional formatting, multi-level sorting, filtering by colour, freezing panes, sparklines, charts, print settings, document properties and inspection for comments or hidden sheets. Guidance was given on reading task instructions carefully and completing a timed practice exam.

16. Timed Excel Practice Test Review

Students completed and reviewed a timed Excel practice test designed to prepare them for the Microsoft Office Specialist Associate certification. The session covered importing CSV data, naming ranges and tables, changing page orientation, freezing panes, using SUM formulae across worksheets, and handling formula warnings. Further work included filtering and highlighting data, clearing formats, applying currency formats, converting between tables and ranges, sorting by region and month, and adding total rows. Students also practised copying and transposing data, with attention to reading task instructions accurately and managing examination time.

17. PowerPoint Presentation Design and Visual Content

The session introduced PowerPoint as a presentation tool and compared its interface, customisation options and common menus with other Microsoft Office applications. It covered creating, saving and editing presentations; using slide layouts, notes, presenter view, sections, headers and footers, themes, fonts, text columns, tables and imported Excel content. Students practised inserting, cropping, resizing, styling, rotating and arranging images, shapes, text boxes, icons, screenshots and grouped objects, including alignment and layer order. The class also explored hyperlinks, slide and section zooms for non-linear navigation, slide sizes and exporting to formats such as PDF, images and video. Accessibility features, including alternative text and live captions with translation, were demonstrated, alongside advice on clear and restrained visual presentation design.

18. PowerPoint Tables, Charts and Multimedia

The session covered advanced PowerPoint content, including creating tables manually and importing tables from Word and Excel while preserving or adapting formatting. It demonstrated creating and editing charts through linked Excel data, selecting data ranges, changing chart types and adding titles or legends. Students explored SmartArt, flowcharts, image placeholders and 3D models, including how images may be cropped to fit preset shapes. The class also covered inserting stock, online and YouTube videos, screen recordings and audio narration, then organising slides with sections, hidden slides and zoom links. Finally, it showed print layouts, speaker notes and accessibility checks such as adding alternative text.

19. PowerPoint Transitions, Animations and Slide Masters

The session completed PowerPoint work on transitions, including their effects, duration, sound options and manual or automatic slide advancement. It then covered animations for text, images and 3D objects, including sequencing, timing, motion paths and using animations to reveal presentation points gradually. Students learnt how to create custom slide shows, configure presentation settings for multiple screens, record presentations and export them as videos. The class also examined themes, templates, slide masters and notes masters, including creating reusable layouts, image placeholders, consistent branding and protected templates. Collaborative commenting, version recovery, presentation optimisation and file protection were also discussed.

20. Excel Certification Practice Test Support

The session used a Microsoft Office Specialist practice test to prepare for the certification examination. It reviewed Excel tasks including creating and editing charts, adding alternative text, importing CSV data, formatting tables, calculating totals and conditional averages, and managing worksheets. Further activities covered page layout, conditional formatting, named ranges, hyperlinks, sorting, text functions, saving workbooks as PDF or HTML, and configuring publication options. Guidance was also given on reading task wording carefully, using the correct worksheet and options, confirming each completed task, and managing time during the examination.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

12.5hrs 1 ECTS

History of Computer Systems

The development of computing, AI, networks, large-scale data systems and connected objects in their social and political contexts.

Enseigné par Pr Pierre Mounier-Kuhn
Inside the course

BSc · Year 1 · 5 sessions

History of Computer Systems

Course code: OS1-004

Understanding computing through the institutions that shaped it

Computing was examined as a history of needs, institutions and technical choices, rather than a succession of inventions alone. The sessions connected calculation and information processing with administration, industry, war and research. They followed the emergence of computer science, operating systems and networks, then considered platforms and physical infrastructure. Historical sources and comparisons provided ways to question simple accounts of where technologies came from.

What the sessions explored
Needs and machines

Calculating devices and early computers were related to the administrative, scientific, industrial and military problems they were developed to address.

A discipline and its software

Programming languages, computing centres and operating systems showed how engineering difficulties, research and teaching contributed to the development of computer science.

Networks and industrial choices

Telecommunications, platforms and semiconductor industries connected technical developments with standards, state strategies, commercial power and the material costs of digital infrastructure.

Explore the sessions
1. Information Technologies and Early Computing

The session introduced the history of computing as part of the wider history of information technologies, explaining how historians study sources, compare cases and identify technological trajectories. It traced early writing, numerical systems, astronomical mechanisms, clocks and calculating devices as ways of recording, processing and communicating information. The class examined calculating machines from Pascal and Babbage to punch-card tabulators, relating their development to administration, industry, banking, science and military needs. It then covered the emergence of electronic stored-program computers during and after the Second World War, including codebreaking, the Electronic Numerical Integrator and Computer (ENIAC), the von Neumann architecture, early memory technologies, information theory and cybernetics. Students also asked questions about the accuracy of early calculators, computer input and output, and the definition of a computer.

2. Wartime Computing and Stored-Program Machines

The session examined how growing states, businesses and scientific institutions created demand for increasingly powerful methods of calculation and data processing, from mechanical calculators and punch-card systems to electronic computers. It explained how wartime requirements in ballistics, cryptanalysis and scientific modelling accelerated the development of electronic and stored-program computers, with memory holding both data and instructions. The class considered why the computer became a universal machine capable of replacing specialised technologies through advances in components, memory, software, programming languages and microprocessors. It also covered the transfer of computers from academic laboratories to industry, contrasting academic and industrial research, intellectual-property protection, and the types of companies that entered the early computer market. Finally, it discussed the strategic importance of computing during the Cold War, the role of semiconductors, and the continuing influence of dominant firms, standards and regulation in the computer industry.

3. Computing as an Academic Discipline

The session examined how computing developed from a technical response to large-scale calculation and data-processing needs into an academic discipline. It challenged simple origin stories that present computer science as a direct product of abstract theory, emphasising instead the interaction between practical engineering, applied mathematics, industry, government and research institutions. The class covered stored-program computers, their architecture, early reliability and memory problems, and the role of computing centres in teaching, research and contracted work. It traced the development of programming from binary machine code and autocodes to high-level languages such as FORTRAN, COBOL and ALGOL, focusing on compilers, portability and the relationship between programming languages, logic and formal linguistics. It also discussed the emergence of theoretical computer science, operating systems, the software crisis and software engineering.

4. Operating Systems, Unix and Telecommunications

The session traced the development of operating systems from early stored-program computers through batch processing, multiprogramming, real-time computing and time-sharing. It explained how operating systems enabled the automation of tasks, protected memory between concurrent programs, and supported increasingly accessible personal computing. Major projects including OS/360, Multics and Unix were used to examine compatibility, software complexity, project management and the development of the C language. The class then surveyed the history of telecommunications and digital networks, from optical telegraphs to electronic communication, packet switching, the Advanced Research Projects Agency Network (ARPANET) and the Internet. Digital networks were discussed in relation to military air defence, industrial control, electricity distribution, economic planning, and the later commercial expansion of the Internet.

5. Internet History, Platforms and Infrastructure

The session traced military involvement in the development of digital networks, the development of packet switching, and the expansion of networks from ARPANET to commercial internet services. It examined the rise and decline of centralised management information systems, the network effect, data privacy concerns, and the French Minitel system. The class considered the World Wide Web’s utopian ideals alongside the later dominance of major internet platforms, the material infrastructure of cables and data centres, and their environmental costs. It also compared the development of information technology industries in Russia and China, including state strategy, manufacturing and competition with Western firms. Finally, it surveyed the history of electronics from vacuum tubes and transistors to integrated circuits, Moore’s law, semiconductor planning, and hybrid quantum-classical computing.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

25hrs 1 ECTS

Energy – Climate – Sustainable IT, Part 1

Energy fundamentals, production, distribution, heat transfer, electricity, storage and optimisation across renewable and non-renewable systems.

Inside the course

BSc · Year 1 · 10 sessions

Energy – Climate – Sustainable IT, Part 1

Course code: OS1-005

Energy: from physical principles to engineering decisions

How do we produce energy, move it, convert it and decide how to use it? These sessions approached those questions through energy systems, global pressures and the physics of heat, waves and electrical circuits. Computing appeared both as an engineering tool and as a subject for scrutiny: modelling physical systems, monitoring infrastructure and deciding when an automated prediction needs human review. Through these physical and applied cases, students practise the typical mathematics used in computer science.

What students explored
Energy systems and their trade-offs

Electricity generation, storage and distribution, considered alongside climate pressures, energy poverty, geopolitical dependence and the practical constraints of different technologies.

The physical foundations

Thermodynamics, heat transfer, waves and electrical circuits, using mathematical tools to describe how physical systems behave and how energy is converted.

Computing in engineering decisions

Digital monitoring, numerical modelling and industrial artificial intelligence (AI), with attention to prediction errors, operating costs and the role of human judgement.

Explore the sessions
1. Energy: forms, uses and trade-offs

Energy was introduced as the capacity to do work or cause change, with a distinction between energy and power. The discussion connected its use to climate change, population growth, urbanisation and rising electricity demand from digital technologies. Students compared generation methods, including fossil fuels, nuclear power and renewables, considering intermittency, storage, land use, transmission losses and maintenance. Electrified transport, charging infrastructure and smart grids brought these questions into everyday systems. The session also examined consumers who produce electricity, the cybersecurity risks of connected infrastructure, nuclear safety and waste, and the current limits of fusion.

2. Producing energy and delivering complex infrastructure

The session compared established nuclear reactors, small modular reactors, advanced designs and fusion, alongside wind and solar power. Controllability, land use, lifetime, waste and delivery constraints framed a discussion of diversified energy systems supported by storage and flexible generation. Digital monitoring, predictive maintenance, microgrids and hydrogen production extended that discussion. Attention then turned to cost and schedule overruns in major nuclear projects. Systems engineering methods—including digital twins, structured requirements, interoperable data platforms, construction planning and traceability—were examined as ways to address those difficulties, together with carefully governed use of artificial intelligence.

3. Energy crises, unequal access and transition

Comparing the 1973 oil crisis with the effects of the war in Ukraine showed how energy disruption reaches transport, food security, employment, inflation and trade. The session examined supply shortages, rising prices and dependence on imported fossil fuels, alongside historical responsibility for emissions and energy poverty. Countries’ different positions as producers, exporters, importers and consumers shaped the discussion. Renewable technologies were considered in terms of costs, limitations and the difficulty of financing transition in lower-income countries. Students also discussed greenwashing, carbon capture claims, hydrogen, fusion and practical reductions in personal energy use.

4. Heat, thermodynamic systems and entropy

Thermodynamics introduced a way to describe systems containing very large numbers of particles. A review of differentiation covered gradients, tangents, changing functions, concavity and points of inflection. Students distinguished open, closed and isolated systems, and intensive from extensive variables. The ideal gas law, states of matter, internal energy, pressure and temperature led into the first law of thermodynamics. Heat transfer and irreversibility brought in entropy, discussed through the number of possible microscopic configurations, with a connection to information theory.

5. How heat and matter move

Functions of two variables, partial derivatives, extrema and gradients provided mathematical tools for describing transport. Heat transfer and material diffusion were presented as irreversible processes driven by differences in intensive quantities. The session explored conduction, convection and radiation through Fourier’s law, thermal conductivity, everyday examples and black-body radiation, then introduced diffusion through Fick’s law. Heat engines, refrigerators and heat pumps connected these ideas to devices. Comparing petrol, diesel and Stirling engines brought together different conversion processes, their energy sources and the associated fossil-fuel use and carbon emissions.

6. Waves, sound and detecting methane

A wave was described as a disturbance that propagates without net transport of matter. Mechanical and electromagnetic waves introduced transverse and longitudinal motion, speed, delay, period, frequency, wavelength and phase. Sound provided examples of pressure waves, pure and complex signals, spectral analysis, intensity and decibel scales. The electromagnetic spectrum extended the discussion to visible light, black-body radiation and the greater energy of higher-frequency radiation. A concrete application connected this physics to environmental observation: using infrared spectral absorption in satellite measurements to identify and estimate methane emissions from oil extraction sites.

7. Electrical signals, filters and electromechanical conversion

Complex numbers provided tools for representing sinusoidal electrical signals. Resistors, capacitors, inductors, diodes and transistors were reviewed through their laws, energy behaviour and uses. Students examined impedance, transfer functions, frequency response, different filter types and Bode diagrams. Electromagnetic induction connected circuit behaviour to generators, motors, induction hobs, microphones and loudspeakers. Loudspeaker design then served as an application of filtering: multi-way speakers, crossovers, bass-reflex enclosures and passive radiators brought several concepts together. The session also considered the audio chain from analogue signals to digital representation.

8. Nuclear fusion and modelling plasma

Fission in existing power stations was compared with fusion, which combines light hydrogen isotopes. Atomic structure, chain reactions and energy from mass differences led into the roles of deuterium, tritium and lithium. Students considered plasma, magnetic and inertial confinement, tokamaks, stellarators and the Lawson criterion. The ITER fusion project illustrated challenges involving materials, superconducting magnets, tritium breeding and remote maintenance. Potential benefits were considered alongside technological limits. Numerical modelling, inverse problems and finite-element meshes showed how plasma behaviour can be reconstructed from external measurements.

9. Classifying vehicles with computer vision

An industrial example examined automated vehicle classification at motorway tolls. Height and axle detection can misclassify vehicles; labelled camera images offered a route to training a deep-learning model that returns a class and a confidence score. Students distinguished classification from regression and, in groups, identified model inputs and outputs. They considered how fleets, weather and camera equipment change over time, and why retraining may be needed. Confusion matrices supported calculations of accuracy, error rate, precision and recall, connecting model performance to undercharging, overcharging and the proportion of transactions automated.

10. Balancing prediction quality, automation and cost

Continuing the classification example, students calculated errors and checked whether individual error categories could plausibly fit within the overall error rate. They compared confidence thresholds using the share of transactions automated and the costs of manual processing, undercharging and overcharging. The class selected a threshold that met an industrial quality requirement while minimising total cost, with uncertain cases passed to human operators. The session also revisited heat transfer, black-body radiation, waves, electrical quantities and filters, alongside the distinction between classification and regression.

An account of teaching delivered in this course. Content and sequencing may vary between cohorts.

05 — Certifications professionnelles

Trois ans, trois certifications, des fondamentaux certifiés dès le départ.

Les certifications professionnelles sont intégrées au parcours du Bachelor, ce ne sont pas des compléments facultatifs. Les étudiants valident trois certifications reconnues sur l’ensemble du programme : deux certifications fondamentales en Année 1, puis une certification technique avancée avant l’obtention du diplôme. La progression et la diplomation restent liées à ce parcours de certification.

Règle stricte du BSc

Trois certifications obligatoires sur l’ensemble du programme.

Le parcours BSc Computer Science & Engineering utilise les certifications professionnelles pour rendre les compétences techniques visibles auprès des employeurs. Dès l’Année 1, les étudiants font certifier leurs fondamentaux en productivité et cloud ; les Années 2 et 3 approfondissent ensuite les systèmes, les réseaux et la sécurité avant la certification avancée.

Année 1 Microsoft Office Specialist: Associate (Excel)
Année 1 AWS Cloud Practitioner ou Microsoft Azure Fundamentals
Années 2–3 Une certification technique avancée préparée durant le programme
06 — Où et comment vous étudiez

Campus experience, live streamed access.

DSTI fonctionne comme une seule école entre campus physiques et accès Live Streamed. Les exigences académiques restent les mêmes.

Paris

Un campus central dans l’une des grandes capitales académiques, culturelles et économiques d’Europe.

Accès Live Streamed

Suivre les cours en direct à distance, avec le même parcours académique et le même accompagnement.

07 — Carrières

Des bases Bachelor aux rôles techniques.

Le parcours prépare à la fois l’entrée dans des rôles techniques professionnels et la poursuite d’études de niveau master.

Compétences des diplômés

Les diplômés apprennent à identifier, formuler et résoudre des problèmes complexes en mobilisant les principes de l’ingénierie, de la science et des mathématiques. Ils apprennent aussi à communiquer efficacement, travailler en équipe, analyser des données et exercer un jugement d’ingénierie.

Exemples de rôles

  • Data / Big Data Developer
  • Cloud Computing Specialist
  • System Analyst
  • Cyber Security Officer / Analyst
  • Back-end Software Developer
  • IT Operations Specialist
Primary route

Stages en France ou à l’étranger

DSTI peut signer des conventions pour des stages pertinents en France ou à l’étranger, sous réserve de validation par la Direction des Études. C’est la voie principale pour les étudiants On-Campus et Live Streamed : les stages peuvent se faire en France, dans le pays d’origine ou sur un autre marché pertinent lorsque la mission est cohérente avec le programme.

Parcours local

Votre pays ou marché professionnel

Un stage local cohérent peut être la bonne voie professionnelle lorsqu’il correspond aux objectifs du BSc.

CRCC Asia logoAlternative structurée

Option CRCC Asia

La voie CRCC Asia propose un parcours structuré de stage de trois mois à l’étranger pour les étudiants qui souhaitent une expérience internationale organisée.

Voir CRCC Asia
Accompagnement carrière

CV, profiles and positioning

Les étudiants sont accompagnés sur le CV, les candidatures et le positionnement professionnel avant l’entrée sur le marché du travail ou la poursuite d’études.

08 — Admissions

Sélectif, compétitif et transparent.

La procédure d’admission s’applique à tous les formats d’études et vise à identifier les candidats ayant les bases académiques, la motivation et le sérieux nécessaires pour réussir.

1

Recherche

Consultez le Bachelor et réservez un rendez-vous d’information en ligne pour discuter du profil, du programme et des frais.

2

Candidature

Déposez la candidature en ligne avec une pièce d’identité, les relevés académiques et une lettre de motivation.

3

Entretien

Si la candidature avance, passez un entretien d’admission d’environ 20 minutes.

4

Décision

Recevez la décision officielle d’admission et, le cas échéant, la lettre d’admission.

Rentrée d’automne

Automne 2026

Date limite étudiants internationaux
31 juillet 2026
Date limite étudiants UE
31 juillet 2026
Journée d’induction
9 octobre 2026
Début des cours
12 octobre 2026
Rentrée de printemps

Printemps 2027

Date limite étudiants internationaux
21 janvier 2027
Date limite étudiants UE
11 mars 2027
Journée d’induction
24 mars 2027
Début des cours
30 mars 2027
Éligibilité des candidats undergraduate +
  • Relevés académiques du secondaire, par exemple International Baccalaureate ou équivalent du baccalauréat français.
  • À titre indicatif, au moins 60 % dans les matières scientifiques pendant l’avant-dernière année et le premier semestre de la dernière année.
  • Niveau minimum B2 en anglais.
  • Entretien d’admission réussi.
Entrée directe en deuxième année +

Les candidats ayant terminé, ou terminant, une première année d’études supérieures de niveau Bachelor en informatique et/ou ingénierie peuvent demander une entrée directe en deuxième année. La Direction des Études examine le dossier et demande des examens DSTI de première année en ligne sur DSTI Learn, avec surveillance par computer vision et Safe Exam Browser.

  • Examens requis : Computer Architecture and Operating Systems; Relational Database Management Systems; Introduction to Computer Networks; Mathematics Harmonisation.
  • Les candidats disposent de 30 jours après candidature. Des frais supplémentaires d’examen de 50 € sont requis et crédités sur les frais de scolarité en cas d’admission.
  • La Direction des Études est souveraine et examine notamment l’obtention du seuil minimum de réussite DSTI de 60 %.

Lire les indications sur l’entrée directe

Configuration informatique requise +
  • Ordinateur portable Windows PC, pas Apple Mac.
  • Au moins Intel Core i5 quad-core ou Intel i7 dual-core, ou équivalent AMD.
  • 16 Go de RAM minimum.
  • SSD 1 To minimum.
  • Compatible Windows 11. DSTI fournit Windows Education au début des cours.

Prêt à vérifier si ce Bachelor est fait pour vous ?

Prenez rendez-vous en individuel, rejoignez une session de groupe du jeudi, échangez avec les Ambassadeurs DSTI ou démarrez votre candidature.