Enseignement
Nous donnons des cours offerts dans les programmes de premier cycle et de cycles supérieurs du DIRO.
Cours de premier cycle
-
IFT 1015 Programmation I
- Lecturer Louis-Edouard LAFONTANT
- Tools and language Codeboot, Python
- Links UdeM webpage
- types and expressions
- control flows
- functions
- array and structure
- file manipulation
- exceptions and error handling (intro)
- recursivity
- tests
The goal of this course is to introduce students to the fundamentals of programming with a focus on imperative language. This course also aims to give students a practical experience in Python.
-
IFT 1025 Programmation II
- Lecturer Michalis FAMELIS
- Tools and language Java, JavaFX, Git
- Links UdeM webpage
- OOP concepts: class & object, encapsulation, inheritance, interface
- server-client architecture
- data structures and algorithms (intro)
- file handling and serialization
- exceptions and error handling
- multithreading
- event-driven programming
- file manipulation
- error handling
- graphical user interface (GUI)
The goal of this course is to introduce students to the fundamentals of programming with a focus on imperative language. This course also aims to give students a practical experience in Java.
-
IFT 2255 Génie logiciel
- Lecturer Louis-Edouard LAFONTANT
- Tools and language UML diagrams, Java, JUnit, Git
- Links UdeM webpage
- Software processes
- Software engineering workflows
- Software architecture
- OOP
- UML
- TDD
The goal of this course is to introduce students to the software engineering discipline focusing on its techniques and methodologies. The course covers the theory of software engineering, but also gives students a practical hands-on experience on collaborative development of a software they will build.
-
IFT 3911 Analyse et conception des logiciels
- Lecturer Eugene SYRIANI
- Tools and language UML diagrams, OCL, Yakindu, Java, JUnit, Git
- Links UdeM webpage
- Principles of good OO design
- UML
- OCL
- Code generation
- Design patterns
- Statecharts
- Petrinets
- Evaluation and analysis of software design
The goal of this course is to give students an in-depth insight in the nature of object-oriented analysis and design. At the end of the course, students will have gained a solid experience in developing non-trivial software. The focus of this course is on design rather than implementation.
-
IFT 3913 Qualité du logiciel et métriques
- Lecturer Benoit BAUDRY
- Tools and language Java
- Links UdeM webpage • Official website
- software quality
- quality assurance
- quality assurance plan
- quality control techniques (tests, code review, inspections)
- software quality standards
- measure theory
- product and process metrics
- software quality metrics
The goal of this course is to introduce students to software evaluation techniques and software quality metrics.
Cours de cycles supérieurs
-
IFT 6253 Conception basée sur les modèles
- Lecturer Eugene SYRIANI
- Tools and language UML, AToMPM, Eclipse, Ecore, ATL, Xtext
- Links UdeM webpage
- Modeling languages
- Domain-specific languages
- Metamodeling
- Model transformation
- Analysis techniques on models
- Model simulation
The goal of this course is to familiarize students with techniques in modeling at different levels of abstraction, such as in model-driven engineering and in simulation-based design.
-
IFT 6256 Art algorithmique et logiciel libre
- Lecturer Benoit BAUDRY
- Tools and language Rust, Javascript, Java, Python, Git
- Links UdeM webpage • Official website
- The tradition of algorithmic art
- Software environments for generative art
- Software environments for live coding
- Research in software for art
Learn about open source software environments and practices for generative digital art. Computer science students dive into the technical challenges of algorithmic art, beyond the utilitarian aspects of software. Artists and designers dive into open source software and the diversity of techniques it offers for algorithmic art.
-
IFT 6755 Analyse du logiciel
- Lecturer Michalis FAMELIS
- Tools and language Z3, Alloy, NuSMV
- Links UdeM webpage
- Propositional logic and SAT-based analysis
- First order logic and analysis
- Temporal logic
- Verification by model checking
- Empirical methods in software engineering
- introduction to software product line.
The goal of this course is to familiarize the students with formal methods used to analyze software, such as propositional logic, temporal logic and model checking.
