Designers and developers of tomorrow’s computer systems are confronted with two major challenges:
- computer systems that are increasingly complex
- areas of application that are increasingly varied
To meet these challenges, the future Master’s degree holder in computer science must:
- master current computer science technologies but also manage and ascertain their progress,
- innovate by integrating elements linked to artificial intelligence, software engineering and security networks into computer systems,
- work as a member of an multidisciplinary team and act as an interface between the development team and other participants involved in the scientific or technical issues of the project.
The future computer science engineer will acquire the skills and knowledge necessary to become:
- a professional engineer capable of integrating several scientific and technical disciplines in the area of information technology
- an individual with field experience, capable of putting his/her knowledge into practice and use ever evolving high performance tools (both in research and technology)
- a specialist having acquired cutting edge knowledge in his/her field of study, for example artificial intelligence, security networks, software engineering and programming systems
- a manager who manages team projects
Polytechnic and multidisciplinary, the training offered by the Louvain School of Engineering (EPL) emphasises a combination of theory and practice open to computer science in all its dimensions (analysis, design, development, implementation, maintenance, research and innovation) including those pertaining to ethics.
English is the most widely used language in companies particularly those in the technical sector. This Master’s degree programme is thus taught in English and provides its participants with the opportunity to acquire solid oral and written English language skills. Offering a Master’s degree in English, is proof of our international status. The use of English allows us to welcome international students all the while allowing these students to be immersed in a francophone environment. It also includes exchange programs and dual diplomas with foreign universities.
On successful completion of this programme, each student is able to :
- Confronted with a computer science problem, diploma holders can identify concepts, algorithms, and applicable data structures to find a solution and can break the problem down into its component parts in order to formulate computer-based problem solving methods.
- Confronted with a problem in their field of study, diploma holders can choose the proper problem solving tools (for example, development environment, programming language, software and software packages) that will allow them to find the correct software solution to the problem in question.
- Confronted with the results obtained through reasoning as well as the use of tools and concepts, diploma holders are able to step back and ascertain the relevance and the quality of their results. To do so, diploma holders develop tests and relevant checks to ensure they have developed quality solutions.
- Before working on a solution, graduates explore and analyse all aspects of a problem using the documentation at their disposal and consult with future system users. Graduates then will produce a specifications note that describes not only the system requirements but also its time constraints and ease of use for future users.
- In the design phase, graduates will imagine and model the computer system under development in terms of functional components (subsystems) in such a way as to facilitate and optimise development. They will capitalise on the available technology and programme verification methods to ensure the quality of the software system from the very beginning of the design stage.
- In the analysis phase, graduates will itemise, evaluate and compare different technologies (material, languages, algorithms, routing) with the goal of prioritising those that best correspond to different performance and quality criteria specified in the specifications note.
- In the implementation stage, graduates will demonstrate their mastery of the principles, techniques and development tools at their disposal. They will create a software prototype in order to verify that the software corresponds to the clients’ needs and will run a battery of tests to ensure that the proposed solution corresponds to the specifications note. By applying validation techniques and programme verifications, graduates can identify and locate bugs as well as their fixes.
- On the basis of a prototype, graduates design and ensure follow up through a quality control plan: monitoring, optimisation, maintenance, detection of break downs, communication protocols and intervention in the case of failure. They can use metrics and tools to evaluate and validate the structural quality of a software system in terms of its security and maintainability.
- confronted with a new computer problem, graduates will explore the area in question and obtain the necessary information to complete a situational analysis using the various resources at their disposal (library, Internet, researchers, industry experts)
- In the graduation project (possibly paired with a company internship) on a new problem, graduates construct a model of the underlying phenomenon from a computer science perspective
- On the basis of this model, graduates formulate and test different computer devices capable of solving the problem in question (for example, computerised processing of an image by a scanner to facilitate medical diagnosis)
- Once in possession of the experimental results, graduates summarise their conclusions in a report, where they also discuss how key variables influenced the behaviour of the phenomenon being studied. Based on their results, graduates will make recommendations about how to develop and implement innovative technical solutions for the problems in question.
- As a member of a team project, graduates will collaborate to study a problem and its context with the goal or itemising its different parts, issues and constraints. They will then collaborate to draft a specifications note reiterating the key elements of the project framework: problem and solution, objectives and performance indicators, risks, deadlines, resource limits, etc.
- Once the project framework is defined, graduates collaborate on a plan of action. The team agrees to work collectively on a work schedule, the intermediary steps, the division of labour and project deadlines.
- Team members share their knowledge and skills to solve problems collectively that are raised over the course of the project whether they are technical or not. Graduates are able to step back when necessary to overcome team difficulties or conflicts:
- Mindful of the commitments made during the course of the project, graduates alert their teammates about decisions that need to be made in the event of a problem. Through steering committee meetings, graduates make the necessary decisions to organise or reorganise project objectives.
- Faced with a computer development project, graduates are able to identify and question the relevant actors. Through their exchanges with those involved in the project, graduates assess the project environment and relevant issues, which requires them to specify their needs, expectations and limits in a specifications note while keeping in mind system functionalities as well as the conditions for use (interfaces with other applications, maintenance, progress, etc.)
- By communicating, graduates take into account the fact that their interlocutors have not necessarily mastered the language of computers and do not have the same idea of the issues and solutions envisaged by computer science.
- In certain critical phases of a project, there are collective choices to be made. To facilitate decision making, the graduate must be capable of providing his/her interlocutors with a summary of the situation and its issues. To this end, he/she is capable of communicating necessary information by using schemas or graphs of the computer system.
- Graduates know how to use reference materials or computer language or software manuals in both English and French. They understand technical reports written in English.
- During the development of a computer application, graduates can ensure the tracking and documentation in a concise and precise language: specifications note, software structures and their related data, operating modes. Graduates are also capable of drafting summary reports that describe their design and technology choices.
- In their fields of study, students master the technical vocabulary and usage standards that allow them to easily understand a scientific article or technical document or to communicate with specialists in their field.
- Graduates will take into account the socio-economic aspects of a project in the specifications note, in particular the compatibility between technological progress and ethical standards
- Regarding the development of an application that meets an industrial challenge or provides an important service (for example ambulance management), graduates will ensure the robustness and feasibility of the application for its users.
- Confronted with a new problem, graduates autonomously acquire and use information and computer tools that they need to solve the problem even if they have not explicitly learned about them during their coursework.