This course is an introduction to computer networking for undergraduates. In this course, you will familiarize yourself with the basic principles and the architecture of computer networks. We will go over the main components and applications of the TCP/IP protocol stack as well as the Internet. The class consists of lectures and lab sessions. During the lab sessions, you will work on a set of small exercises to get hands-on experience of what you have learned during the lecture.

With this course, you will acquire the basic knowledge of the Internet architecture and of its evolution. You will also understand the internals of the Internet protocols. In addition, you will be able to design and code your own TCP/IP applications and protocols and to solve simple configuration and performance problems that may arise in practice.

L'objectif de ce cours est la maitrise des outils des processus stochastiques utiles pour un ingénieur travaillant dans les domaines des systèmes de communication, de la science des données et de l'informatique.

Information is stored and processed in hardware components. With their miniaturization the concept of classical bit must be replaced by the notion of quantum bit. After having introduced the basics of quantum physics for "discrete" systems, the basic spin 1/2 qubit and its manipulation on the Bloch sphere are illustrated. This course then develops the subjects of communications, cryptography, quantum correlations, and introduces elementary concepts  of quantum physics with applications in information theory such as the density matrix and von Neumann's entropy. The course is intended for an audience with no knowledge of quantum physics and elementary knowledge of classical physics and linear algebra. Practical exercises, simulations and implementations on NISQ devices will also be covered during the semester. This course prepares students for more advanced quantum information classes.

Computer Language Processing presents algorithms, tools, and theory for automatically processing computer languages. These include in particular programming languages, so the course covers the topic of construction of interpreters and compilers. At the same time, it studies more broadly the concept of processing formal languages, such as regular and context-free languages.