Students completing successfully this option will be able to
• explain the problems encountered in the conduct of large software projects, as well as the critical impact of the choice of solutions throughout their lifecycle (design, validation, documentation, communication and management involving large teams as well as costs and deadlines) ;
• select and apply methods and tools of software engineering to develop complex software systems that meet strict criteria of quality: reliability, adaptability, scalability, performance, security, usability ... ;
• model the products and processes required to obtain such systems and analyze these models ;
• develop and implement programs of analysis, conversion and optimization of computer systems ;
• use properly and wisely different paradigms and programming languages, in particular with regard to functional, object-oriented and concurrent programming ;
• be awarded of challenges of different models of concurrent and distributed programming and select the appropriate template ;
• define a new language (syntax and semantics) suitable to a specific context.
• explain the problems encountered in the conduct of large software projects, as well as the critical impact of the choice of solutions throughout their lifecycle (design, validation, documentation, communication and management involving large teams as well as costs and deadlines) ;
• select and apply methods and tools of software engineering to develop complex software systems that meet strict criteria of quality: reliability, adaptability, scalability, performance, security, usability ... ;
• model the products and processes required to obtain such systems and analyze these models ;
• develop and implement programs of analysis, conversion and optimization of computer systems ;
• use properly and wisely different paradigms and programming languages, in particular with regard to functional, object-oriented and concurrent programming ;
• be awarded of challenges of different models of concurrent and distributed programming and select the appropriate template ;
• define a new language (syntax and semantics) suitable to a specific context.
> Legend | ||||||||
The student shall select |
||||||||
De 20 à 30 credits parmi | ||||||||
Year | ||||||||
1 | 2 | |||||||
Compulsory courses in Software Engineering and Programming Systems | ||||||||
LSINF2224 | Programming methods | Charles Pecheur | 30h+15h | 5 credits | 2q | x | x | |
LINGI2252 | Software Engineering : Measures and Maintenance | Kim Mens | 30h+15h | 5 credits | 1q | x | x | |
LSINF2345 | Languages and algorithms for distributed applications | Peter Van Roy | 30h+15h | 5 credits | 2q | x | x | |
LINGI2251 | Software engineering: development methods | Charles Pecheur | 30h+30h | 5 credits | 2q | x | x | |
Elective courses in Software Engineering and Programming Systems
The student can select 10 credits amongst |
||||||||
LSINF2335 | Programming paradigms : theory, practice and applications | Kim Mens | 30h+15h | 5 credits | 2q | x | x | |
LSINF2382 | Computer supported collaborative work | Jean Vanderdonckt | 30h+15h | 5 credits | 2q | x | x | |
LINGI2143 | Concurrent systems : models and analysis | Charles Pecheur | 30h+15h | 5 credits | 1q | x | x | |
LINGI2264 | Automated reasoning | N. | 30h+15h | 5 credits | 1q | x | x | |
LINGI2365 | Constraint programming | Yves Deville | 30h+15h | 5 credits | 2q | x | x | |
LINMA2111 | Discrete mathematics II : Algorithms and complexity | Vincent Blondel, Jean-Charles Delvenne (compensates Vincent Blondel) | 30h+22.5h | 5 credits | 2q | x | x | |
LINGI2355 | Software requirements & architecture | N. | 30h+15h | 5 credits | 2q | x | x | |
LINGI2339 | Abstract interpretation | Baudouin Le Charlier | 30h+15h | 5 credits | 1q | x | x | |
LINGI2347 | Computer system security | Gildas Avoine, Marco Canini (compensates Gildas Avoine) | 30h+15h | 5 credits | 2q | x | x |