Programme
The Bachelor in Applied Information Technology offers a structured pathway for progressive specialisation within the realm of computer science professions:
During the first study year, students are immersed in the fundamentals of Information Technology, establishing a robust groundwork that encompasses essential principles in mathematics and computer programming.
In the second year of study, students build upon the foundational knowledge acquired in the first year. The curriculum delves into various advanced topics, including databases and data science, network technologies, the principles and practices of software engineering, and the development of web and mobile applications.
In the concluding year of study, the fifth semester offers students the opportunity to tailor their specialisation by selecting from a diverse portfolio of optional courses spanning various domains such as enterprise applications, machine learning, cloud and big data technologies, advanced programming and more. The ultimate semester is dedicated to a culmination of their academic journey, with students opting for either a research-based Bachelor project within a 8xav福利导航 research group or a professionally-focused internship in a Luxembourg-based institution, providing invaluable hands-on professional experience.
Academic Contents
Course offer for Semestre 1 (2025-2026 Winter)
-
Details
- Course title: Introduction 脿 l'informatique
- Number of ECTS: 4
- Course code: BPINFOR-2
- Module(s): Module 1.1
- Language: FR, EN
- Mandatory: Yes
-
Objectives
Rassembler tous les 茅l茅ments de culture g茅n茅rale informatique qui seront d茅velopp茅s dans les cours avanc茅s, entre autres聽: les conversions de bases, les automates, le fonctionnement d鈥檜n r茅seau informatique, les outils de collaborations. Le cours s鈥檃ppuie sur les contextes historiques qui ont men茅 aux diff茅rents points abord茅s et pr茅sentent les diff茅rentes notions permettant de comprendre les syst猫mes informatiques modernes.
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- de conna卯tre les noms d’informaticiens c茅l猫bres et leurs contributions 脿 l’histoire de l’informatique.
- d’expliquer de fa莽on correcte et simple la signification des termes et abr茅viations commun茅ment utilis茅s en informatique.
- d’avoir une compr茅hension des concepts fondamentaux de l’informatique (logique binaire, architecture logiciel-mat茅riel, notion de protocole, de code machine, de langage informatique).
- d’appliquer un certain nombre d’algorithmes de base 脿 des situations concr猫tes.
- de conna卯tre les principaux outils de collaboration informatique.
- de faire des raisonnements simples sur des concepts informatiques.
- de d茅crire des proc茅d茅s et techniques informatiques.
-
Description
- Historique des techniques de traitement de l’information.
- Conversion de bases et Calcul.
- Logique bool茅enne.
- Structure g茅n茅rale et fonctionnement des ordinateurs.
- Introduction aux automates.
- Pr茅sentation des UTMs (Universal Turing Machine).
- Introduction 脿 l鈥檃lgorithmique.
- Outils de Collaboration et 茅volution des langages.
- Introduction aux r茅seaux informatiques.
- Introduction 脿 l鈥檌ntelligence artificielle.
-
Assessment
Un examen 茅crit (100%). -
Note
Les 茅tudiants devront obligatoirement participer aux TD et remettre les travaux personnels qui leur sont demand茅s.Ouvrage de r茅f茅rence: Les r茅f茅rences online seront publi茅es sur Moodle.
-
Details
- Course title: Technical English
- Number of ECTS: 3
- Course code: BPINFOR-1
- Module(s): Module 1.1
- Language: EN
- Mandatory: Yes
-
Objectives
Evaluate existing working knowledge of the English language and bring it to perfection, especially in the information technology domain.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Use the English language in written and oral form in the context of information technology.
- Read and understand technical documents from the IT domain written in English language.
- Explain in English language the content of documents from the IT domain of medium complexity.
-
Description
The course is given in English and so allows all students to practice their English language. If possible, two groups will be formed based on the students’ experience with English. Special focus will be laid on the usage of the English language specifically in the context of information technology:
- Revision of the linguistic basis (grammar and specialised vocabulary).
- Investigation and analysis of thematic documents for improving the understanding of English language structures and usage of key vocabulary.
-
Assessment
First time students: continuous evaluations during the course (50%) and a final written exam (50%).
Repeating students: final written exam (100%).
-
Note
Literature: Online references will be announced on the course website.
-
Details
- Course title: Calculus
- Number of ECTS: 4
- Course code: BPINFOR-3
- Module(s): Module 1.2
- Language: EN
- Mandatory: Yes
-
Objectives
The course aims to ensure that all students have a solid understanding of basic calculus, including the analysis of elementary real functions of one variable and the use of finite and infinite sequences and series in computer science.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Solve problems in calculus of real-valued functions in one variable of different types (polynomial, logarithm, exponential, trigonometric functions).
- Determine convergence and (possibly) limits of simple sequences and series.
- Apply the most common proof techniques used in calculus to basic mathematical problems.
- Determine derivatives and antiderivatives of simple real-valued functions in one variable.
- Summarize some examples of close relationships between mathematics and computer science.
-
Description
- Proofs with mathematical induction.
- Convergence of infinite sequences and their limits.
- Convergence of finite and infinite series and applications in computer science.
- Basic definitions and properties of real-valued functions in one variable.
- Elementary functions (polynomials, logarithm, exponential, trigonometric functions) and their properties.
- Derivatives and integration of real-valued functions and applications.
- Applications of real-valued functions in one variable to problems in computer science.
-
Assessment
Final written exam (100%) for both first time and repeating students. -
Note
Literature: Franck Lepr茅vost: What counts? A Hands-On Tutorial on Calculus, Ed. Amazon (2022).
-
Details
- Course title: Math茅matiques discr猫tes 1
- Number of ECTS: 4
- Course code: BPINFOR-4
- Module(s): Module 1.2
- Language: FR
- Mandatory: Yes
-
Objectives
Fournir une introduction aux math茅matiques discr猫tes, en traitant les techniques de base de la logique, des ensembles et du d茅nombrement, ainsi que de l’arithm茅tique.
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- d’appliquer les r猫gles de logique 茅l茅mentaire.
- d’utiliser les ensembles et les relations binaires.
- de repr茅senter et de calculer avec les nombres en base quelconque.
- de calculer en arithm茅tique modulaire.
- de r茅soudre des petits probl猫mes de d茅nombrement.
- de comprendre et d’utiliser un mod猫le simplifi茅 du protocole de chiffrement RSA.
- de r茅soudre certains probl猫mes 茅l茅mentaires de th茅orie des graphes.
- d’appliquer un raisonnement par r茅currence.
-
Description
- Logique 茅l茅mentaire.
- Listes et suites.
- Ensembles.
- 顿茅苍辞尘产谤别尘别苍迟.
- Arithm茅tique 茅l茅mentaire.
- Relations binaires.
- Congruences et arithm茅tique modulaire.
- Graphes.
-
Assessment
Contr么le des connaissances pendant le semestre et examen 茅crit en fin de semestre. La note finale 脿 la fin du semestre d’hiver est la meilleure valeur entre
- la note de l’examen 茅crit de fin de semestre,
- la moyenne pond茅r茅e entre le r茅sultat du contr么le de mi-semestre et la note de l’examen 茅crit de fin de semestre (l’examen final comptant pour 3/4 des points dans cette moyenne pond茅r茅e).
Cette note peut-锚tre l茅g猫rement am茅lior茅e d’1/2 point en fonction des r茅sultats aux quiz et aux exercices propos茅s durant le semestre.
-
Note
Ouvrage de r茅f茅rence:- Michel Marchand, 芦Outils math茅matiques pour l’informaticien 禄, 2e 茅d. De Boeck Universit茅, Bruxelles 2005 [ISBN 978-2804149635].
- O. Levin, Discrete Mathematics, An Open Introduction (open access book available at http://discrete.openmathbooks.org/dmoi3.html)
- Franck Lepr茅vost, “How big is big? How fast is fast? A Hands-On Tutorial on Mathematics of Computation”, available via Amazon. (2021).
-
Details
- Course title: Statistiques
- Number of ECTS: 3
- Course code: BPINFOR-5
- Module(s): Module 1.2
- Language: FR, EN
- Mandatory: Yes
-
Objectives
Familiariser l’茅tudiant(e) avec les techniques de base des statistiques descriptives.
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- de traiter des s茅ries statistiques.
- d’appliquer la th茅orie statistique pour des probl猫mes informatiques.
- d’utiliser des outils informatique pour des calculs statistiques.
-
Description
- Organisation des donn茅es statistiques.
- Traitement des s茅ries statistiques.
- Param猫tres caract茅ristiques.
-
Assessment
Premi猫re participation: Un contr么le des connaissances pratiques (50%) et un examen 茅crit (50%).
脡tudiants redoublants: examen 茅crit (100%).
-
Note
Les 茅tudiants devront obligatoirement participer aux TD et remettre les travaux personnels qui leur sont demand茅s.Ouvrage de r茅f茅rence: Catherine Dehon, Jean-Jacques Droesbeke, Catherine Vermandele: “脡l茅ments de statistique”, 茅ditions de l’Universit茅 de Bruxelles. ISBN 978-2340009080.
-
Details
- Course title: Operating Systems 1
- Number of ECTS: 4
- Course code: BPINFOR-101
- Module(s): Module 1.3
- Language: EN
- Mandatory: Yes
-
Objectives
Operating systems provide an interface between the hardware and the applications on the computer. It helps with processes scheduling, user and rights management and file management. The purpose of this course is to provide a basic introduction to operating systems.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain the basic principles of OS, including process scheduling, user and rights management and file systems.
-
Description
- Introduction to OS (Windows, Linux, MacOS).
- Processes: management and scheduling.
- User and Rights management.
- File Systems.
- Basic of system administration, lab exercises, virtualisation.
- Mobile OS (Android, iOS).
-
Assessment
First time students:- Midterm exam (40%),
- Final exam (60%).
Repeating students: 100% written final exam.
-
Note
Literature: Books and other inputs will be given in the lecture and made available on the course Moodle web page.
-
Details
- Course title: Programming 1
- Number of ECTS: 8
- Course code: BPINFOR-100
- Module(s): Module 1.3
- Language: EN, FR
- Mandatory: Yes
-
Objectives
This course introduces the fundamentals of programming, together with the key concepts of object-orientation. The Java programming language will be used primarily for the code examples.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Understand the fundamentals of programming.
- Apply object-oriented concepts.
- Design algorithms of average complexity.
- Implement those algorithms in the Java programming language.
- Perform basic testing.
-
Description
The course discusses and illustrates the following topics using a hands-on approach:
- Overview of different types of programming languages.
- Basic skills of problem-solving: from problem descriptions to algorithms.
- Data types.
- Control structures.
- Classes and objects.
- Encapsulation and access control.
- Subtyping, inheritance, and polymorphism.
- Basics of generic programming.
- Exception handling.
-
Assessment
Winter semester:- First time students:
- closed-book written midterm exam (40%)
- closed-book written final exam (60%)
- Repeating students: closed-book written final exam (100%)
Summer semester: closed-book written final exam (100%) - First time students:
-
Note
Literature:- “The Java Language Specification, Java SE Edition”, James Gosling et al, Addison-Wesley, ISBN 978-0133260229, available online at: https://docs.oracle.com/javase/specs/
- Additional material will be announced during the lecture.
Course offer for Semestre 2 (2025-2026 Summer)
-
Details
- Course title: Academic Writing
- Number of ECTS: 2
- Course code: BPINFOR-125
- Module(s): Module 2.1
- Language: EN
- Mandatory: Yes
-
Objectives
Academic writing is a formal style of writing used in universities and scholarly publications. This course teaches the fundamental basics of academic writing and presentations in the academic context. Some basics on promotional video preparation are also covered.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Understand the fundamentals of academic writing.
- Understand basic rules to prepare and give presentations.
- Know how to record and manipulate videos for promotion of academic ideas.
- Apply the theoretical knowledge on academic communication in practice.
-
Description
- Basics of 鈥淎cademic writing鈥.
- Using LaTeX to write academic documents.
- Using Microsoft Word to write reports.
- Skills to prepare and hold presentations.
- Guidelines on creating slides.
- Creating videos for promotion of scientific ideas.
-
Assessment
A language course in which the participants begin with widely varying levels of competence must strive to balance the demonstration of minimum levels of competence in order to pass the course with the chance to earn credit for significant improvement. Therefore, this course combines both elements by dividing course work and credit awarded into minimum required output demonstrating a minimum competency and output which is above the minimum to garner more credit as measured in class points. The latter includes demonstrating marked improvement in competence.
There is a total of 20 class points potentially awarded which are divided into four categories, each receiving a possible total 25% or 5 class points each:
Participation: Attendance is 4 points out of 5 and asking good questions or other valuable class participation may be awarded with up to another point. – 25%. 5 class points
Following instructions and attention to detail: Turning in / presenting completed assignments on time while carefully fulfilling the instructions which include format. topics. specified lengths and composition. minimum levels of clarity, conciseness and thoroughness. Late submissions will have increasing numbers of points deducted as time passes from the due date until a final date when zero points will be awarded. – 25%. 5 class points
Exemplary submissions may be awarded additional points in this category for clarity, conciseness, thoroughness and extra utilization of the format as will those assignments awarded minimum points from category 2 which are subsequently improved and re-submitted within the specified time frame. – 25%. 5 class points.
Demonstration of competence: Written final exam which will recapitulate various competencies developed during the course. – 25%. 5 class points which means students cannot fail to attend class and turn in only a few assignments then pass the course by taking the final. See additional note below.
A spreadsheet combining attendance for each class and points awarded for assignments submitted will be displayed in each class and regularly posted on Moodle for students to keep track of their accumulated points throughout the semester as well as validate it within one week, pointing out any data entry errors which might occur.
Nota Bene: 8xav福利导航 students are adults, freely participating in a course of study which they are equally free to leave at any time. Each may choose to fail, merely pass or excel in this course depending on their desires and each will be awarded the appropriate class points for the work they choose to perform. If you have any questions regarding how your work will be evaluated, please ask me in class so everyone can benefit from my response and if you are still unsure, feel free to contact me at matthew.kahn@education.lu. -
Note
Literature: Online references will be provided on the Moodle course page.
-
Details
- Course title: Linear Algebra
- Number of ECTS: 4
- Course code: BPINFOR-10
- Module(s): Module 2.2
- Language: EN
- Mandatory: Yes
-
Objectives
To guarantee that all students have a sufficient knowledge of basic linear algebra needed in computer science.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Calculate with vectors and matrices.
- Use the Algorithm of Gauss for the solution of various problems in Linear algebra.
- Explain the relevance of determinants and Eigenvalues for some practical problems in computer science.
- Apply the learned topics to problems in IT related with basic linear algebra.
-
Description
- Vectors and vector spaces.
- Linear independence of vectors and basis of a vector space.
- Matrices and matrix operations.
- Algorithm of Gauss for solving simultaneous linear equations.
- Matrix determinant and matrix inversion.
- Matrix normal forms.
- Eigenvalues and eigenspaces.
-
Assessment
One single final exam (100%) for both first-time and repeating students. -
Note
Students are obliged to participate to the exercise sessions and do their homework.Literature: Franck Lepr茅vost: Order Matters! A Hands-On Tutorial on Linear Algebra (Revised Edition). Ed. Amazon (2021). ISBN: 979-8595860642
-
Details
- Course title: Math茅matiques discr猫tes 2
- Number of ECTS: 3
- Course code: BPINFOR-11
- Module(s): Module 2.2
- Language: EN
- Mandatory: Yes
-
Objectives
The course explains basic algorithms like Euclid鈥檚 algorithm, modular exponentiation and the Chinese Remainder Theorem. Tests for primality are presented. In addition, operations for modular computations in Z/pdZ and Z/mnZ are explained.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain basic algorithms for integers.
- Apply the learned techniques to common integer-related problems.
- Transfer the applied techniques to related problems for large numbers.
-
Description
- Prime numbers: What? How many? What for?
- Euclid鈥檚 algorithm: How?
- Euler鈥檚 totient phi-function.
- (Z/nZ)* and phi(n).
- Exercises : Computing in Z/pd Z and in Z/mnZ.
- Chinese remainder theorem.
- Modular exponentiation.
- Questions about prime numbers.
- Eratosthenes Sieve Method Digression : Gau脽 approximations.
- How to decide if a number is prime or not?
- Naive method.
- Fermat鈥檚 test.
- Legendre symbol and Solovay-Strassen test.
-
Assessment
One single final exam (100%) for both first-time and repeating students. -
Note
Literature: Franck Lepr茅vost: How Big is Big? How Fast is Fast? A Hands-On Tutorial on Mathematics of Computation (Revised Edition). Ed. Amazon (2020). ISBN: 979-8642630556
-
Details
- Course title: 笔谤辞产补产颈濒颈迟茅蝉
- Number of ECTS: 3
- Course code: BPINFOR-12
- Module(s): Module 2.2
- Language:
- Mandatory: Yes
-
Objectives
Ce cours vise 脿 familiariser l鈥櫭﹖udiant avec les notions de base du calcul des probabilit茅s. Tout 茅v茅nement 脿 priori inconnu est g茅n茅ralement d茅crit par des probabilit茅s. Des exemples classiques sont: un jet de d茅s ou le lancer d鈥檜ne pi猫ce. Les probabilit茅s sont utiles dans de nombreux domaines, soit pour faire des estimations, soit pour prendre de bonnes d茅cisions par rapport 脿 des 茅v猫nements inconnus.
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- d鈥檈xpliquer les bases de la th茅orie des probabilit茅s.
- de formaliser et de r茅soudre des probl猫mes avec des probabilit茅s.
- d鈥檜tiliser des distributions discr猫tes et continues.
-
Description
- Analyse combinatoire: d茅nombrement des possibilit茅s, combinaisons, permutations.
- Variables al茅atoires: notation, probabilit茅s conditionnelles, th茅or猫me de Bayes, marginalisation, ind茅pendance.
- Esp茅rance math茅matique: valeur moyenne, variance, 茅cart-type, lin茅arit茅, corr茅lation.
- Distributions discr猫tes: 茅preuves de Bernoulli, loi g茅om茅trique, loi binomiale.
- Distributions continues: densit茅s, loi uniforme, loi normale.
- La loi des grands nombres.
- Estimations.
-
Assessment
Premi猫re participation: 25% de la note obtenues pour les travaux personnels r茅alis茅s 脿 domicile, 75% de la note obtenue 脿 l鈥檈xamen final.
脡tudiants redoublants: Examen final (100%).
-
Details
- Course title: Algorithms 1
- Number of ECTS: 4
- Course code: BPINFOR-13
- Module(s): Module 2.3
- Language: EN
- Mandatory: Yes
-
Objectives
This course is mainly intended for deepening students鈥 knowledge of essential linear data structures: array, linked list, associative array, hash table. The implementation of such data structures will be discussed in detail, further familiarizing students with the underlying ideas. The course focuses on the Java programming language in examples and for implementation work in the exercise sessions that complement all and each of the lectures.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain the concepts, properties and usage of standard linear data structures.
- Implement basic operators (like insert, search, delete) on these data structures.
-
Description
- Array: basic operators, binary search, iterative sorting algorithms.
- Dynamic array, queue, stack.
- Linked list: basic operators, variants.
- Associative array: basic operators, dictionaries.
- Hash table: hash functions, basic operators, solutions to collision and overflow problems.
-
Assessment
Final written exam (100%) for both first time and repeating students. -
Note
Literature:鈥淚ntroduction to Algorithms (3rd edition)鈥, T.Cormen, C.Leiserson, R.Rivest C.Stein, MIT Press, 2009, ISBN 9780262033848.
Other relevant literature and online resources will be announced on the Moodle course website.
-
Details
- Course title: Programming 2
- Number of ECTS: 6
- Course code: BPINFOR-14
- Module(s): Module 2.3
- Language: EN
- Mandatory: Yes
-
Objectives
The course introduces advanced notions of object-oriented programming, supporting the design and implementation of more complex software systems. Both the Java and Swift programming languages will be used to convey the relevant concepts, in a comparative fashion.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Analyse problem descriptions of average size.
- Assess software designs in several terms, including extensibility, reusability, and maintainability.
- Apply fundamental principles of object-orientation to come up with a sound software design.
- Create robust implementations in both the Swift and Java programming languages.
-
Description
The course discusses and illustrates the following topics using a hands-on approach:
- Value and reference types.
- Functions and closures.
- Protocols and extensions.
- From object-oriented to protocol-oriented programming.
- Advanced error handling techniques.
- Advanced generic programming.
- Serialisation and persistence.
-
Assessment
Summer semester:
First time students: software project (40%) + final written exam (60%)
Repeating students: final written exam (100%)
Winter semester: final written exam (100%) -
Note
Prerequisite to sitting the final exam is the completion of all intermediate deliverables.Literature: Relevant literature and various resources will be announced on the Moodle course website.
-
Details
- Course title: Introduction to Data Analysis with Python
- Number of ECTS: 4
- Course code: BPINFOR-121
- Module(s): Module 2.4
- Language: EN
- Mandatory: Yes
-
Objectives
This course teaches the fundamental ideas of cleaning, manipulating, processing, and analyzing data. Students will work on data analysis problems encountered in various data-intensive applications. The course includes many in-class programming exercises where students are expected to work on various case studies. Through these exercises, the course will also serve as an introduction to data analysis and modern scientific computing using the Python programming language.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Understand the fundamentals of data analysis.
- Use the Python programming and its libraries NumPy, Pandas, and Matplotlib/Seaborn.
- Pose questions, collect relevant data, analyze data, interpret data and provide insights.
- Present data-driven insights using data visualization.
-
Description
- Introduction: What is data analysis?
- Python basics, Build-in Data Structures, Functions, and Files.
- Development with Python: poetry and uv, code analysis, performance analysis, documentation.
- Jupyter Labs
- NumPy and Pandas basics: Arrays and Vectorized Computation.
- Data Visualization with Matplotlib and Seaborn.
- Data Acquisition, Preparation and Management.
- Data Visualization.
- Time Series.
- Introduction to Modeling Libraries in Python.
- Data Analysis Examples.
-
Assessment
First time students:- Closed-book midterm exam (paper-based) 鈥 25%
- Practical project 鈥 25%
- Closed-book final written exam (paper-based) 鈥 50%
Repeating students: final written closed-book exam (100%). -
Note
Literature:- Python for Data Analysis, O鈥橰EILLY, ISBN-10: 1491957662
- Python Data Analysis, Steve Eddison, ISBN: 1709888989
- Introduction to Data Science with Python: Basics of Numpy and Pandas, Mark Smart, ISBN-10: 1731036841
Lectures slides and any supplemental course content will be provided on the Moodle course web site.
-
Details
- Course title: Introduction to Graphics
- Number of ECTS: 4
- Course code: BPINFOR-109
- Module(s): Module 2.4
- Language: EN
- Mandatory: Yes
-
Objectives
Computer Graphics is a very important field of computer science. Its use today spans virtually all scientific fields and is utilized for design, presentation, education and training. In this course, an introduction into basics of computer graphics theory and practice is given with an applied approach based on open-source tools like Gimp, Inkscape, and Blender.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain core techniques and data representation for the creation and manipulation of two-dimensional images.
- Apply these techniques to three-dimensional graphical objects.
- Use popular graphics-related open-source tools like Gimp, Inkscape, or Blender for simple 2D and 3D image processing tasks.
- Develop simple graphics-related programs with the help of JavaFX.
-
Description
- Raster versus vector graphics.
- Two-dimensional graphics:
- Pixel, coordinate systems, colors.
- Basic graphical shapes: line segments, circles, ellipsis, polygons.
- Affine transformations like translation, rotation, scaling, shearing.
- Image manipulation with convolution filters.
- Image manipulation based on statistical information.
- Practical introduction to JavaFX and the open source programs Gimp and Inkscape.
- Introduction to three-dimensional graphics:
- Similarities and differences between 3D and 2D.
- Representation of three dimensional objects, texture, material, ….
- Introduction into light and shadow handling and ray tracing.
- Practical example for the open source 3D editor Blender.
-
Assessment
First time students: final exam (70%), 4 graded exercises (30%)
Repeating students: final exam (100%)
-
Note
Literature:- 鈥淚ntroduction to Computer Graphics鈥, David Eck, 2018, free online version available at https://math.hws.edu/graphicsbook/ .
- 鈥淚ntroduction to Computer Graphics – Using Java 2D and 3D鈥, Frank Klawonn, 2012, Springer, online version available via https://a-z.lu.
- The Java Tutorials – 2D Graphics, available at https://docs.oracle.com/javase/tutorial/2d/index.html.
Additional literature and online resources will be provided on the Moodle course website.
Course offer for Semestre 3 (2025-2026 Winter)
-
Details
- Course title: Web Development: Front-End
- Number of ECTS: 5
- Course code: BPINFOR-127
- Module(s): Module 3.1
- Language: EN
- Mandatory: Yes
-
Objectives
The course provides an introduction to front-end web development, from a software engineering perspective. It will cover the foundational building blocks of the Web, user interface design fundamentals, command line tools, and popular frameworks for building websites and web applications. After the course, students will be able to build the front-end of any kind of websites and web applications.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Identify the key components of web technologies.
- Recognize the importance of software engineering for web development.
- Understand classic and modern tools for front-end development.
- Compare alternatives between frameworks, coding standards, and design patterns.
- Design and develop front-end systems for websites and web applications.
-
Description
The course provides an introduction to front-end web development, from a software engineering perspective. The course will cover the foundational building blocks of the Web, user interface design fundamentals, command line tools, and popular frameworks for building websites and web applications. After the course, students will be able to build the front-end of any kind of websites and web applications. An overview of the covered topics is given as follows:
HTML: The structural layer of the Web:
__UL_BLOCK__0__CSS: The presentation layer of the web:
__UL_BLOCK__1__JavaScript: The behavioral layer of the Web:
__UL_BLOCK__2__UI design fundamentals:
__UL_BLOCK__3__Database integration:
__UL_BLOCK__4__Tooling:
__UL_BLOCK__5__Web app frameworks:
__UL_BLOCK__6__Performance:
__UL_BLOCK__7__Testing:
__UL_BLOCK__8__
-
Assessment
First time participants:- Practical work in TPs: 30%
- Participation in class: 5%
- Final exam (multiple-choice quiz): 65%
Redoing session: The final exam can be retaken in the next exam session. Grades from the coding exercises will be retained until the student passes the course.
-
Note
Literature:
Reference textbook:- J. Robbins. 2025. Learning Web Design. O鈥橰eilly Media, 6th ed., ISBN 9781098137687.
Recommended books:- R. Anquetil. 2019. Fundamental Concepts for Web Development, 1st ed., ISBN 9781702250382.
- M. Haverbeke. 2018. Eloquent JavaScript, 3rd ed., ISBN 9781593279509.
- S. Krug. 2000. Don鈥檛 Make Me Think, 3rd ed., ISBN 9781593279509.
-
Details
- Course title: Programming 3
- Number of ECTS: 4
- Course code: BPINFOR-85
- Module(s): Module 3.1
- Language: EN
- Mandatory: Yes
-
Objectives
The aim of this course is to familiarize students with the fundamentals of graphical user interface (GUI) programming using widely used frameworks, while focusing on essential paradigms such as event-driven programming, the Model鈥揤iew鈥揅ontroller design pattern, and multi-threading. The course also provides a brief introduction to mobile development with Kotlin and extended reality, and fosters the ability to use AI coding assistants responsibly as a support tool for experimentation, explanation, and debugging.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Develop event-driven programs for Swing-based desktop applications and Android mobile apps in Java.
- Apply multi-threading in programming tasks to keep applications responsive.
- Explain and apply common design patterns such as Model鈥揤iew鈥揅ontroller in the context of interactive and mobile applications.
- Use AI tools responsibly to generate boilerplate, compare alternative solutions, and critically evaluate code.
- Extend their knowledge independently on relevant techniques in GUI and mobile programming through literature and documentation.
-
Description
This course addresses both the theory and practice of GUI programming. Core topics include:
- Event-driven programming,
- Multi-threading, and
- Design patterns such as Model鈥揤iew鈥揅ontroller.
Practical work is based primarily on examples in:
- Java Swing for desktop applications, and
- Java-based Android for mobile applications.
The course also includes a short introduction to Kotlin as a modern alternative language for Android, and an outlook on extended reality programming with ARCore. Students are encouraged to use AI coding assistants during exercises, but always in combination with self-verification and conceptual quizzes. AI may be used to speed up routine tasks and explore alternative solutions, while the focus remains on understanding, explanation, and critical evaluation of generated code.
-
Assessment
Final written exam (100%) for both first time and repeating students. AI use is not permitted during the exam. -
Note
Literature: Online documentation of the different toolkits and frameworks, other documentation provided on the Moodle course site.
-
Details
- Course title: Algorithms 2
- Number of ECTS: 4
- Course code: BPINFOR-69
- Module(s): Module 3.2
- Language: EN
- Mandatory: Yes
-
Objectives
This course builds on and extends some topics covered in Algorithms 1 and is mainly intended for deepening students鈥 knowledge and understanding of essential non-linear data structures. Recursivity as a crucial concept both in the definition and the utilization of such data structures will be discussed in detail, further familiarizing students with the underlying idea.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Describe the usage of tree data structures and their main operations.
- Use these data structures in practical programming problems.
-
Description
- Binary and m-way search trees, (weight-)balanced trees, B/B*-trees, tries.
- Implementation and analysis of fundamental tree operations, their applications and libraries (also in other programming languages, e.g. Java or C#).
- Algorithms and data structures for Interpreters and Virtual machines.
- Compilation schemes and some basics of optimization for Compilers.
-
Assessment
First time students:- Project (25%),
- Final written exam (75%).
Repeating students: final written exam (100%).
-
Note
Literature:- Introduction to Algorithms, Thomas H. Cormen et al., MIT Press, ISBN 978-0262033848
- The Art of Computer Programming 鈥 Volume 1: Fundamental Algorithms, Donald E. Knuth, Addison Wesley, ISBN 0-201-89683-4
- Compilers: Principles, Techniques and Tools, Alfred V. Aho et al., Addison Wesley, ISBN 978-0321547989
-
Details
- Course title: Operating Systems 2
- Number of ECTS: 4
- Course code: BPINFOR-20
- Module(s): Module 3.2
- Language: EN
- Mandatory: Yes
-
Objectives
The course deepens the understanding of the concepts of operating systems together with the abstractions provided for developers.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Identify and explain the responsibilities of an operating system.
- Compare and evaluate the properties of different operating systems.
- Designate the abstractions operating systems provide.
- Properly use those abstractions from within applications.
- Handle heterogeneity appropriately.
-
Description
Operating systems represent sophisticated runtime platforms for all types of software. Their primary purpose is to mediate between applications and different kinds of resources. The internal workings of modern operating systems as well as the abstractions they provide for application programmers will be introduced throughout this lecture. Practical experiments will illustrate the theoretical concepts in the context of the Windows and Linux operating systems. Topics covered include:
- Memory management.
- Processes and threads.
- Scheduling.
- Synchronisation.
- Resource management.
- File systems.
-
Assessment
Winter semester:
First time students: closed-book written midterm exam (40%) + closed-book written final exam (60%)
Repeating students: closed-book written final exam (100%)
Summer semester: closed-book written final exam (100%) -
Note
Literature:- Andrew S. Tanenbaum: 鈥淢odern Operating Systems鈥. 4th Edition, Pearson Education, ISBN 978-1292061429
- William Stallings: 鈥淥perating Systems鈥. 8th Edition, Pearson Education, ISBN 978-1292061351
- Abraham Silberschatz et al.: 鈥淥perating System Concepts鈥. 9th Edition, Wiley Sons, ISBN 978-1118093757
Additional material will be announced during the lecture on the Moodle course website.
-
Details
- Course title: Modelling with UML
- Number of ECTS: 3
- Course code: BPINFOR-83
- Module(s): Module 3.3
- Language: FR, EN
- Mandatory: Yes
-
Objectives
The goal of the course is to introduce students to the Unified Modeling Language (UML) for the analysis and design of software systems. The course will provide students with the necessary and essential theoretical and practical understanding of UML. The course focuses on the most important diagrams that can be employed to design and describe the structure and the behaviour of software systems.
-
Course learning outcomes
After successful completion of the course, students are capable to:
- Understand the role of UML in object-oriented design.
- Understand static and dynamic design modelling.
- Understand and explain the role and the use of the UML models and diagrams.
- Use UML modelling tools.
- Use the appropriate diagram notations and create diagrams according to the corresponding development phase.
- Identify use cases, create a use case diagram and describe different use case scenarios.
- Elaborate interaction diagrams, e.g. sequence and communication diagrams for use case scenarios.
- Elaborate class diagrams and introduce advanced associations like aggregation, composition and generalization.
- Use generative AI for UML modeling generation and analysis.
-
Description
Introduction to UML
- A notation to support iterative and incremental Software Development.
Use case diagrams
- Actor, Use cases, Associations, Notations.
Class Diagrams and Object Diagrams
- Classes, Attributes, Operations, Associations.
- Aggregation, Composition.
- Objects and Links.
State Machine Diagrams
- States, Transitions, Events.
- Composite States.
Sequence Diagrams
- Lifelines and messages.
Activity Diagrams
- Actions, Control flows, Object flows.
The supervised exercise sessions are devoted to:
- the elaboration of UML diagrams.
- the use of UML modelling tools.
-
Assessment
First time students: Continuous assessment mid-term ‘bonus points only’ exam (up to 6 bonus points to add to the final exam grade), and written final examination (100%).
Repeating students: Final written exam (100%). -
Note
Ouvrage de r茅f茅rence:- Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel, 鈥淯ML @ Classroom: An Introduction to Object-Oriented Modeling鈥. Springer 2015.
- Craig Larman,”Applying UML and Patterns: An Introduction to object-oriented Analysis and Design and iterative development鈥, Third Edition, Pearson Education, 2005, ISBN: 978-8-177589795.
- Grady Booch, James Rumbaugh, Ivar Jacobson, 鈥淭he Unified Modeling Language User Guide鈥. Pearson Education.
- Christoph Kecher, Alexander Salvanos, “UML 2.5, Das umfassende Handbuch”, Rheinwerk computing, ISBN: 978-3836249362.
- Laurent Debrauwer, Fien Van der Heyde, “UML 2.5 – Initiation, exemples et exercices corrig茅s”, Editions ENI, ISBN: 978-2-409-02408-5.
-
Details
- Course title: Software Engineering
- Number of ECTS: 3
- Course code: BPINFOR-102
- Module(s): Module 3.3
- Language: EN
- Mandatory: Yes
-
Objectives
This course prepares future software engineers to lead development projects in practical, team-based settings using established software engineering methodologies. It covers common development approaches and their core components, complemented by student-led presentations on key tools, typically open-source, essential to real-world software engineering practice.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Understand common software engineering processes including waterfall (linear) development, iterated and incremental approaches, and agile approaches.
- Apply the core principles of software engineering in software development processes.
- Apply Agile principles and practices such as Scrum and Kanban to plan, execute, and manage iterative software development projects in collaborative team environments.
- Practice essential software engineering tools, introduced through student group presentations.
-
Description
The theoretical part of the course covers common software development methodologies – including the waterfall model, incremental, and agile approaches – and their key components. It also provides a brief overview of the principles behind requirement analysis, design, implementation, testing, and maintenance. Central to the course are student group projects, where teams deliver detailed presentations on the practical use of important software engineering tools, often open-source. The following topics will be covered in student presentations:
- Containers in Software Engineering: Docker and Podman.
- Distributed version control with Git and GitHub.
- Build automation tools: Maven and Gradle.
- Core tasks with an IDE: code refactoring, syntax checking, code documentation generation, using Debuggers.
- Code review with Gerrit and with GitHub.
- Static code analysis and continuous Inspection: SonarQube.
- Continuous Integration with Jenkins and with GitHub.
- Testing frameworks: Junit, Selenium, Mockito.
- AI tools in Software Coding (GitHub Copilot and alternatives) – Opportunities and Challenges.
- Continuous Security Monitoring.
- Software Deployment (possibly in the cloud) and Software Monitoring.
- Project Management with OpenProject, Trello, Jira.
-
Assessment
First time students:- Presentation of the group project (20%).
- Deliverables of the group project (video 20%, paper 20%).
- Final written exam (40%).
Repeating students: final written exam (100%).
-
Note
Literature: Genuine literature will be provided during the course on the Moodle course website.
-
Details
- Course title: Data Science
- Number of ECTS: 4
- Course code: BPINFOR-33
- Module(s): Module 3.4
- Language: EN
- Mandatory: Yes
-
Objectives
The successful candidate will understand the basic theoretical concepts of data-centric aspects and will be able to work on data-centric problems.
-
Course learning outcomes
On successful completion of the course the student should be able to:
- Explain and apply basic theoretical concepts on selected aspects of data processing.
- Develop appropriate solutions for data-centered problems.
- Consolidation of the acquired competences in the subject area through a research project.
-
Description
In this course, the term 鈥榙ata鈥 is seen centric, and we will look at data from different perspectives. We will discuss the following selected aspects of data:
- Data Preparation and Preprocessing,
- Data Statistics,
- Data Security,
- Data Privacy,
- Data Management
- Big and Small Data,
- Data Retrieval,
- Data Visualization, and
- Data Analytics.
-
Assessment
First time students: 50% written assignment or oral interview and 50% practical.
Repeating students: 100% exam -
Note
Literature:- Elmasri, Navathe: Fundamentals of Database Systems. Pearson Addison Wesley. 2006.
- Han, Kamber: Data Mining 鈥 Concepts and Techniques. Morgan Kaufmann. 2011.
- Manning, Raghavan, Sch眉tze: Introduction to Information Retrieval. Cambridge 8xav福利导航 Press.
- Ware: Information Visualization. Morgan Kaufmann. 2012.
- Witten, Kamber: Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann.
- Aggarwal, Yu: Privacy-Preserving Data Mining 鈥 Models and Algorithms. Springer. 2008.
- Marz: Big Data: Principles and best practices of scalable realtime data systems. Manning. 2015.
In addition, different articles, reports, and journals contributions will be referenced on the course Moodle page.
-
Details
- Course title: Networks 1
- Number of ECTS: 4
- Course code: BPINFOR-103
- Module(s): Module 3.4
- Language: EN
- Mandatory: Yes
-
Objectives
The course aims to provide an introduction to the TCP/IP networking protocols and architectures, including practical application of network analysis tools.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain the different protocol layers of the TCP/IP protocol.
- Develop a computer program in the Java programming language that realizes TCP/IP connections.
- Explain different protocols for routing.
- Use some network analysis tools like Wireshark for traffic analysis.
-
Description
The class uses the layout of networking classes introduced by J.Kurose and K.Ross. This model is strongly adhered to by many universities in the USA and Europe.
The class will follow a top-down approach to introducing the TCP/IP protocols. It will introduce the functioning and protocol elements of popular protocols (HTTP/SMTP/SIP) and continue with the routing algorithms in TCP/IP networks.
A selected set of TCP/IP specific mechanism (retransmission, state machine) will be also shown in class. The class will address also Layer 2 protocols and show the cross-layer interactions between protocols. Multimedia protocols, the QoS related parameters and security protocols for TCP/IP networks are also covered in the class. The class will also address basic TCP/IP programming. Students will be introduced to single/multithreaded client server programming using Java. At the end of the class, the student is expected to master network analysis tools (like TcPDump, Wireshark), understand the basic routing protocols (RIP, OSPF, BGP) and be able to write simple UDP/TCP client server applications.
-
Assessment
First time students: Wireshark exam (25%), written exam (75%).
Repeating students: Wireshark exam (25%), written exam (75%). -
Note
Literature: J. Kurose and K. Ross, 鈥淐omputer Networking: A Top-Down Approach鈥, ISBN-13: 978-0132856201.
-
Details
- Course title: Web Development: Front-End
- Number of ECTS: 5
- Course code: BPINFOR-127
- Module(s): Module compensation interne
- Language: EN
- Mandatory: No
-
Objectives
The course provides an introduction to front-end web development, from a software engineering perspective. It will cover the foundational building blocks of the Web, user interface design fundamentals, command line tools, and popular frameworks for building websites and web applications. After the course, students will be able to build the front-end of any kind of websites and web applications.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Identify the key components of web technologies.
- Recognize the importance of software engineering for web development.
- Understand classic and modern tools for front-end development.
- Compare alternatives between frameworks, coding standards, and design patterns.
- Design and develop front-end systems for websites and web applications.
-
Description
The course provides an introduction to front-end web development, from a software engineering perspective. The course will cover the foundational building blocks of the Web, user interface design fundamentals, command line tools, and popular frameworks for building websites and web applications. After the course, students will be able to build the front-end of any kind of websites and web applications. An overview of the covered topics is given as follows:
HTML: The structural layer of the Web:
__UL_BLOCK__0__CSS: The presentation layer of the web:
__UL_BLOCK__1__JavaScript: The behavioral layer of the Web:
__UL_BLOCK__2__UI design fundamentals:
__UL_BLOCK__3__Database integration:
__UL_BLOCK__4__Tooling:
__UL_BLOCK__5__Web app frameworks:
__UL_BLOCK__6__Performance:
__UL_BLOCK__7__Testing:
__UL_BLOCK__8__
-
Assessment
First time participants:- Practical work in TPs: 30%
- Participation in class: 5%
- Final exam (multiple-choice quiz): 65%
Redoing session: The final exam can be retaken in the next exam session. Grades from the coding exercises will be retained until the student passes the course.
-
Note
Literature:
Reference textbook:- J. Robbins. 2025. Learning Web Design. O鈥橰eilly Media, 6th ed., ISBN 9781098137687.
Recommended books:- R. Anquetil. 2019. Fundamental Concepts for Web Development, 1st ed., ISBN 9781702250382.
- M. Haverbeke. 2018. Eloquent JavaScript, 3rd ed., ISBN 9781593279509.
- S. Krug. 2000. Don鈥檛 Make Me Think, 3rd ed., ISBN 9781593279509.
Course offer for Semestre 4 (2025-2026 Summer)
-
Details
- Course title: Droit pour informaticiens
- Number of ECTS: 2
- Course code: BPINFOR-86
- Module(s): Module 4.1
- Language: FR, EN
- Mandatory: Yes
-
Objectives
Sensibiliser l鈥櫭﹖udiant aux aspects juridiques li茅s 脿 l鈥檌nformatique.
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- de r茅fl茅chir sur des questions juridiques de l鈥檌nformatique.
- de d茅crire les aspects diff茅rents de la criminalit茅 informatique.
-
Description
- Introduction g茅n茅rale au droit.
- Propri茅t茅 intellectuelle et informatique.
- Contrats et informatique (d茅veloppement, maintenance, etc.).
- Communications 茅lectroniques et preuve.
- Informatique et vie priv茅e.
- Aspects de droit de la responsabilit茅.
- Criminalit茅 informatique.
-
Assessment
Un examen 茅crit (100%) pour 茅tudiants d茅butants / redoublants. -
Note
Ouvrage de r茅f茅rence: Les r茅f茅rences seront annonc茅es lors de la cours.
-
Details
- Course title: Psychologie du travail en groupe
- Number of ECTS: 2
- Course code: BPINFOR-26
- Module(s): Module 4.1
- Language: FR
- Mandatory: Yes
-
Objectives
Comprendre et se familiariser avec les diff茅rents aspects du travail en groupe (psychologie et dynamique affective des groupes, gestion, n茅gociation et techniques de r茅solution des conflits) tant dans le monde physique de l鈥檈ntreprise que dans le monde num茅rique et les relations de travail m茅di茅es par les TIC. Apports th茅oriques, conceptuels et mise en pratique par une 茅tude de cas en groupe (dossier de groupe).
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- de comprendre et analyser les diff茅rents aspects psychosociologiques du travail en groupe.
- de l鈥檃ppliquer 脿 une 茅tude de cas r茅elle, de travail en groupe, en vue de s鈥檃pproprier la d茅marche critique-r茅flexive comme m茅thode et posture 茅thique.
-
Description
Partie I. Des biais algorithmiques aux biais cognitifs
- C鈥檈st quoi un biais algorithmique ?
- La notion de biais cognitif. a. Travaux en groupe durant le cours (dur茅e 1 s茅ance 1/2 脿 2 s茅ances). b. Travail de recherche documentaire par les 茅tudiants, en groupe, pour s鈥檃pproprier la notion de biais cognitif, avec utilisation compar茅e de diff茅rentes IA (ChatGPT, Deepseek, Copilot, Gemini, Claude, etc.) et analyse critique de la r茅ponse (v茅rification de la qualit茅 des informations et sources acad茅miquespropos茅es par l鈥橧A, en termes de fiabilit茅 + pertinence). c. objectif vis茅 : am茅liorer la qualit茅 de son prompt pour am茅liorer la qualit茅 de la r茅ponse de l鈥橧A
- Les principaux biais cognitifs (pr茅sentation/restitution en groupe des principaux biais cognitifs) apr猫s la recherche documentaire.
- Comment lutter contre les biais cognitifs ?
Partie II. La prise de d茅cision en groupe
- Les enjeux de la prise de d茅cision.
- L鈥檈ffet Groupthink en psychologie.
- La notion de 芦 d茅cision absurde 禄 en sociologie.
- Etude de cas r茅els document茅s (Navette Challenger, OceanGate) : travaux en groupe durant 1 s茅ance.
- Comment 茅viter les 芦 d茅cisions absurdes 禄 dans les groupes ?
Partie III. La dynamique des groupes
- Caract茅ristiques d鈥檜n groupe en psychologie sociale: dynamique et dimension affective.
- Leader vs Chef: La notion d鈥檌nfluence ; ph茅nom猫nes de leadership et charisme; le leader comme 芦 entrepreneur d鈥檌dentit茅 禄.
- Le pouvoir: Pouvoir et soumission/ob茅issance ; contre-pouvoir.
- L鈥檈fficacit茅 d鈥檜n groupe au travail: notion d鈥檈fficacit茅 : approche quanti/quali ; r么le de la t芒che ; ph茅nom猫ne de paresse sociale (Social Loafing) ; approche cognitive (mod猫les mentaux, m茅moire transactive) ; intelligence collective : vers la coop茅ration/coop茅tition ?
- La recherche du consensus dans le groupe: notion de consensus ; influence desminorit茅s actives.
Partie IV. Gestion des conflits
- Approche nouvelle des conflits.
- Causes/origines des conflits.
- Types de conflits.
- M茅thodes de gestion des conflits/ Approche 茅thique.
Exercices pratiques EN COURS (exercices tr猫s similaires – sans pi猫ge – dans Exam N掳1) : apprentissage de l鈥櫭ヽoute active/empathie (technique d鈥櫭ヽoute non-directive et de reformulation de C. ROGERS (2019) pour la r茅gulation/n茅gociation des conflits) (茅talement de l鈥檃pprentissage sur 5 s茅ances, d鈥檕霉 la pr茅sence n茅cessaire 脿 tous les cours).
Pr茅paration du dossier en GROUPE: analyse d鈥檜n conflit 茅ditorial dans l鈥櫭ヽriture collaborative de Wikip茅dia (apports th茅oriques et m茅thodologiques : comprendre la gouvernance de Wikip茅dia, notion de biens communs, vigilance participative et r茅gulation, gestion des conflits).
-
Assessment
Cours et Examen en fran莽ais :
- EXAM 1 : devoir individuel sur table : coefficient 40 % (questions de cours et 茅tudes de cas de conflits en groupe/ de reformulation en r茅union, etc. ; en fran莽ais)
- EXAM 2 : dossier 脿 r茅aliser en petit groupe (3-4 pers.) 茅tude de cas avec cahier des charges : coefficient 30 % (dossier en fran莽ais) ; analyse d鈥檜n cas de conflit 茅ditorial de groupe, dans l鈥櫭ヽriture collaborative en ligne de Wikip茅dia
- EXAM 3 : Divers exercices not茅s durant les differentes seances du module (= 30% de la note globale)
- Rattrapage en janvier : 1 dossier 脿 rendre (茅tude de cas avec cahier des charges) : 100 %
-
Note
Ouvrage de r茅f茅rence:- Anzieu D., Martin J.-Y., 2007, La dynamique des groupes restreints, Paris, PUF Quadrige.
- Aubert Nicole, 2010, Le culte de l鈥檜rgence, Paris, Flammarion.
- Audebert Patrick, 2005, Bien n茅gocier, Paris, Ed. Organisation.
- Augustinova M., Oberl茅 D., 2013, Psychologie sociale du groupe au travail, Bruxelles, De Boeck.
- Bellenger L., R茅ussissez toutes vos n茅gociations, Paris, ESF, 2009.
- Blanchet A., Trognon A., 2008, La psychologie des groupes, Paris, A. Colin.
- Cardon D., Levrel J., 2009, 芦 La vigilance participative. Une interpr茅tation de la gouvernance de Wikip茅dia 禄, R茅seaux, 2, no 154, pp. 51-89.
- Cardon D., 2013, Dans l鈥檈sprit du PageRank. Une enqu锚te sur l鈥檃lgorithme de Google, R茅seaux (dossier 芦 Politique des algorithmes. Les m茅triques du Web 禄, 1, no 177, pp. 63-95.
- Cardon D., 2015, A quoi r锚vent les algorithmes. Nos vies 脿 l鈥檋eure des big data, Paris, Seuil.
- Casilli A., 2019, En attendant les robots. Enqu锚te sur le travail du clic, Paris, Seuil.
- Casilli A., 2022, Plateformes num茅riques, p. 185-201, in Didier Fassin (dir.), La soci茅t茅 qui vient, Paris, Seuil.
- Falgas J., Robert P., 2025, Comment le discours m茅diatique sur l鈥橧A emp锚che d鈥檈nvisager d鈥檃utres possibles, The Conversation.
- Fischer G. N., 2020, Les concepts fondamentaux de la psychologie sociale, Malakoff, Dunod (6e 茅d. actualis茅e).
- Hadji C., 2025, Ce que ChatGPT change 脿 l鈥櫭﹙aluation des 茅l猫ves, The Conversation.
- Hellrieger D., Slocum J.W., 2006, Management des organisations, Bruxelles, De Boeck Universit茅, 2e 茅d. (chapitre 16 : la gestion des conflits).
- Jean A., 2021, Les algorithmes font-ils la loi ?, Paris, 脡d. L鈥橭bservatoire.
- Jean A., 2019, De l鈥檃utre c么t茅 de la machine. Voyage d鈥檜ne scientifique au pays des algorithmes, Paris, 脡d. L鈥橭bservatoire
- Magakian J.-L., Barmeyer C., Bouziat X., Hounounou A., Le Loarne S., 2003, 50 fiches pour aborder la gestion strat茅gique des ressources humaines, Paris, Br茅al.
- Morel C., 2014, Les d茅cisions absurdes I. Sociologie des erreurs radicales et persistantes, Paris, Gallimard.
- Morel C., 2014, Les d茅cisions absurdes II. Comment les 茅viter ? Paris, Gallimard.
- Morel C., 2018, Les d茅cisions absurdes III. L鈥檈nfer des r猫gles, les pi猫ges relationnels, Paris, Gallimard.
- Robert P., 2020, L鈥檌mpens茅 num茅rique, interpr茅tations critiques et logiques pragmatiques de l鈥檌mpens茅, (Dir) T. 2, Paris, 脡d. des archives contemporaines.
- Rogers C.R., 2019, La relation d鈥檃ide et la psychoth茅rapie, Paris, ESF.
-
Details
- Course title: Software Engineering Project
- Number of ECTS: 4
- Course code: BPINFOR-108
- Module(s): Module 4.2
- Language: EN
- Mandatory: Yes
-
Objectives
Prepare the future software engineer to run a software engineering project in a team following a development method. Teaching is centered on the realization of a group project (including homework) in which the students will engineer a software system of low complexity that should educate them concerning problems, principles, methods and techniques of software engineering.
The main knowledge fields are: requirements analysis, GUI prototyping, Software engineering environments, software processes, project management, and teamwork.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Describe experiences made during the running of a development project in a team.
- Prove experience with several practically relevant tools used in software engineering.
- Reflect on the practical difficulties during software development in a team and how to tackle these problems.
-
Description
The detailed description of the planned project will be given in the course. The course will be mostly based on active student participation in a project related with software engineering. The following parts are foreseen:
- Introduction into important aspects and tools used in Software Engineering (similar to the respective course in semester 3).
- Running a software development in practice in a team composed of 3-4 students.
- Two sprints are done. After each sprint, a presentation on the current status of the project with discussion must be given before the other students.
- Each group must also present the final result in front of the audience and develop two videos: a promotion video, and a video with all technical details.
-
Assessment
Proven usage of important tools in software engineering as demanded in project description (30%), active participation during the sprints and their evaluations, including the intermediate presentations (30%), result of the software development process (40%). -
Note
Literature:- Course material (student presentations) from course Software Engineering (Semester 3).
- Additional literature will be announced in class.
-
Details
- Course title: Software Testing
- Number of ECTS: 4
- Course code: BPINFOR-35
- Module(s): Module 4.2
- Language: FR, EN
- Mandatory: Yes
-
Objectives
The objective of the course is to present the three classical stages for software testing, namely unit, integration and system testing. The course is focusing on OO Java programming, as a basis for unit testing. The concepts, methods and techniques seen during the course are illustrated by recent testing frameworks widely used in the industry.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Reflect on the classical stages of software testing.
- Describe the different techniques and issues for the different stages.
- Apply the learned techniques for software testing in practical scenarios.
-
Description
The course will be divided into 2 parts:
- Part I: Software Testing principles and practice__UL_BLOCK__0__
- Part II. Towards certification: Certified Tester 鈥 Foundation Level (CTFL)__UL_BLOCK__1__
-
Assessment
First time students: The grading will be based on a combination of two written exams (Part I: 60-70% and Part II: 30-40%). The practical exams may be taken into account for the final grade.
Repeating students: one written exam (100%). -
Note
The course includes the preparation for the CTFL certification. This preparation counts for 12 hours, included in the total of 37 hours for CM.Literature:- Introduction to Software Testing – Paul Ammann and Jeff Offutt – ISBN-13: 9780521880381 鈥 Cambridge Press, 2008.
- Foundations of Software Testing – Aditya Mathur – Addison-Wesley Professional 鈥 2007.
- Software testing techniques – B. Beizer – Van Nostrand Reinhold, 1992.
- Le test des logiciels – S. Xanthakis et Co – Editions Hermes, 2000.
-
Details
- Course title: Interaction Design
- Number of ECTS: 4
- Course code: BPINFOR-36
- Module(s): Module 4.2
- Language: EN
- Mandatory: Yes
-
Objectives
The overall objective of this course is to help deepen students鈥 knowledge and skills in user interface and interaction design.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Describe, explain, and use a standard analysis and design process, and standard analysis and design terminology.
- Recognize several basic design patterns and common software techniques, and be able to use them in product design.
- Generate alternative solutions for analysis and design problems, evaluate them, choose a good alternative, and explain and defend this choice.
-
Description
The Interaction Design course follows the following core topics. Many of these combine lectures with studio time in the classroom.
- Introduction to Interaction Design.
- Understanding Users.
- Needs, Requirements and Hierarchical Task Analysis.
- Prototyping.
- Conceptual Design.
- Physical Design.
- Evaluation.
-
Assessment
First time students: two exams during the semester (30% each), a group final project (30%), and participation in the classroom (10%).
Repeating students: final exam (100%). -
Note
Literature: Interaction Design: Beyond Human-Computer Interaction (2nd Edition), by Preece, Rogers, and Sharp. Wiley, 2007.
-
Details
- Course title: Algorithms 3
- Number of ECTS: 4
- Course code: BPINFOR-71
- Module(s): Module 4.3
- Language: EN
- Mandatory: Yes
-
Objectives
This course builds on and extends topics covered in 鈥淎lgorithms 1鈥 and 鈥淎lgorithms 2鈥, primarily aiming at a practical point of view. Based on real-world examples using different programming languages, selected data structures and algorithms will be discussed. Their functional as well as non-functional properties such as performance, memory consumption and concurrency issues will be investigated, guiding the selection process of different alternative approaches.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Use popular data structures in practice with Java.
- Describe how generics work in the Java programming language.
- Explain exact algorithms, heuristics, and AI-based Optimization.
-
Description
After a thorough discussion of Java generics, data structures and algorithms provided by the Java Collections Framework will be closely examined. C++ templates will be introduced. The basics concepts of the C++ Standard Template Library will be covered, elaborating on its general design and performing a comparative analysis. Additional kinds of algorithms will be investigated, including exact algorithms as well as heuristics for optimisation and AI. -
Assessment
Summer semester:
First time students: one practical project (30%) + final written exam (70%),
Repeating students: final written exam (100%).
Winter semester: final written exam (100%) -
Note
Literature:- Introduction to Algorithms, Thomas H. Cormen et al., MIT Press, ISBN 978-0262033848
- Java Generics, Maurice Naftalin and. Philip Wadler, O鈥橰eilly Media, ISBN 978-0596527754
- Generic Programming and the STL, Matthew H. Austern, Addison-Wesley Professional, ISBN 978-0201309560
-
Details
- Course title: Networks 2
- Number of ECTS: 3
- Course code: BPINFOR-70
- Module(s): Module 4.3
- Language: EN
- Mandatory: Yes
-
Objectives
Study data link and network layer protocols, wireless and mobile networks. Understand security in computer networks. Intensive hands-on experience with networking in the labs.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain the basics of data link and network link layer protocols.
- Apply practical experience gained about networking in a lab environment.
- Describe security-related aspects of networking.
-
Description
- Network layer: Routing algorithms.
- Link Layer and LAN, Ethernet, ARP.
- Organization of internet standards and RFCs.
- Wireless and mobile networks CDMA, GSM, 3GPP.
- Multimedia networking RTSP.
- Security in Computer Networks: PGP, IPSec, SSL/TLS.
-
Assessment
First time students: practicals and homeworks (100%).
Repeating students: written exam (100%). -
Note
Literature: Kurose / Ross textbook and slides: https://www-net.cs.umass.edu/kurose-ross-ppt-6e/
-
Details
- Course title: Database Systems
- Number of ECTS: 4
- Course code: BPINFOR-135
- Module(s): Module 4.4
- Language: EN
- Mandatory: Yes
-
Objectives
This course provides a solid foundation in database concepts, focusing primarily on relational database systems. Students will learn how to design, implement, and query relational databases using SQL. The course also includes a brief introduction to non-relational database models such as NoSQL, key-value stores, and document databases to offer a broader perspective on data storage technologies.
-
Course learning outcomes
On successful completion of this course, students will be able to:
- Explain the basic principles and architecture of database systems.
- Design normalized relational database schemas using ER modeling.
- Write effective SQL queries for data manipulation and retrieval.
- Understand and apply concepts of data integrity, constraints, and transactions.
- Compare relational databases with key types of non-relational databases.
- Identify appropriate database types for different data scenarios.
-
Description
The course covers the following topics using a hands-on approach:
- Introduction to Databases and Data Models.
- Relational Database Concepts.
- Entity-Relationship (ER) Modeling.
- Relational Schema Design and Normalization.
- Structured Query Language (SQL).
- Constraints, Indexes, and Transactions.
- Accessing Databases from Programming Languages.
- Overview of alternative database types (NoSQL, NewSQL, Object-Oriented Databases, Graph Databases, 鈥).
- Use Cases and Comparative Analysis of Database Types.
The course is organised in the form of a seminar. The topics are worked on and presented by students, followed by a discussion and accompanied by practical tasks.
-
Assessment
First time students: presentation (20%), discussion (30%), practical part (10%), closed-book written exam (40%).
Repeating students: closed-book written final exam (100%). -
Note
Literature:- Database System Concepts. Abraham Silberschatz, Henry Korth, S. Sudarshan, McGraw-Hill Education, 7th edition, 978-1260084504
- Fundamentals of Database Systems. Ramez Elmasri, Shamkant B. Navathe. Pearson, 7th edition, 978-0-13-397077-7
- Database Systems: The Complete Book. Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom, Pearson Prentice Hall, 2nd edition, 978-1-29202-447-9
- Database Management Systems. Raghu Ramakrishnan, Johannes Gehrke, McGraw-Hill Education, 3rd edition, 978-0072465631
Additional references will be announced in the class.
-
Details
- Course title: Applied Data Analysis with LLMs
- Number of ECTS: 4
- Course code: BPINFOR-136
- Module(s): Module 4.4
- Language: EN
- Mandatory: Yes
-
Objectives
- Solidify statistical foundations: Ensure students are comfortable with descriptive statistics, sampling theory, hypothesis testing and confidence intervals, enabling them to choose appropriate statistical techniques for data problems.
- Introduce core machine鈥憀earning concepts: Provide a practical overview of supervised and unsupervised learning, regression and classification algorithms, clustering and dimensionality reduction, and evaluation methods like cross鈥憊alidation.
- Explain the basics of neural鈥憂etworks and transformer architectures: Introduce deep learning fundamentals, culminating in the transformer model that underpins modern LLMs.
- Demystify large language models: Explain how LLMs are trained, their capabilities and limitations, and the significance of Karpathy鈥檚 Software 3.0 vision. Promote critical thinking: highlight issues of bias, fairness and hallucinations in LLMs.
- Develop data analysis and coding proficiency with LLM assistance: Strengthen skills for data analysis and visualization, learn how to use an LLM to generate and debug the code needed for data analysis and visualization.
-
Course learning outcomes
鈥嬧婣t the end of the course, students will be able to:鈥
- Compute and interpret summary statistics (means, medians, quantiles, variances, interquartile ranges) and visualize data distributions.
- Use statistical inference methods, including confidence intervals, hypothesis tests and bootstrapping, to draw conclusions from samples.
- Formulate and understand the concept of data correlation.
- Apply linear regression to curve-fitting problems. Understand the concept of overfitting.
- Apply statistical tests to compare different design candidates.
- Understand and apply sampling and bootstrapping techniques.
- Data transformation: data cleaning and dimension reduction.
- Understand how statistics can be used to set engineering simulation parameters with respect to target confidence level.
- Differentiate between supervised and unsupervised machine learning, select appropriate algorithms (e.g., regression, classification, clustering) and justify their choices.
- Understand and experiment with neural networks and deep learning: Gain some understanding of how neural networks function, including layers, activation functions, and training through back鈥憄ropagation, and be able to apply simple deep鈥憀earning models to data鈥慳nalysis tasks with the help of an LLM.
- Evaluate and compare machine鈥憀earning models effectively: Understand and use common evaluation techniques (such as accuracy, precision, recall, F1鈥憇core and cross鈥憊alidation) to assess model performance, compare different algorithms and select appropriate models for a given task.
- Describe the basics of the architecture of transformers and understand how LLMs leverage transformer models.
- Design and refine prompts to program an LLM, illustrating the Software 3.0 paradigm where we 鈥減rogram鈥 (mostly) by giving instructions in plain language to an AI rather than writing traditional code.
- Critically evaluate LLM outputs, recognizing biases and hallucinations, and apply strategies such as retrieval augmented generation to mitigate the problem of wrong outputs.
-
Description
The course covers the following topics:
- Overview of the use of statistics in data analysis, machine learning and engineering.
- Descriptive statistics and exploratory data analysis: population, sample, mean, median, variance, empirical distribution histogram, cumulative distribution function, quantile, box plots, density plots, scatterplot and coefficient of correlation.
- Inferential statistics: sampling, sampling bias and bootstrap.
- Confidence intervals and margin of errors.
- Statistical significance and p-values. Hypothesis tests: one way versus two two ways tests.
- Introduction to Machine Learning. Supervised and unsupervised learning. Overview of regression and classification problems. Model Evaluation and Selection.
- Introduction to Neural Networks.
- Transformers and the Attention Mechanism. Large Language Models and Software 3.0.
- Prompt Engineering and LLM鈥慉ssisted Data Analysis.
- Ethical Use of LLMs and Bias Mitigation.
-
Assessment
First time students: final written exam (70%) and take-home assignment (30%).
Repeating students: final written exam (100%).
-
Note
Literature:- 鈥淧ractical Statistics for Data Scientists鈥, P. Bruce, A. Bruce, P.Gedeck, second edition, O鈥橰eilly, 2020.
- 鈥淪oftware is changing (again)鈥 Andrej Karpathy, https://youtu.be/LCEmiRjPEtQ
More literature will be announced during the course via the Moodle course website.
Course offer for Semestre 5 (2025-2026 Winter)
-
Details
- Course title: Introduction 脿 la vie professionnelle
- Number of ECTS: 2
- Course code: BPINFOR-87
- Module(s): Module 5.1 * N.C.
- Language: FR
- Mandatory: Yes
-
Objectives
La fin des 茅tudes et l鈥檈ntr茅e dans la vie professionnelle marquent un tournant essentiel dans la vie. Le cours vise 脿 aider l鈥櫭﹖udiant 脿 passer de la vie universitaire 脿 la vie active de mani猫re professionnelle. Cette transition sera facilit茅e par la pr茅sentation de la r茅alit茅 du monde du travail et des diff茅rentes d茅marches pour d茅crocher un emploi 茅panouissant.
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- de comprendre les sp茅cificit茅s du march茅 du travail luxembourgeois.
- d鈥檃voir une vision globale de l鈥檈ntreprise.
- d鈥櫭猼re bien pr茅par茅 dans leur recherche d鈥檈mploi.
- de bien int茅grer leur future entreprise.
-
Description
Paysage 茅conomique luxembourgeois:
Caract茅ristiques du march茅 du travail luxembourgeois.
Aper莽u des principaux secteurs d鈥檃ctivit茅s.
Fonctionnement d’une entreprise:
Missions des principaux d茅partements.
Impact de la transformation digitale des entreprises.
Techniques de recherche d鈥檈mploi:
Description du processus de recrutement d鈥檜ne entreprise.
- Identification des attentes du recruteur.
- R茅daction de la lettre de motivation et du CV.
Pr茅paration de l鈥檈ntretien d鈥檈mbauche.
Le droit du travail:
Composantes du contrat de travail.
- Diff茅rents types de contrat de travail.
P茅riode d’essai et fin du contrat.
尝鈥檈苍迟谤别辫谤别苍别耻谤颈补迟:
Aper莽u des diff茅rents types d鈥檈ntreprises.
- Vade-mecum des d茅marches 脿 effectuer.
-
Assessment
脡tudiants d茅butants et redoublants: Un examen 茅crit final (100%). -
Note
Ouvrage de r茅f茅rence:- La gestion des talents – C. Dejoux, M. Th茅venet (Editions Dunod)
- Les 100 sch茅mas du management 鈥 D.Autissier, K.Johnson, L.Giraud (Editions Eyrolles)
- L’art de la reconnaissance au travail 鈥 L.Becker (Editions InterEditions)
- Ressources Humaines 鈥 J-M Peretti (Editions Vuibert)
- La bo卯te 脿 outils des soft skills 鈥 N. Van Laethem, J-M Josset (Editions Dunod)
- Management : L’essentiel des concepts et pratiques 鈥 S. Robbins, D. DeCenzo, M. Coulter, C-C R眉ling (Editions Pearson)
-
Details
- Course title: Design Patterns
- Number of ECTS: 4
- Course code: BPINFOR-88
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
The course introduces students to the concepts and the best practices of software engineering centred on Design Patterns. Several individual Design Patterns and some of their possible combinations will be discussed in detail from both theoretical and practical points of view, further familiarizing students with the underlying ideas. The course focuses on the Java programming language in examples and for implementation work.
-
Course learning outcomes
On successful completion of the course, students are capable to:
- Explain best practices of software engineering centred on Design Patterns.
- Apply several individual design patterns and their combination in practice.
- Explain the underlying ideas of specific design patterns.
-
Description
In the lectures, the following Design Patterns are explained, grouped with respect to usage themes:
- Theme #1: Creation of objects
- Singleton.
- Flyweight.
- Prototype.
- Builder.
- Factory method.
- Theme #2: Hierarchical structures
- Composite.
- Visitor.
- Theme #3: Events and notifications
- Observer.
- Chain of responsibility.
- Theme #4: Coordinating objects at run time
- Command.
- Mediator.
- Strategy.
- Theme #5: Connecting objects
- Facade.
- Adapter.
- Proxy..
- the implementation of individual Design Patterns.
- the composition of multiple Design Patterns into the same code.
- the re-engineering of existing code with the help of Design Patterns.
The supervised exercises sessions are devoted to:
- Theme #1: Creation of objects
-
Assessment
First time students: Continuous assessment during the practical sessions (30%) and final written examination (70%).
Repeating students: final written examination (100%).
-
Note
Literature:- “Design patterns: elements of reusable object-oriented software”, E. Gamma, R. Helm, R. Johnson J. Vissides, Addison-Wesley.
- “Design Patterns for dummies”, Steve Holzner, Wiley Publishing.
- “Design Patterns pour Java”, Laurent Debrauwer, ENI.
- 鈥淒esign Patterns in Java鈥, Steven J. Metsker William C. Wake, Addison-Wesley.
- 鈥淗ead First Design Patterns鈥, Eric Freeman Elisabeth Freeman, O’Reilly, 2004.
- 鈥淥bject-Oriented Software Construction鈥, Bertrand Meyer, Prentice Hall. [version fran莽aise : 鈥淐onception et programmation orient茅es objet鈥, Eyrolles].
-
Details
- Course title: Big Data
- Number of ECTS: 4
- Course code: BPINFOR-82
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
The course is about (classical and new) techniques that are involved in the Big Data paradigm. The main goal is to spark the discussion about the Trade Offs between the classical data processing techniques and the upcoming ones for big data. In addition, students should get basic knowledge on how to automatically process and analyze huge amount of data.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Demonstrate the ability to understand how to model a database system and the Trade Offs when the database goes big data, such as: consistency versus scalability and performance.
- Explain the database technologies for big data and analyze their pros and cons for proper usage.
- Design and develop big data solutions by adapting existing tools, designing new ones or a combination of both.
- Explain the concepts and the limits of the automated processing of data.
- Differentiate supervised and unsupervised learning and when one technique should be applied.
- Describe the concept of features and the importance of choosing discriminating ones.
- Select among basic algorithms for extracting information from a large data set and apply them.
-
Description
The course is about (classical and new) techniques that are involved in the Big Data paradigm. The course combines two of the key dimensions of Big Data, namely:
Part I – Design and development for big data
The first part of the course will discuss databases and distributed computing algorithms for hosting and processing very large amounts of data:
- Conceptual modeling (ER Model), Relational Model (Algebra and SQL), Schema design (ER to Relational).
- Files and Access methods (except DHT).
- Distributed Databases, Data Warehouse and C-Store.
- NewSQL, Distributed Hash Tables, MapReduce, NoSQL.
The main goal of the first part is to spark the discussion about the Trade Offs between the classical data processing techniques and the upcoming ones for big data.
Part II – Data mining, classification and aggregation
The objectives of Part II are to guarantee that the students have a basic knowledge to automatically process and analyze huge amount of data. In particular, the two main objectives are to 1) extract information from a data set and 2) transform and store the data in a convenient way for further use (data mining, classification and aggregation):
- Classification (random forest, 鈥).
- Clustering (k-means, 鈥).
- Outlier and anomaly detection (local outlier factor, 鈥).
- Regression (least squares, 鈥).
-
Assessment
First time students: Practical exercises, homework, continuous evaluation.
Repeating students: written exam (100%). -
Note
Literature: Relevant literature will be provided during the course.
-
Details
- Course title: Business Software Systems
- Number of ECTS: 4
- Course code: BPINFOR-55
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
The students learn an overview and advantages of business software systems, especially ERP systems, and where these systems are used in business.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain the role of business software systems in professional environments.
- Understand the purpose of business software systems, especially enterprise resource planning (ERP) systems.
- Clarify the role of business processes and apply basic techniques about modeling of business processes.
- Know the core business processes supported by business software systems.
- Understand the term Business Intelligence (BI) and know the components of a business intelligence system.
-
Description
Overview of business software systems:
- Introduction: business software systems, especially ERP-Systems, as basis of enterprise information processing.
- Classification of business software systems.
- History, market review of ERP systems.
- Architectures of ERP systems (client-server-architectures, layer models, interfaces).
Business Process Management (BPM) and its relation to business software systems:
- BPM cycle.
- Modeling Techniques: BPMN, ARIS.
Main business processes and their support by business software systems:
- Finance and accounting.
- Manufacturing.
- Supply Chain Management.
- Customer Relationship Management.
Management information systems / Business Intelligence:
Case studies are analyzed in the class and assignments with practical exercises with BPM tools are given to the students.
-
Assessment
First time students: written examination (70%) and control of homework/assignments (30%).
Repeating students: written examination (100%).
-
Note
Literature:- Kenneth Laudon, Jane P. Laudon: Management Information Systems: Global Edition, 13th ed., Pearson Education, 2014.
- K. Ganesh et. al.: Enterprise Resource Planning – Fundamentals of Design and Implementation, Springer International Publishing, 2014.
- M. Dumas, M. La Rosa, J. Mendling, H. A. Reijers: Fundamentals of Business Process Management, 2nd ed., Springer. 2018.
- B. Silver: BPMN Quick and Easy Using Method and Style: Process Mapping Guidelines and Examples Using the Business Process Modeling Standard, Cody-Cassidy Press. 2017
-
Details
- Course title: Circuits num茅riques
- Number of ECTS: 4
- Course code: BPINFOR-111
- Module(s): Module 5.2 * N.C.
- Language: FR
- Mandatory: No
-
Objectives
Conception des circuits int茅gr茅s num茅riques 脿 l’aide du langage VHDL et r茅alisation d’un petit microprocesseur simple sur un circuit programmable de type FPGA.
-
Course learning outcomes
Apr猫s avoir suivi ce cours, les 茅tudiants seront capables :
- d’appliquer langage VHDL pour la r茅alisation d’un petit microprocesseur.
- de programmer un circuit programmable de type FPGA.
-
Description
- Langage VHDL: d茅finition du langage, concepts de base et m茅thodologie.
- Logiques combinatoires et s茅quentielles.
- Automates 脿 茅tats finis et modes de synchronisation.
- D茅finition et sp茅cification d’un microprocesseur basique.
- Architecture de Von Neuman, constituants d’un CPU et jeu d’instructions ALU et arithm茅tique des ordinateurs.
- Pipeline, architecture de Harvard et RISC.
- Am茅liorations successives apport茅es 脿 l’architecture de base.
-
Assessment
Un examen 茅crit ou oral (50%), rapport et pr茅sentation orale du projet r茅alis茅 en TP (50%). -
Note
Les 茅tudiants devront obligatoirement participer aux TP et remettre les rapports qui leur sont demand茅s.
-
Details
- Course title: Cloud-Based Applications
- Number of ECTS: 4
- Course code: BPINFOR-116
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
The course provides an introduction to both the theoretical foundations and practical applications concerning the broad area of “Cloud Computing”.
The course covers both the practical development and deployment of cloud-based computing applications as well as current tools and respective application-programming interfaces (APIs) in the context of the Apache Hadoop and Spark ecosystems (cloud-based “big data” processing).
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain both the theoretical foundations and the practical usage of current cloud-computing architectures.
- Explain concepts on virtualization and application deployment into the cloud.
- Describe how different concepts concerning the modeling and management of large data collections are implemented on top of these architectures.
- Prove first-hand experience about usage of the introduced tools in AWS / Google Cloud.
-
Description
The course will cover two important aspects of cloud-based applications, compute-centric and data-centric applications, in particular the following topics:
- Infrastructures for Cloud Computing.
- Virtualization vs Containers – Docker.
- Container orchestration with Kubernetes.
- Practical Cloud examples: AWS, Google Cloud, RedHat OpenShift.
- Distributed file systems (GFS & HDFS).
- Distributed computing principles (MapReduce), replication, fault tolerance, backup tasks, custom combiners and partitioners, local aggregation, linear scalability.
- Apache Pig: first dataflow language (Pig Latin), translation into MapReduce and optimization.
- Apache HBase: distributed key-value store for very large tabular data, columns and column families, indexing and lookups.
- Apache Hive: SQL-like query language on top of Hadoop, translation into MapReduce.
- MongoDB: API overview, JSON processing, user-defined functions.
- Apache Spark: distributed resilient data objects (RDDs), overview of streaming and machine-learning extensions.
- An introduction to High Performance Computing (HPC).
-
Assessment
First time students: 2 graded exercises (15% each) and final written exam (70%).
Repeating students: final written exam (100%).
-
Note
Literature: The course will rely on genuine documentation available on the web, which will be made available on the course Moodle website.
-
Details
- Course title: Introduction to Machine Learning
- Number of ECTS: 4
- Course code: BPINFOR-113
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
This course introduces Machine Learning (ML) principles and its three main learning paradigms (supervised, unsupervised, and reinforcement learning). For each learning paradigm, it presents some of its most typical foundational models and discuss them from the perspective of representation, evaluation, and optimization. A special attention is given to a basic introduction into deep learning techniques and generalization. The course mixes theoretical concepts with vanilla implementations of various ML models.
-
Course learning outcomes
At the end of the course the student will be able to:
- Define Machine Learning and differentiate the terms AI, Machine Learning, and Deep Learning.
- Describe the differences among the three Machine Learning paradigms: supervised, unsupervised, and reinforcement learning.
- Determine which of the three Machine Learning paradigms is appropriate to a particular type of problems.
- Derive, implement, and evaluate some of the most typical Machine Learning models.
- Derive, implement, and evaluate some basic Deep Learning models and their learning algorithms.
- Explain proper ML evaluation procedures, including the differences between training and testing performance.
- Apply Machine Learning models to real-world problems.
- Identify overfitting in the context of a problem and describe solutions to overfitting.
- Evaluate the performance of a Machine Learning algorithm on a real-world dataset.
-
Description
The following topics are covered in the course:
- Basics – ML Introduction.
- Basics – Data preparation for ML.
- Supervised Learning – Regression.
- Supervised Learning – Classification.
- Unsupervised Learning – Dimensionality reduction.
- Unsupervised Learning – Clustering.
- Reinforcement Learning – Preliminaries.
- Reinforcement Learning – Basic methods.
- Deep Learning – Learning Deep Representations.
- Deep Learning – Models.
- Deep Learning – Deep Reinforcement Learning.
- Generalization.
- Research – Glimpse on state-of-the-art research.
- Engineering – ML and the real-world.
-
Assessment
First time students: two take-home assignments for 10% and one take-home assignment for 20% of the final grade, written exam: 60% of the final grade, open-book exam (i.e., course material allowed).
Repeating students: final written exam (100%).
-
Note
Literature:- Bishop, C.: Pattern Recognition and Machine Learning, 2006
- Goodfellow, I., Bengio, Y. Courville, A.: Deep Learning, 2016
- Sutton, R., Barto, A.: Reinforcement Learning: An Introduction, second edition, 2018
- Hastie, T, Tibshirani, R. Friedman, J.: The Elements of Statistical Learning, 2009
- Zhang, A., Smola, A.J., Lipton, Z., Li, M.: Dive into Deep Learning, 2023
-
Details
- Course title: Introduction to IT Security
- Number of ECTS: 4
- Course code: BPINFOR-51
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
The general goal of the course is to increase awareness for IT security. The course explains a broad range of common algorithms and techniques used in IT security including IT security management.
By the end of the course, the students will have:
- A good understanding of the role of security and the importance of security in IT systems.
- A good understanding of security properties and the mechanisms used to enforce such properties.
- Familiarity with techniques for modelling and evaluating secure systems against given security requirements.
- A vision of the management of the IT securities and the related regulatory that we need to manage as IT responsible of a firm.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain the role of security and the importance of security in IT systems.
- Describe security properties and the mechanisms used to enforce such properties.
- Apply techniques for modelling and evaluating secure systems against given security requirements.
- Describe common techniques used for the management of IT security.
-
Description
Introduction 鈥 IT security concepts:
- Overview.
- Key concepts and definitions (confidentiality, integrity, authentication, privacy, security dilemmas).
First part:
- Introduction to basic cryptographic tools (symmetric/asymmetric cryptography, hash functions, signatures).
- Identification and authentication.
- Access control and security models: Authorization, policies and enforcement mechanisms.
- Database and datacenter securities and kind of attacks:
- Malicious software.
- Trojans.
- DOS.
- Intrusion detection and firewalls.
- Software and Network securities and Trusted systems:
- Web security.
- Email security.
- Security protocols.
- Cybersecurity policies and risk management approaches:
- Risk management and policies according with ISO 27K.
- IT security management.
- Data privacy management.
Second part: Administering security:
Selection of topics from: Digital forensics, Digital Rights Management, Trust management, RFID security.
-
Assessment
First time students: written exam (60%) and practical exercises (40%).
Repeating students: written exam (100%).
-
Note
Literature:- W. Stallings, L. Brown: Computer Security Principles and Practice, Pearson, 4th edition, 2018, ISBN: 978-0-13479435-8.
- B. Schneier: Applied Cryptography: Protocols, Algorithms, and Source Code in C, Wiley, 2nd edition, 1996, ISBN: 978-1-119-09672-6 .
-
Details
- Course title: Java for Enterprise Applications
- Number of ECTS: 4
- Course code: BPINFOR-110
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
Students will learn how Jakarta EE (formerly Java EE) offers a component-based approach to designing, developing, assembling, and deploying enterprise applications. Both theoretical and practical aspects of Jakarta EE components will be explored, with particular emphasis on the role of web services in enabling service-oriented architectures. Hands-on experience will be gained using WildFly, a free Jakarta EE application server closely related to the popular commercial JBoss server. In the second part, students will receive a practical comprehensive introduction to the competitive Spring Boot framework.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Explain the main ideas behind the Jakarta EE framework.
- Develop views with the help of JSF and named beans.
- Explain the practical significance of the most important APIs in the framework.
- Develop Jakarta EE-based applications of medium-level difficulty with the application server Wildfly.
- Implement web services and web applications with Spring Boot.
- Extend their knowledge on Jakarta EE and Spring Boot by autonomously reading the specifications and other documentation available.
-
Description
- Introduction to the Docker containerization framework and its usage in this course.
- General Jakarta EE concepts.
- Traditional Java-based web applications: Java Servlets / Java Server Pages (JSP) / Custom tags / JSTL.
- Java Server Faces and Named Beans as view technology in Jakarta EE.
- Session Beans: stateless, stateful, and singleton beans.
- Context Dependency Injection (CDI) and its benefits.
- The Java Persistence API.
- Dedicated APIs of the Jakarta EE framework (XML, JSON, batch jobs, …).
- The Java Message Service (JMS) and Message-Driven Beans.
- Develop web services with Jakarta EE.
- Introduction to Jakarta EE Security.
- Introduction to Spring Boot, especially REST web services, Spring Boot persistence, and MVC web applications with Spring Boot.
- Spring Boot with relational databases (MariaDB) and NOSQL databases (MongoDB, Redis)
- Spring Boot and GraphQL.
- Concepts for Spring Boot Security (Spring Boot app combined with a KeyCloak authentication server)
- Native enterprise applications with Spring Native, Quarkus, and Micronaut.
- Comparison of advantages and disadvantages of Jakarta EE and Spring Boot.
-
Assessment
First time students: two graded assignments (30%) and final written exam (70%)
Repeating students: final written exam (100%).
-
Note
Literature: The course mainly uses the various Jakarta EE component specifications available online. A detailed list of references is made available on the Moodle course website.
-
Details
- Course title: Parallel and Distributed Systems
- Number of ECTS: 4
- Course code: BPINFOR-117
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
Many applications and systems extend beyond the boundaries of a single process, often being deployed on multiple machines. The main objective is to provide a solid understanding of the theoretical background and general principles on how to compose a single coherent system composed of multiple distributed components. Modern system architectures are presented and discussed, including cloud computing, peer-to-peer, grid, ad-hoc and mobile systems. Diverse issues in terms of the design and implementation of such systems are explored, with a strong emphasis on practical aspects, including performance. Real-world distributed systems are examined as case studies.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Prove a solid understanding of the general principles used in distributed systems.
- Explain the usage of distributed systems in real-world situations.
- Practically realize a distributed system.
-
Description
- Distributed system architectures.
- Time in distributed systems.
- Distributed processes.
- Interprocess communication.
- Distributed synchronisation.
- Fault tolerance (reliability, replication).
- Peer-to-peer systems.
- Grid computing.
- RPC, RDMA, MPI.
- Real-time streaming storage and processing.
- Partitioning, Scaling, Performance.
- Latency, Throughput.
-
Assessment
First time students:- 40%: In-class practical labs: Four labs are designed to directly apply the concepts learned from both traditional lectures and pre-class materials. Evaluation is based on successful implementation, problem-solving approach, and demonstrated understanding during the session.
- 20%: Quizzes with written explanations: Four quizzes will assess understanding of key concepts from both lectures and preparatory materials. To evaluate depth of knowledge, students will be required to provide clear written explanations to justify their answers, demonstrating their reasoning process.
- 30%: Final written exam (mandatory).
- 10%: Active engagement in class.
Repeating students: 100% final written exam. -
Note
Literature:- Distributed Systems, Tanenbaum as optional reading.
- Lecture notes and papers are based on MIT’s 6.824
-
Details
- Course title: Backend Software Development
- Number of ECTS: 4
- Course code: BPINFOR-122
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
This course covers advanced topics in back-end Web development, including API design, implementation using different languages and frameworks, and integration of databases. Proper use of asynchronous programming together with concurrency handling to tackle scalability is discussed extensively based on several case studies.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Assess Web development technologies and frameworks.
- Design and develop scalable back-ends for Web apps.
- Properly use asynchronous programming while dealing with concurrency issues.
-
Description
The course covers the following topics using a hands-on approach:
- Basics:
- Asynchronous and reactive programming.
- RESTful API design and use.
- OpenAPI.
- GraphQL.
- Interaction between front- and back-end.
- JavaScript-based Web development:
- Node.js.
- Express.
- Python-based Web development:
- Flask.
- Databases and persistence:
- MySQL.
- MongoDB.
-
Assessment
Winter Semester:- First time students: continuous evaluation (30%), three closed-book written exams (70%).
- Repeating students: closed-book written final exam (100%).
Summer Semester:- Closed-book written final exam (100%)
-
Note
Literature: References will be announced in the class.
-
Details
- Course title: Introduction to IOT
- Number of ECTS: 4
- Course code: BPINFOR-124
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
Students will be equipped with competences for the development of applications for the Internet of Things (IOT):
- Know the challenges of IoT networks considering the various specificities and application constraints (e.g. QoS, scalability, real-time application, operational safety, etc.).
- Master the basics of IoT communication protocols (Application layer).
- Master the selection and implementation of different IoT communication protocols.
- Design, analyze and criticize different data collection, storage and processing data architectures, both their possibilities and their limits.
- Design one or more IoT applications using machine learning modules based on the collected data.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Define and develop the functional and technical specifications of a network and telecom equipment (hardware, software, implementation, etc.).
- Determine architecture components, technologies, equipment, tools supports and integrate them according to the specifications.
-
Description
- Introduction to issues relating to the interoperability of IOT networks / protocols (application layer – OSI).
- Real-time networks: Profibus, Modbus, Modbus-TCP.
- IOT protocols on application layer: HTTP (REST API), MQTT, CoAP, OneM2M, O-MI/O-DF.
- NOSQL databases: MongoDB, ElasticSearch.
- Getting started with Node-Red (visual programming tool – open source – developed by IBM) for IoT application development:
- data collection: Arduino, & sensors, Cloud API endpoints…
- data storage: databases (SQL, NoSQL).
- data treatment: Node-Red (JavaScript).
- publication of data via dashboard (H2M) and machine interfaces (M2M): Implementation of an HTTP server (REST API specification, server deployment).
-
Assessment
First time students:- 40%: practical group project.
- 60%: final written exam.
Repeating students: 100% final written exam.
-
Note
This course is shared with the Bachelor in Computer Science (BiCS).Literature: Relevant literature will be provided during the lecture.
-
Details
- Course title: IT in a Real organization
- Number of ECTS: 4
- Course code: BPINFOR-126
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
The students will learn how IT is structured, driven and operated in a real financial organization – based on an example of a bank in Luxembourg. The course will cover different IT job families, IT project governance and lifecycle, practical hints for system design, insights into the hiring and job onboarding process.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Understand the place, the role, the priorities and the driving factors of IT in a real organization.
- Differentiate between different IT job families.
- Understand how IT projects are structured and executed.
- Implement practical system designs.
- Navigate through the hiring and job onboarding process.
-
Description
- A structure of a typical bank in Luxembourg and a place of IT in it.
- IT job families 鈥 from a software engineer to quality assurance, system analysis, user experience and project management.
- IT project governance and project execution.
- System design 鈥 DOs and DON’Ts.
- Hiring process 鈥 job search, interview preparation, interview types (live coding, brain teaser, tech vs HR), interview follow-up, first days at job.
-
Assessment
First time students:- End-course evaluation lab teamwork (30%): Design and build a demo system
- Structure project: scope, governance, timelines, planning.
- Execution phases: launch, planning, analysis, design, implementation, deployment, landing.
- Project roles and their responsibilities: lead, analyst, engineers etc.
- Individual student presentation (30%).
- Final written exam (30%).
- Participation in course (10%).
- Individual student presentation (50%).
- Final written exam (50%).
Repeating students: - End-course evaluation lab teamwork (30%): Design and build a demo system
-
Note
Literature: Lecture slides and supporting materials will be provided on the Moodle course website.
-
Details
- Course title: Digital transformation
- Number of ECTS: 4
- Course code: BPINFOR-131
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
Historical Context: Introduce the evolution of the digital revolution and its economic and societal impacts.
Technological Understanding: Provide in-depth insights into key technologies driving digital transformation (AI, Blockchain, etc.).
Strategic Application: Develop the ability to design and evaluate digital transformation initiatives for businesses.
Futuristic Outlook: Explore the next wave of digital technologies (Quantum Computing, AGI) and analyze potential risks for humanity.
Practical Experience: Enable students to apply concepts through a final project that addresses real organizational challenges.
-
Course learning outcomes
By the end of this course, students will be able to:
Analyze the historical progression of digital technologies and articulate their influence on business models.
Evaluate how data and emerging technologies can optimize and transform organizational processes.
Design a digital transformation strategy aligned with business objectives, leveraging relevant tools.
Critically Assess ethical, social, and human risks associated with advanced technologies.
Collaborate effectively in teams to produce a comprehensive written report and deliver an engaging presentation on a proposed digital transformation plan.
-
Description
This course provides a comprehensive exploration of digital transformation, centering on the technologies and strategic approaches that organizations adopt to thrive in today鈥檚 evolving digital landscape. Students begin by examining the origins of the digital revolution to understand the economic and societal shifts that paved the way for current innovations. From there, the curriculum delves into how data-driven methodologies revolutionize business processes, enabling greater efficiency and competitive advantage.
Key technologies such as Artificial Intelligence (AI) and Blockchain will be discussed in depth, illustrating how they are applied across various industries. The course also highlights emerging fields like Quantum Computing and Artificial General Intelligence (AGI), considering both their transformative potential and associated risks. Real-world case studies, featuring both successful and failed digital transformation strategies鈥攚ill demonstrate the importance of sound planning, change management, and stakeholder engagement.
A guest speaker from industry will offer practical insights, sharing lessons learned from an ongoing digital transformation journey. Building on all these insights, students will collaborate on a final group project where they propose a comprehensive digital transformation strategy for a real or fictional company, integrating the technological and managerial perspectives covered in the class.
-
Assessment
Final Project (50%): Group Work (2 – 3 students)
Written Report: A thorough digital transformation strategy for a chosen real or fictional company
Presentation: 10 – 15 minutes in class, followed by QA
Multiple Choice Exam (50%): Covering the topics seen in class (closed book, paper pencil) -
Note
Literature:- The Digital Transformation Roadmap: Rebuild Your Organization for Continuous Change, David L. Rogers, 2023, ISBN 978-0231196581
- Digital Transformation: Survive and Thrive in an Era of Mass Extinction, Thomas M. Siebel, 2019, ISBN 978-0231196581
- The Economics of Data, Analytics, and Digital Transformation: The theorems, laws, and empowerments to guide your organization’s digital transformation, Bill Schmarzo, 2020, ISBN 978-1800561410
-
Details
- Course title: Introduction to Generative AI
- Number of ECTS: 4
- Course code: BPINFOR-132
- Module(s): Module 5.2 * N.C.
- Language: EN
- Mandatory: No
-
Objectives
This course introduces students to the field of Generative AI and LLM-based (Large Language Model) agents. The course will explain key concepts such as neural networks, transformers, RAG (Retrieval-Augmented Generation) systems, diffusion models, agentic AI and how to build and evaluate generative AI applications responsibly. Students will be guided through hands-on practical sessions using state-of-the-art tools and frameworks (e.g., PyTorch, Langchain, vector databases) and will learn best practices for designing, training, tuning, and deploying large-scale AI systems.
-
Course learning outcomes
鈥嬧婣t the end of the course, students will be able to:鈥
- Understand the history, current impact, and real-world applications of Generative AI and LLM-based agents.
- Understand core concepts of NLP, including embeddings, vector representations, semantic similarities, and key ML paradigms (supervised, unsupervised, reinforcement learning).
- Describe how neural networks are trained, including essential knowledge of PyTorch (tensor ops, autograd).
- Demonstrate proficiency with transformers (attention, tokenization, pruning, distillation) for language tasks.
- Engineer effective prompts for generative models, mitigating limitations and hallucinations.
- Build, fine-tune, and evaluate RAG systems using vector databases.
- Fine-tune diffusion models and GANs for generative tasks.
- Analyze ethical, socio-economic, and security implications of deploying and maintaining GenAI solutions.
- Apply best practices when creating LLM-based agents with reasoning and tool usage.
- Evaluate GenAI/ML models using standardized metrics, procedures, and datasets.
-
Description
- Introduction to Generative AI, LLMs, and course structure.
- Python basics and AI environment setup.
- Key machine learning concepts and data importance.
- Intro to PyTorch: tensors, autograd, and GPU use.
- Neural networks and training fundamentals.
- Building and training a basic neural network in PyTorch.
- NLP basics and word embeddings (word2vec, GloVe).
- Prompt engineering with OLLAMA and handling limitations.
- Transformer architecture and model optimization.
- Building a RAG (Retrieval-Augmented Generation) system.
- Fine tuning vs. instruction tuning of LLMs.
- Running a basic fine-tuning job on a pre-trained LLM.
- Generative models: GANs and diffusion models.
- Tuning parameters in a Stable Diffusion demo.
- Lifecycle of a generative AI project and cost trade-offs.
- Building a chatbot with LangChain (hands-on).
- Understanding LLM-based agents and tool use.
- Advanced prompt engineering and reasoning workflows.
- Evaluation metrics for generative AI models.
- Hands-on model evaluation and monitoring in production.
- Ethics and socio-economic impact of generative AI.
- Security in GenAI: prompt injection and jailbreaking (Part I).
- GenAI threats and deployment hardening strategies (Part II).
- Practical security lab: securing an LLM-based system.
- Real-world GenAI case studies across industries.
- Mini-project: advanced RAG and agent integration.
- Future of AI, AGI, and open research problems.
- Final project presentations and peer feedback.
-
Assessment
First time students:- Take-home assignment鈥: 鈥嬧婭mplement a mini GenAI application (e.g. chatbot, RAG system, 鈥) and provide a concise report documentation design, approach, and evaluation (40%).
- Final written exam鈥 (60%).
- Active participation鈥 (up to 2 bonus points).
Repeating students: final written exam (100%).
-
Note
Literature: Will be announced during the course via Moodle.
Course offer for Semestre 6 (2025-2026 Summer)
-
Details
- Course title: Research-oriented Bachelor Project
- Number of ECTS: 30
- Course code: BPINFOR-129
- Module(s): Module 6.1
- Language: EN
- Mandatory: No
-
Objectives
The main objective of the research-based Bachelor project is the practical application of the learned technical expertise and a professional attitude that the students have acquired during their BINFO study by participating within a research project done in a research group of the Department of Computer Science at the 8xav福利导航 of Luxembourg. The technical aspects and results of the project and the experiences made during the project must be documented in a report, the Bachelor thesis.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Integrate into a research team working in the IT domain of an academic institution;
- Show maturity in working in the IT research domain;
- Prove the acquired expertise for a practical problem in the research-related information technology context;
- Reflect on the experience made during this practical work.
-
Description
In the Bachelor project, students shall apply the technical and interpersonal expertise achieved during their previous study within a research-based project of at least 12 weeks, done in a research group at the Department of Computer Science. The project must contain a substantial research contribution from the student. The Bachelor project should prepare students for continuation of their study within a CS Master programme. The three key elements of a Bachelor project are:
- An academic supervisor and the study director must support the acceptance of the student, based on prior academic results.
- The Bachelor project and the expected research question must be clearly defined before the start of the project and feasible for a 12-weeks long work.
- The student must be mentored by an 鈥渁cademic supervisor鈥 (and possibly a local supervisor) from within the department that supports the scientific learning process of the student in the context of the project.
- The work done during the Bachelor project must lead to a Bachelor thesis, a written report that documents the complete work done and describes the technical background, all IT related aspects (including problem analysis and design, implementation aspects, 鈥.) and the achieved results. This report will be evaluated by a jury.
Note that a research-based Bachelor project is an unpaid academic activity of the student.
-
Assessment
The evaluation of the Bachelor project and the respective project report (the Bachelor thesis) is done before a Bachelor project jury based on the results achieved during the project. This jury consists of both the local and the academic supervisor and at least one additional member of the academic body.
-
Details
- Course title: Professional Internship
- Number of ECTS: 30
- Course code: BPINFOR-130
- Module(s): Module 6.1
- Language: EN
- Mandatory: No
-
Objectives
The main objective of a final professional internship is the practical application of the learned technical expertise and a professional attitude that the students have acquired during their BINFO study by participating in an IT-project realized in a professional host institution. The technical aspects and results of the project and the experiences made during the project must be documented in a report, the Bachelor thesis.
-
Course learning outcomes
On successful completion of this course, students are capable to:
- Integrate into a team working in the IT domain of a professional host institution.
- Show maturity in working in the IT domain, at least equivalent to regular junior level staff.
- Prove the acquired expertise for a practical problem in the information technology context.
- Reflect on the experience made during this practical work.
-
Description
In the professional internship, students shall apply the technical and interpersonal expertise achieved during their previous study within a practical project of at least 12 weeks with a close relationship to Information Technology. The realized project can consist of developing a new or extending an existing software product (e.g. a prototype / proof-of-concept, (part of) an application, an API, 鈥), a hardware-related development (e.g. prototype used in a feasibility study, a controller, a data-acquisition device,鈥), or a contribution to the management of an IT project (e.g. specifications of technical requirements, study of state-of-the art technology, study of suitable hardware / software for a future system). The project must contain a substantial contribution from the student. The three key elements of a Bachelor project are:
- The Bachelor project and the expected result must be clearly defined before the start of the internship and feasible for a 12-weeks long work.
- The student must be mentored by a 鈥渓ocal supervisor鈥 within the host institution. Additional颅ly, an 鈥渁cademic supervisor鈥 from within the university supports the scientific learning process of the student in the context of the project.
- The work done during the internship project must lead to a Bachelor thesis, a written report that documents the complete work done and describes the technical background, all IT related aspects (including problem analysis and design, implementation aspects, 鈥.) and the achieved results. This report will be evaluated by a jury.
Note that by the Luxembourgish labor law an internship student is obliged to follow the guidance of his/her superior. This type of internship must be paid.
-
Assessment
The evaluation of the professional internship is done by a internship jury consisting of both the local and the academic supervisor of the internship project together with at least one additional member from the academic body. The jury evaluates the clearness and preciseness of the presentation and the quality of the answers given to the jury鈥檚 questions.