Advanced questions in software engineering

lingi2355  2017-2018  Louvain-la-Neuve

Advanced questions in software engineering
5 credits
30.0 h + 15.0 h
Q2
Teacher(s)
Riviere Etienne;
Language
English
Main themes
This course treats a specific advanced topic or selection of topics of current research interest in the area of software engineering.
The actual topic(s) may vary from year to year, and will be chosen from a variety of software engineering domains such as data-intensive computing, software analytics, development and analysis of large evolving software systems, big data techniques, software repository mining, software recommendation systems, software visualization, novel programming technologies, software requirements and analysis,model-driven software engineering, software configuration management, software engineering processes, software engineering tools and methods, software testing and quality aspects, etc.
Aims

At the end of this learning unit, the student is able to :

1

Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • INFO1.1
  • INFO3.1
  • INFO6.3

Given the learning outcomes of the "Master [120] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • SINF1.M3
  • SINF3.1
  • SINF6.3

The students shall acquire advanced theoretical knowledge and technical competences about the topics covered in the course.

 

The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.
Content
This course focuses on parallel programming with shared memory objects, when the accesses by multiple thread must be synchronized for coherence.
It targets modern multicore CPUs.
It introduces the use of dedicated mechanisms and instructions for synchronization in these CPUs to build scalable shared data structures and algorithms.
If presents performance considerations, including those arising from non-uniform memory access and multi-level memory hierarchies.
Teaching methods
  • Short lectures
  • Guided and interactive exercices in class
  • Readings and/or videos at home
  • Practical sessions
Evaluation methods
Evaluation methods:
  • Projects (40% of the final mark)
  • Exam (60% of the final mark)
The project work is mandatory and cannot be repeated for the second examination session. Project reports will be evaluated only once before the first session and cannot be presented for the second session.
Other information
All relevant course material and slides as well as practical information related to the course will be accessible on Moodle, which will also be the primary means of communication between the teacher(s) and the students.
Background:
  • Introduction to Algorithmics (LSINF1103)
  • Algorithmics and data structures (LSINf1121)
  • Performance measurements (LFSAB1402)
  • Language constructs for concurrent programming (LINGI1131)
Bibliography
The Art of Multiprocessor Programming, Maurice Herlihy and Nir Shavit, Morgan Kaufmann. ISBN 978-0-12-370591-4.
UCL/INGI library reference 135-08-02
Faculty or entity
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Sigle
Credits
Prerequisites
Aims
Master [120] in Computer Science and Engineering

Master [120] in Computer Science