Since October 2008 I have taught in the Faculty of NTIC (New Information and Communication Technologies) of the University of Abdelhamid Mehri-Constantine 2 the following modules: software engineering (3rd year engineer from 2008 to 2010), project management ( 4th year engineer from 2008 to 2011), advanced software engineering (Second year Master's degree academic from 2009 to 2014), formal models of parallelism (5th year engineer from 2008 to 2010), Advanced Java concepts (3rd year Bachelor's degree option Software engineering), Development of concurrent applications (3rd year Bachelor's degree option Software engineering since 2015), Software Architectures (Second year Master's degree option Software engineering since 2017), Databases (2nd year Bachelor's degree since 2017), etc.
Software Engineering (Génie Logiciel)
UML
Object-oriented analysis and design
Object-Oriented programming
Unified process
Java Basics (Le langage java de base)
Advanced Java concepts (Les concepts avancés de java) :
Concurrent programming: java Threads
Distributed programming: Sockets
Bean technology
RMI technology
Applets: introduction to applets
Introduction to JSP and servlet:
JDBC (Access to a database)
Project management (Gestion de projet) :
Project estimation
Project Schedule: GANTT and PERT charts, MSProject
5. Advanced software engineering (Génie Logiciel Avancé) :
Introduction to middleware
Distributed object middleware (RMI)
Introduction to the software component
The Fractal component model
Design patterns
6. Formal models of parallelism (Modèles formels du parallélisme) :
Introduction to LOTOS language
Formal verification of reactive systems (part 1): behavioral approach (bisimulation)
Formal verification of reactive systems (part 2): logical and test-based approaches
7. Development of concurrent applications
8. Software Architecture:
Design patterns: https://mooc.univ-constantine2.dz/courses/2-design-patterns
Microservices, Spring boot, Spring MVC and Spring Cloud
Introduction to DevOps
DevOps tools