ECTS
4 credits
Training Structure
College of Sciences
Description
Computer engineering is the discipline that deals with the design, development, and manufacture of computer systems, from both a hardware and software perspective.
This field has become fundamental to engineering sciences—whether in electronics, robotics, signal processing, or measurement—due to the significant role that computers have come to play in all of these areas.
This module aims to help students develop computer code on a scale commensurate with that of a complete software application. The volume of code involved naturally creates a need to structure the code so that it remains manageable, and the concepts related to code structuring will therefore be introduced or reinforced.
Instruction is thus organized primarily around practical exercises and projects. The context largely involves core topics of the EEA program: signal processing (data acquisition chain), instrument interfacing, and data transmission over the Internet via an embedded Linux platform. The topic of event-driven programming through the development of graphical user interfaces will also be covered. The programming languages used will be LabVIEW and Python. Students may choose to incorporate elements of C/C++ into their projects.
Objectives
- be able to develop software that contains a substantial amount of code,
- know how to structure computer code
- IT implementation of techniques related to EEA topics: signal processing, instrument interfacing (data acquisition system), and data transmission via the Internet (Wi-Fi, Ethernet, etc.)
- event-driven programming and graphical user interface development
Class Hours
- Computer Engineering for the EEA - LectureLecture3 hours
- Computer Engineering for the EEA - LabLab Sessions30 hours
Mandatory Prerequisites
Be able to program in at least one imperative programming language, ideally Python.
Recommended prerequisites*:
Strong knowledge of Python. Knowledge of C is a definite plus.
Knowledge Assessment
100% continuous monitoring.
Course Outline
Course: Algorithms, Computer Code and Data Structures.
Practical Exercises:
The lab sessions focus on applications involving signal acquisition, processing, and visualization (acoustic, optical, imaging, etc.), data transmission over a network, and event-driven programming.
- Interfacing and programming components for instrument control.
- Data acquisition and output: sensors, sampling, quantification, digitization (use of real-world systems as data acquisition systems)
- Collecting basic data on an embedded Linux device (Raspberry Pi) and writing a service to upload the data
- Querying a remote data retrieval service using a PC and a graphical interface for processing and presenting results
Project:
Each year, a new project theme is proposed. Meetings between faculty and students are held regularly to assess the project’s progress and assist students in developing their projects. Project themes will range from data collection to computer graphical interfaces.
Additional Information
CM: 3 hours
Practical Training: 30 hours