Main prerequisite courses

Some of the 3rd year, Master courses and specializations require students to take a prerequisite course. To help you choose your courses, below is a non-exhaustive list of prerequisite courses.

Be careful: Other courses also have prerequisites. Please refer to the courses descriptions.

Master programs

For students from the Bachelor in Computer Science:

  • No prerequisites

For students from the Bachelor in Communication Systems:

  • Computer architecture II (2nd year)
  • Functional programming (2nd year)
  • Parallelism and concurrency (2nd year)
  • Introduction to database systems (3rd year)
  • Introduction to operating systems (3rd year)
  • Software engineering (3rd year)
  • Software development project (3rd year)

For students from the Bachelor in Communication Systems:

  • No prerequisites

For students from the Bachelor in Computer Science:

  • Analyse IV (2nd year)
  • Signals and systems (2nd year)
  • Algebra (3rd year)
  • Modèles stochastiques (3rd year)
  • Principles of digital communications (3rd year)
  • Signal processing for communications (3rd year)

For students from the Bachelor in Computer Science:

  • Algebra (3rd year)

For students from the Bachelor in Communication Systems:

  • Functional programming (2nd year)
  • Introduction to database systems (3rd year)
  • Introduction to operating systems (3rd year)

For students from the Bachelor in Computer Science:

  • Analyse IV (2nd year)
  • Introduction to machine learning (2nd year)
  • Signals and systems (2nd year)
  • Modèles stochastiques (3rd year)

For students from the Bachelor in Communication Systems:

  • Functional programming (2nd year)
  • Introduction to database systems (3rd year)
  • Introduction to operating systems (3rd year)

For students from the Bachelor in Computer Science:

  • Introduction to machine learning (2nd year)
  • Signals and systems (2nd year)
  • Intelligence artificielle (3rd year)
  • Introduction aux sciences du vivant pour IC (3rd year)
  • Signal processing for communications (3rd year)

For students from the Bachelor in Communication Systems:

  • Introduction to machine learning (2nd year)
  • Intelligence artificielle (3rd year)
  • Introduction aux sciences du vivant pour IC (3rd year)

If you are interested in this Master’s degree, we recommend that you take the following courses during your Bachelor’s degree in Computer Science or Communication Systems:

  • Quantum information processing
  • Quantum physics

Bachelor courses prerequisites for Master’s Specializations: 

  • Analyse III (2nd year) ⇒ Distributed intelligent systems
  • Computer architecture (2nd year) ⇒ Advanced computer architecture, Advanced multiprocessor architecture, Principles of computer systems, Real-time embedded systems
  • Computer language processing (3rd year) ⇒ Principles of computer systems
  • Computer networks (2nd year) ⇒ Principles of computer systems
  • Functional programming (2nd year) ⇒ Principles of computer systems
  • Introduction to database systems (3rd year) ⇒ Principles of computer systems
  • Introduction to operating systems (3rd year) ⇒ Principles of computer systems
  • Probabilities and statistics (2nd year) ⇒  Distributed intelligent systems
  • Projet systems-on-chip (3rd year) ⇒ Embedded systems
  • Software engineering (3rd year) ⇒ Principles of computer systems
  • Algorithms (2nd year) ⇒ Advanced algorithms, Computational complexity, Machine learning
  • Analyse III (2nd year) ⇒ Machine learning, Markov chains and algorithmic applications
  • Introduction to machine learning (2nd year) ⇒ Machine learning
  • Introduction to database systems (3rd year) ⇒ Database systems, Distributed information systems
  • Linear models (3rd year) ⇒ Machine learning
  • Modèles stochastiques pour les communications (3rd year) ⇒ Markov chains and algorithmic applications, Statistical signal and data processing through applications
  • Introduction to operating systems (3rd year) ⇒ Database systems
  • Probabilities and statistics (2nd year) ⇒ Advanced algorithms, Markov chains and algorithmic applications, Machine learning, Statistics for data science
  • Signal processing for communications (3rd) ⇒ Statistical signal and data processing through applications
  • Theory of computation (2nd year) ⇒ Computational complexity
  • Algorithms (2nd year) ⇒ Advanced algorithms, Concurrent algorithms, Distributed algorithms
  • Computer architecture (2nd year) ⇒ Principles of computer systems
  • Computer language processing (3rd year) ⇒ Principles of computer systems
  • Computer networks (2nd year) ⇒ Distributed algorithms, Principles of computer systems
  • Functional programming (2nd year) ⇒ Principles of computer systems
  • Introduction to database systems (3rd year) ⇒ Database systems, Distributed information systems, Principles of computer systems
  • Introduction to operating systems (3rd year) ⇒ Concurrent algorithms,, Database systems, Distributed algorithms, Principles of computer systems
  • Parallelism and concurrency (2nd year) ⇒ Concurrent algorithms
  • Probabilities and statistics (2nd year) ⇒ Advanced algorithms
  • Software engineering (3rd year) ⇒ Principles of computer systems
  • Algebra (3rd year) ⇒ Cryptography and security
  • Algorithms (2nd year) ⇒ Advanced algorithms, Cryptography and security
  • Computer architecture (2nd year) ⇒ Advanced computer architecture
  • Computer networks (2nd year) ⇒ Mobile networks
  • Computer security (3rd year) ⇒ Advanced topics on privacy enhancing technologies, Cryptography and security, Mobile networks, Student seminar: security protocols and applications
  • Principles of digital communications (3rd year) ⇒ Mobile networks
  • Probabilities and statistics (2nd year) ⇒ Advanced algorithms, Cryptography and security
  • Algebra (3rd year) ⇒ Cryptography and security
  • Algorithms (2nd year) ⇒ Advanced algorithms, Cryptography and security, Distributed algorithms
  • Computer networks (2nd year) ⇒ Distributed algorithms, Mobile networks
  • Computer security (3rd year) ⇒ Cryptography and security, Mobile networks
  • Introduction to database systems (3rd year) ⇒ Distributed information systems
  • Introduction to operating systems (3rd year) ⇒ Distributed algorithms
  • Modèles stochastiques pour les communications (3rd year) ⇒ Networks out of control
  • Principles of digital communications ⇒ Mobile networks
  • Probabilites and statistics (2nd year) ⇒ Advanced algorithms, Cryptography and security
  • Algorithms (2nd year) ⇒ Machine learning
  • Introduction to machine learning (2nd year) ⇒ Machine learning
  • Introduction to computer graphics (3rd year) ⇒ Advanced computer graphics, Virtual reality
  • Linear models (3rd year) ⇒ Machine learning
  • Modèles stochastiques pour les communications (3rd year) ⇒ Statistical signal and data processing through applications
  • Probabilities and statistics (2nd year) ⇒ Automatic speech processing,  Machine learning
  • Signal processing for communications (3rd year) ⇒ Automatic speech processing, Biomedical signal processing, Computational photography, Mathematical foundations of signal processing, Statistical signal and data processing through applications
  • Algorithms (2nd year) ⇒ Concurrent algorithms, Distributed algorithms
  • Computer architecture (2nd year) ⇒ Advanced computer architecture, Advanced multiprocessor architecture, Principles of computer systems
  • Computer language processing (3rd year) ⇒ Principles of computer systems
  • Computer networks (2nd year) ⇒ Decentralized systems engineering, Distributed algorithms, Mobile networks, Principles of computer systems
  • Computer security (3rd year) ⇒ Decentralized systems engineering, Mobile networks
  • Functional programming (2nd year) ⇒ Principles of computer systems
  • Introduction to database systems (3rd year) ⇒ Database systems,  Principles of computer systems
  • Introduction to operating systems (3rd year) ⇒ Concurrent algorithms, Database systems, Decentralized systems engineering, Distributed algorithms, Principles of computer systems
  • Parallelism and concurrency (2nd year) ⇒ Concurrent algorithms, Decentralized systems engineering
  • Principles of digital communications (3rd year) ⇒ Mobile networks
  • Software engineering (3rd year) ⇒ Principles of computer systems
  • Computer networks (2nd year) ⇒ Mobile networks
  • Computer security (3rd year) ⇒ Mobile networks
  • Modèles stochastiques pour les communications (3rd year) ⇒ Networks out of control, Statistical signal and data processing through applications
  • Principles of digital communications (3rd year) ⇒ Mobile networks
  • Probabilities and statistics (2nd year) ⇒ Advanced probability and applications
  • Signal processing for communications (3rd year) ⇒ Statistical signal and data processing through applications
  • Algorithms (2nd year) ⇒ Advanced algorithms, Concurrent algorithms, Distributed algorithms, Machine learning, Topics in theoretical computer science
  • Analyse III (2nd year) ⇒ Advanced probability and applications, Machine learning, Markov chains and algorithmic applications
  • Computer networks (2nd year) ⇒ Distributed algorithms
  • Graph theory (3rd year) ⇒ Probabilistic method in combinatorics
  • Introduction to machine learning (2nd year) ⇒ Machine learning
  • Introduction to operating systems (3rd year) ⇒ Concurrent algorithms, Distributed algorithms
  • Linear models (3rd year) ⇒ Machine learning
  • Modèles stochastiques pour les communications (3rd year) ⇒ Markov chains and algorithmic applications
  • Parallelism and concurrency (2nd year) ⇒ Concurrent algorithms
  • Probabilities and statistics (2nd year) ⇒ Advanced algorithms, Advanced probability and applications, Machine learning, Markov chains and algorithmic applications
  • Algebra (3rd year) ⇒ Cryptography and security
  • Algorithms (2nd year) ⇒ Cryptography and security, Distributed algorithms, Machine learning
  • Computer networks (2nd year) ⇒ Distributed algorithms
  • Computer security (3rd year) ⇒ Cryptography and security
  • Intelligence artificielle (3rd year) ⇒ Intelligent agents
  • Introduction to database systems (3rd year) ⇒ Database systems, Distributed information systems
  • Introduction to machine learning (2nd year) ⇒ Machine learning
  • Introduction to operating systems (3rd year) ⇒ Database systems, Distributed algorithms
  • Linear models (3rd year) ⇒ Machine learning
  • Modèles stochastiques pour les communications (3rd year) ⇒ Networks out of control
  • Probabilities and statistics (2nd year) ⇒ Cryptography and security, Machine learning