Accès direct au contenu


Sébastien Pillement Teachings

A- A+ Aa
I am teaching in the Electronic and Digital Technologies" department of Polytech'Nantes, the graduate school of engineering of the University of Nantes. Most of my classes are based on high numbers of practical experiments and projects.

Computer engineering

Digital circuits

This course introduces the design of digital systems. The basics about boolean logic, combinational and sequential circuits, finite state machines, RTL design, and basic datapath components are introduced. Digital Circuits introduces students to VHDL hardware description language. Students make extensive use of Xilinx VIVADO to simulate and implement complex combinational and sequential circuits onto an Zynq FPGA board.

Digital Systems Design

This Computer Engineering course presents advanced principles for Register Transfer Level (RTL) design of digital systems. Based on the IP reused approach the students have to design a complete digital system, including a processor core, memory banks and peripherals. Students make extensive use of industry standard CAD tools for simulation and synthesis of digital systems.

Computer architecture

In this class students first become familiar with how to measure performance and understand current trends in how the industry is building computers. Then, the basics of how building machines with powerful and fast single microprocessors are introduced. For this, it is important to study how memory hierarchies, interconnect networks, compilers and programming languages must be handled to design a highly efficient computing system. The next generation of systems, referred to as manycores, is then introduced with the current trends in parallel computing.

Operating systems

The goal of this course is to provide a general introduction to and understanding of operating systems. The role of those systems in the design and operation of today's computer systems is explained as well as their design goals and requirements. Besides the concepts and structures of operating systems, the class is devoted to the central components of a modern operating system. These include process management (creation, synchronization, and communication), processor scheduling and deadlock prevention, memory management, and files and mass storage management. The class consist of a practical programming under Linux, development and integration of dedicated modules and integration on an iMX6 system. All developments are made using the C programming language.

Real-Time systems

Real-time performance is one of the most important characteristics of critical embedded systems. Understanding the organization, requirements and design principle of those systems, which must react to external changes within a given period of time is the goal of this course. A major part of the course is devoted to scheduling, thus providing the required theoretical foundation. The lab is based on a platform with a commercial embedded processor (iMX6) running a real-time operating system (Xenomai).

Computer science

Introduction to Programming Languages, and Algorithms

This course provides an introduction to mathematical modeling of computational problems. It is aimed at students with little or no programming experience. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. It also aims to help students, to feel justifiably confident of their ability to write small programs. The class uses the C programming language.

Teaching collaborations

  • All4tech