A Few Stats
Hours per Teaching Type | Hours per Teaching Level |
|
|
Teaching Establishments
INSA Rennes (Fr) Since 2011 |
Univ. Politécnica de Madrid (Es) 2016 – 2017 |
Université Clermont Auvergne (It) 2019 |
ISTIC – Univertité Rennes 1 (Fr) Since 2015 |
INSA Euroméditerranée (Ma) Since 2016 |
My Courses
Parallel Programming for Embedded MPSoCs [Master 2]
Lecture: 8 hr | Lessons: 0 hr | Lab: 12 hr | Project: 10 hr |
Course description:
For many years, following the ever-increasing number of transistors per chip, advances in computer architecture mostly consisted of adding complex mechanisms to mono-core processors to improve their computing performance. In the last decade, the continuous growth of computing performance was supported by the introduction of multi-core architectures, first for high-performance computing, then in mainstream desktop CPUs, and now in smartphones and embedded systems. Embedded systems implementing modern applications such as telecommunication standard 3GPP Long Term Evolution (LTE) and video compression standard MPEG High Efficiency Video Coding (HEVC) require high execution speed, low power consumption and run-time adaptivity. Adaptivity, memory limitation and load balancing between cores are hard to obtain. This course intends to give an overview of distributed high performance solutions and of the new challenges brought by latest applications and Multiprocessors Systems-on-Chips (MPSoCs) architectures such as the 8-core Texas Instruments TMS320C6678 or the 256-core Kalray MPPA. Solutions for programming such architectures will be discussed. Targeted competences are: Content: |
|||
Taught courses:
|
Close description
Git: basic principles and use [Bachelor 3]
Lecture: 3 hr | Lessons: 0 hr | Lab: 3 hr | Project: 0 hr |
Course description:
When working on a group project, using an efficient system for sharing files is often key to success. Unfortunately, the most commonly used means of file transfers (e-mails, USB drive, synchronised folders, smoke signals…) are not very well suited for intensive file exchanges, even in a small group. Moreover, with such systems, it is difficult to keep track of the evolution of the project, which makes it very difficult to find the origin of a bug in project. The purpose of Concurrent Versioning Systems (CVS) is to offer file sharing systems specifically design for the simultaneous work of many developers on a common project. In this course, the basic concepts of the git versioning system are introduced, assuming no prior knowledge on any versioning system. After presenting the motivations for using a versioning system, the basic mechanics behind git will be introduced both conceptually, and through the illustration of tool commands. A quick comparison of git with other Concurrent Versioning Systems (CVS), a presentation of tools and website based on git, and a set of good practices for git users conclude this seminar. Concepts presented during the lecture will be put into practice during a lab. |
|||
Taught courses:
|
Close description
C Programming Project [Bachelor 3]
Lecture: 0 hr | Lessons: 0 hr | Lab: 0 hr | Project: 24 hr |
Course description:
The objective of this project is to use the programming skills acquired during the previous semester. Objectives are classified along 3 axes:
Content:
|
|||
Taught courses:
|
Close description
Object-Oriented Programming and Complexity on Java [Bachelor 2]
Lecture: 10 hr | Lessons: 0 hr | Lab: 12 hr | Project: 0 hr |
Course description:
A first objective is to advance the knowledge of object oriented programming concepts. Content:
|
|||
Taught courses:
|
Close description