Master of Engineering: Computer Science (Leuven)

CQ Master of Engineering: Computer Science (Leuven)

Opleiding

What can you find on this webpage?

Our (future) students can find the official study programme and other useful info here.

You can find information about admission requirements, further studies and more practical info such as ECTS sheets, or a weekly timetable of the current academic year.

Are you a future student?

Be sure to first take a look at the page about the Master of Engineering: Computer Science.

There you can find more info on:

- What’s the programme about?

- Starting profile

- Admission and application

- Future possibilities

- Why KU Leuven

- Contact

- ...

Toelatingsvoorwaarden

Master of Engineering: Computer Science (Leuven)onderwijsaanbod.kuleuven.be/2024/opleidingen/e/SC_52364422.htm#activetab=voorwaarden

Doelstellingen

1.  Competent in one or more scientific disciplines

- Has advanced knowledge and insight in the following areas of computer science:
  • Software engineering: principles and techniques of modelling, design, and development of software; principles and realization of software architectures;
  • A wide range of different types of programming languages and algorithms;
  • Systems software (operating systems and distributed systems);
  • Principles and techniques of Machine Learning;
  • Theoretical and mathematical foundations of computer science.


- And possesses specialized knowledge in at least one of the following disciplines of computer science:
  • Artificial intelligence
  • Secure software


- Is able to apply, expand, deepen and integrate knowledge from different fields of computer science.


2.  Competent in conducting research

- Can gather all the scientific information relating to a complex problem, assess its relevance and process the valuable aspects.

- Can formulate specific research questions.

- Can independently plan and execute different phases of the research process.

- Can critically evaluate research results.

- Engages other disciplines in the research, where needed.


3.  Competent in designing

- Has acquired specific expertise relating to all stages of the software development process: drafting requirements, analysis, design, implementation, testing and maintenance .

- Can use different paradigms and tools to develop software systems.

- Can make an informed decision about whether to reuse an existing software solution based on the quality of the design and implementation.

- Can create software solutions for multidisciplinary problems with an open end of which the solution space is very large.


4.  A scientific approach

- Can critically examine existing theories, models or interpretations in the field of computer science.

- Can develop, use and validate new models at different levels of abstraction.

- Observes the limitations and boundaries of solution methods.

- Demonstrates academic integrity in thought and action.

- Is able to independently keep up with developments in the field.


5.  Basic intellectual skills

- Can form an opinion based on objective evidence.

- Can rationally cope with incomplete or irrelevant data.

- Can independently reflect critically and constructively on their own thinking, decision-making and actions.

- Has a critical and constructive approach to developments in the field.

- Is capable of abstract and structural thinking.


6.  Competent in co-operating and communicating

- Can orally and in writing communicate about and report on his or her research and solutions in Dutch and/or English with laymen, specialists and other stakeholders.

- Can efficiently work in groups on a project basis, carry team roles, and deal with social dynamics.

- Can handle deadlines through an independently drawn work schedule.


7.  Takes account of the temporal and social context

- Takes into account the social and economic constraints and the different aspects of the sectors he/she will be part of (e.g. industry, banking and insurance, healthcare, government and education)

- Is aware of their social and ethical responsibility and acts accordingly.

- Has insight into the broader context of computer science in society (legal, economic, sociological, cultural, political and technical-industrial context).

The graduated master:

  • During the practice of the engineering profession, is guided by his or her scientific and technical knowledge.
  • Has an engineering attitude that enables him or her to formulate solutions to complex problems, taking into account relevant constraints of an economic, legal, social, ... nature.
  • Is aware of his or her social and ethical responsibility and can act accordingly.
  • Has a willingness for open communication and cooperation, both with engineers within and outside the discipline, and with other actors in the professional field.
  • Has insight into the broader role that engineers play in society.
  • Shows willingness to keep abreast of new scientific and technical evolutions, and to approach them with a critical mind.

Educational quality of the study programme

Here you can find an overview of the results of the COBRA internal quality assurance method.

Educational quality at study programme level

Blueprint
Bestand PDF document Blueprint_MA_Computer Science.pdf

COBRA 2019-2023
Bestand PDF document COBRA-fiche_MA_computersciences.pdf
Bestand PDF document COBRA-fiche_MA_computerwetenschappen.pdf

Educational quality at university level

  • Consult the documents on educational quality available at university level.

More information?

SC Master of Engineering: Computer Science (Leuven)

programma

This programme can be adapted according to the previous knowledge of the student.

Students can consult this website for transitional measures concerning structural changes in the programme.

printECTS33.xsl

ECTS Innovation Management and Strategy (B-KUL-D0H36A)

6 ECTS English 39 First termFirst term Cannot be taken as part of an examination contract

Aims

Upon completion of this course, the student is able to:

• Define, clarify and understand major concepts and topics which constitute the specific nature of innovation dynamics/innovation systems.
• Define and clarify concepts  and models (rationale, ingredients, implications) relevant for defining  and implementing an innovation strategy (on the level of the firm)
• Define and clarify concepts and models (rationale, ingredients, implications) relevant for organising new product development efforts (project level)

Previous knowledge

No specific prerequisites.

Is included in these courses of study

Onderwijsleeractiviteiten

Innovation Management and Strategy (B-KUL-D0H36a)

6 ECTS : Lecture 39 First termFirst term

Content

Part 1: Technology and innovation dynamics/systems: Key concepts and Insights
Part 2: Defining and implementing an innovation strategy (at the level of the firm)
Part 3: Management of New Product Development processes (Project level)

Each part provides the students with a grounded and scientific approach towards important aspects of the innovation process. As a consequence, major scientific as well as application-oriented articles are provided as reading materials for each module.

The first part highlights the disciplinary roots or origins of the innovation process. More specifically, we highlight economic studies of the innovation process. These studies delve deeper into the work and insights of Joseph Schumpeter on the role of entrepreneurs and established companies and market pull and technology push dynamics. In addition we will elaborate insights on the level of innovation systems including the relevancy of (support) policies (e.g. patent systems) as well as the role of research centers and universities within such systems.

The second part develops models of the innovation process and examines the strategic management of technology and innovation on the level of the firm. Both defining an innovation strategy and implementing the innovation strategy by means of concepts and practices such as the development of technology portfolios (including selection criteria for innovation projects and programs) and technology roadmaps will be discussed. Major issues in organising the effective implementation of innovation strategies will be introduced (e.g. Organisational Ambidexterity, Venturing,.. .). We will also look at the nature and relevance of alliances and cooperation for the innovative performance of the firm.

The third part discusses the management of day-to-day operations in innovation environments. We discuss the following themes: (1) organising innovation activities and new product development projects, (2) critical success factors in managing innovation projects, (3) the concept of project performance in innovative settings, (4) techniques and approaches to support project management in innovative environments, and (5) the management of innovative teams and professionals.

Course material

Used Course Material
Handbook: Innovation Management and Strategy, Van Looy. McGraw Hill, 2016. (ISBN: 9781308882987)
Articles and literature
Slides, transparencies, courseware

Toledo
* Toledo is used for this learning activity to share readings, lecture slides, etc.

Format: more information

Students acquire in-depth insights in the management of innovation and technology in a course that combines traditional lectures and a group assignment.

For the group assignment students write a paper and give a poster presentation. Students demonstrate their ability to analyse and understand innovation dynamics. Given the scope of the course, topics can be situated at 3 different levels: innovation systems and policies, innovation strategies of firms and innovative products/projects (including business models).

Evaluatieactiviteiten

Evaluation: Innovation Management and Strategy (B-KUL-D2H36a)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Written, Paper/Project, Presentation
Type of questions : Open questions
Learning material : None

Explanation

Features of the evaluation

* The written closed book exam assesses the extent to which the student has internalised the insights from the readings and lectures and is able to diagnose innovation dynamics, develop relevant arguments and understands consequences and implications of proposed actions.

* The paper and presentation should reflect that the student is able to analyse and understand the specific nature of their topic, to compare/situate the topic within the relevant (scientific) literature and to arrive at an assessment in terms of appropriateness. This is a group assignment.

* The paper and presentation are group assignments in teams of 4-6 people.

* For the paper the term of deliverance and deadline will be determined by the lecturer and communicated via Toledo. The deadline will be situated before the start of the examination period at the end of the semester.

* The final presentation date will be set by the lecturer and communicated via Toledo. The presentations will take place before the start of the examination period; at the end of the semester.

Determination of final grades

* The grades are determined by the lecturer as communicated via Toledo and stated in the examination schedule. The result is calculated and communicated as a number on a scale of 20.

* The final grade is a weighted score and consists of the following components: 60% on a written closed book exam; 40% on the written paper and presentation

* The grade for the paper is only taken into account if the student succeeds in the final exam.

* If the student does not participate in the written exam, the final grade of the course will be NA (not taken) for the whole course.

* If the set deadline for the paper was not respected, the grade for that respective part will be a 0-grade, unless agreed otherwise by the lecturer. Changes in deadlines can only be considered in case of unexpected, severe, circumstances.

* If the student did not participate in the elaboration of the paper, the grades for the paper and presentation will be a 0-grade.

Second examination opportunity

* The features of the evaluation and determination of grades are similar to those of the first examination opportunity, as described above.

* The student retakes that part of the evaluation (written closed book exam and/or paper and  presentation) for which he did not pass. The grade obtained at the first exam opportunity for the part the student did pass, will be transferred to the second exam opportunity.

* If students did not pass for the paper and presentation (and did not pass overall), a tailor made trajectory (individual) for the paper can be considered/allowed.

ECTS ICT Service Management (B-KUL-D0I69A)

6 ECTS English 39 Second termSecond term

Aims

Upon completion of this course, the student has a fundamental understanding of the management of ICT-based Services. The student is confronted with the underlying theory and best practices, extensively illustrated by means of case studies. In particular the student is able to:

  • define precisely ICT-based Services from a demand as well as support perspective, and understand the positioning of Services in Business Processes
  • define and implement an overal ICT-based Service Catalogue for an organisation
  • apply relevant costing policies to ICT-based Services
  • make the business case for the development of new and innovative services (including cost-benefit analysis)
  • decide on (out)sourcing issues in ICT-based Services
  • evaluate the applicability of Service Management Frameworks (ITIL, ISO20000, CMMI and COBIT) for Service Delivery as well as Support

Previous knowledge

At the beginning of this course, the student should possess a basis knowledge of Information Systems.
Furthermore, knowledge of basic micro-economical techniques is recommended.

Is included in these courses of study

Onderwijsleeractiviteiten

ICT Service Management (B-KUL-D0I69a)

6 ECTS : Lecture 39 Second termSecond term

Content

The topics of this course are:

Part I: IT Service management

* Introduction: IT in a business environment
* A framework for IT management
* IT managment standards and frameworks
* Services delivery management
* Financial managemement
* Operations management
* Services quality management
* Security management
* Supplier management
* Human resources management

Part II: IT governance

* Introduction: what is IT governance?
* The ISO 38500 standard
* The COBIT framework
* IT decision making
* IT spending
* Business-IT alignment

Course material

Mandatory course material: course book: The IT Management Essentials - Delivering business value, ISBN: 9789057187513

Toledo: in depth explanations and comments of parts of the course book, literature, slides.

Language of instruction: more information

De deelnemersgroep is sterk internationaal samengesteld

Format: more information

The course consists of:

1. Lectures where the topics are presented, elaborated and discussed.
2. Exercises where the topics are applied to specific situations. Exercises are prepared by the students and discussed during class.
3. Self-study, in particular the reading of research papers.

Evaluatieactiviteiten

Evaluation: ICT Service Management (B-KUL-D2I69a)

Type : Partial or continuous assessment with (final) exam during the examination period
Type of questions : Open questions
Learning material : Calculator

Explanation

The exam is oriented towards understanding and applying IT governance and management research, standards, frameworks, principles, processes and techniques.
The grades are determined by the lecturer as communicated via Toledo and stated in the examination schedule. The result is calculated and communicated as a whole number on a scale of 20.
The features of the evaluation and determination of grades are identical to those of the first examination opportunity, as described above.

ECTS Robust Statistics (B-KUL-G0B16A)

6 ECTS English 43 Second termSecond term
Hubert Mia (coordinator) |  Hubert Mia |  Van Aelst Stefan

Aims

The course offers an introduction to the field of robust statistics, which comprises the study of statistical methods that are more resistant to outlying observations than classical methods. It introduces the most basic robust methods such as M-estimators and trimmed estimators in several statistical models. Their main properties (such as breakdown value and influence function) are discussed, as well as their computation. Students are also introduced to recent scientific papers and research results.

By the end of the course, the student
- should have acquired knowledge and insight in the most important robust statistical methods for univariate and multivariate models, such as location, scale, covariance, regression, and principal components.
- should be able to apply those methods to real data, using statistical software such as R or Matlab, and to interpret the results.
- should be able to present their findings in a written report.

Previous knowledge

The student should be familiar with
- basic statistical methods (confidence intervals, hypothesis tests)
- notions of mathematical statistics (maximum likelihood, efficiency, ranks)
- notions of multivariate statistical methods (location and covariance estimation, multiple regression analysis, principal component analysis).
Moreover it is recommended that the student is familiar with the freeware statistical package R and/or Matlab.

Is included in these courses of study

Onderwijsleeractiviteiten

Robust Statistics (B-KUL-G0B16a)

4 ECTS : Lecture 26 Second termSecond term

Content

The goal of robust statistics is to develop and study techniques for data analysis that are resistant to outlying observations, and are also able to detect these outliers.

In this course we introduce notions of robustness such as the breakdown value and the influence function. We study several robust estimators of univariate location and scale, multivariate location and covariance, linear regression, and principal component analysis.

Course material

Course text and slides.

 

Format: more information

The course consists of lectures and some computer sessions in which the methods will be applied to real data.

Robust Statistics: Exercises (B-KUL-G0B17a)

1 ECTS : Practical 10 Second termSecond term

Content

In computer sessions, robust methods will be applied to real data sets and the results will be interpreted. Some properties of the estimators will be verified empirically, for instance by Monte Carlo simulation.

Format: more information

The exercises will take place in computer classes.

Robust Statistics: Project (B-KUL-G0B18a)

1 ECTS : Assignment 7 Second termSecond term

Content

The students make a project in which they study the behavior and/or performance of certain robust methods on real and simulated data sets.

Evaluatieactiviteiten

Evaluation: Robust Statistics (B-KUL-G2B16a)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Oral, Written, Take-Home
Type of questions : Open questions
Learning material : None

Explanation

The evaluation consists of a project and an examination. The specific form of the exam and the grading will be explained in class and on Toledo.

Information about retaking exams

If you received a passing mark for the project, this score can be retained.

ECTS Experimental Design (B-KUL-G0B68A)

4 ECTS English 25 Second termSecond term Cannot be taken as part of an examination contract
Goos Peter |  Strouwen Arno (substitute)

Aims

This course deals with modern methods for setting up highly informative experiments. More specifically, it provides an in-depth treatment of the optimal experimental design approach, which is extremely flexible and can handle all kinds of practical constraints that may occur in the planning phase of an experiment. During the course, the students learn how to use the JMP software, which is state of the art for the optimal design of experiments. The focus is on factorial experiments, i.e., experiments studying multiple treatment factors.

Previous knowledge

Students should have good knowledge about linear algebra (simple matrix operations, inverses), the basic principles of probability and statistics, and about the basics of regression and analysis of variance (or about linear models in general). They should be familiar with the concepts of confidence intervals, hypothesis testing, p-values, power calculations, the fitting of simple linear models and the interpretation of fitting diagnostics. 
 
Prerequisites: Students should have had an introductory statistics course and a course covering the basics of regression and analysis of variance. The course “Linear Models: Regression Analysis and Analysis of Variance” is sufficient as a prerequisite (although other course(s) may also be sufficient).

Identical courses

G0B68B: Experimental Design

Is included in these courses of study

Onderwijsleeractiviteiten

Experimental Design (B-KUL-G0B68a)

4 ECTS : Lecture 25 Second termSecond term
Goos Peter |  Strouwen Arno (substitute)

Content

This course discusses the design of factorial experiments. Initially, the focus is on completely randomised experimental designs. Next, the focus shifts to experimental designs involving a restricted randomisation. First, the concept of blocking is discussed. Next, split-plot and strip-plot designs are studied.

The emphasis in the course is on the optimal design of experiments. In optimal design of experiments, the experimental design is tailored to the problem at hand (unlike classical experimental design, where inflexible, standard designs are chosen from catalogs). The course builds on concepts from regression and analysis of variance, such as fixed and random effects, power calculations, variance inflation factors, multicollinearity, confidence intervals, prediction and lack-of-fit tests.

Every topic in the course is introduced and illustrated by means of a case study from industry. The case studies are realistic in the sense that they involve quantitative and qualitative experimental factors, experimenters have to deal with limited budgets and difficulties to randomise, and forbidden combinations of factor levels. In each of the case studies, the goal is to enhance to performance of a process or a product. The areas of application are the food industry, the pharmaceutical sector, and the metal and chemical industries, among others.

The statistical software package used is JMP.

Course material

The textbook used is "Optimal design of experiments: A case study approach", co-authored by Peter Goos and Bradley Jones. A hard-copy of the textbook can be brought to the exam (photocopies, prints and e-books are not allowed at the exam).

Format: more information

The students are expected to master the concepts and understand the properties of and the differences between the different optimal experimental designs by studying the material from the lectures and the textbook. By means of an assignment and two PC sessions, the students get the opportunity to familiarise themselves with the JMP software required to plan experiments optimally.The assignment also requires the students to conduct a virtual experiment, so they can put the acquired knowledge into practice.

Is also included in other courses

G0B68B : Experimental Design

Evaluatieactiviteiten

Evaluation: Experimental Design (B-KUL-G2B68a)

Type : Partial or continuous assessment with (final) exam during the examination period
Type of questions : Open questions
Learning material : Course material, Calculator

Explanation

The exam in June counts for 15 of the 20 points for the course. The assignment counts for 5 of the 20 points in June. A hard copy of the book "Optimal Design of Experiments: A Case Study Approach" can be brought to the exam (photocopies and prints of e-versions of the book are not allowed).

The details and consequences for students who do not submit the assignment (or do not submit the assignment in time) can be found on Toledo.

Information about retaking exams

The exam in August/September counts for 20 points. The score for the assignment is not carried over to August/September. A hard copy of the book "Optimal Design of Experiments: A Case Study Approach" can be brought to the exam (photocopies and prints of e-versions of the book are not allowed).

ECTS Historical and Social Aspects of Physics (B-KUL-G0U12B)

3 ECTS English 13 Second termSecond term Cannot be taken as part of an examination contract

Aims

The students develop a well informed view on the role and the position of physics in present-day society. They are able to comment on current debates from a broad, historical perspective. They know how to collect and interpret the necessary arguments in order to formulate their own point of view.

Previous knowledge

The students have finished their bachelor curriculum in science.

Onderwijsleeractiviteiten

Historical and Social Aspects of Physics (B-KUL-G0U12a)

3 ECTS : Lecture 13 Second termSecond term

Content

The course focuses on major developments in physics during the first half of the twentieth century. The so-called "revolution in physics" is approached from different angles: the impact of new ideas and discoveries, the emergence of theoretical physics as a new important subdiscipline, the influence of political changes in Europe and World War II, the first debates on science policy and the funding of big science projects.

Themes to be discussed are:

-the 'slow' revolution of quantum physics and its relationship to "classical physics"
-quantum physics and the Weimar Zeitgeist
-physics, politics and warfare
-big science, big money
-the global development of physics

The course not only provide historical background, but also offers an introduction to some basic ideas of 'science studies'. In particular the social aspects of physics are being discussed, as well as some methdological issues in making historical and social analyses.

Course material

All study material is provided on the Toledo platform, and consists mainly of the presentation slides discussed during the course.
 

Evaluatieactiviteiten

Evaluation: Historical and Social Aspects of Physics (B-KUL-G2U12b)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Open questions
Learning material : None

ECTS Engineering Economy (B-KUL-H00K1A)

3 ECTS English 31 First termFirst term

Aims

The student has a broad view on economical (decision oriented) problems engineers will encounter in their professional career.  The student obtains insights in methods such as PW, FW and AW (present worth, future worth and annual worth), C/B calculations (cost/benefit), replacement decision making and cost estimation.  The student assimilates these methods  to allow for real-life application.

Previous knowledge

bachelor engineering or other bachelor in science & technology

Is included in these courses of study

Onderwijsleeractiviteiten

Engineering Economy: Lecture (B-KUL-H00K1a)

2.44 ECTS : Lecture 20 First termFirst term

Content

The student has a broad view on economical (decision oriented) problems engineers will encounter in their professional career.  The student obtains insights in methods such as PW, FW and AW (present worth, future worth and annual worth), C/B calculations (cost/benefit), replacement decision making and cost estimation.  The student assimilates these methods  to allow for real-life application.

Course material

Study cost: 51-75 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

  • Blank, L. and Tarquin, A., Engineering Economy, 7th edition, McGraw-Hill, NY, 2012
  • academic papers

 

Language of instruction: more information

The course is taught and examined in English

Format: more information

ex cathedra + interactive discussions

Engineering Economy: Workshops (B-KUL-H03K2a)

0.56 ECTS : Practical 11 First termFirst term

Content

Exercises and cases (made available on Toledo beforehand) are solved and discussed. Case studies are exercises placed in a realistic business context, they call for more analysis and insight than classic exercises, as  data need to be distilled from a text describing a business situation, often there are too much data or not enough data (here assumptions are needed), .  Often they call for integration of concepts from different chapters. In the interpretation of the case study results the business context plays an important role: how important is the investment under study for the company in question?  how large can the negative investment value (present worth) be for a strategic investment?

Course material

exercises (Toledo)

Language of instruction: more information

English

Evaluatieactiviteiten

Evaluation: Engineering Economy (B-KUL-H20K1a)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Multiple choice, Open questions
Learning material : List of formulas, Calculator

Explanation

As this exam is closed book, you cannot bring any written or printed material or laptop/tablet/ ... to the exam, only a simple calculator.  At the exam you will be provided with a formularium, it comes with the exam questions; you cannot bring your own.

ECTS Management and Information Technology (B-KUL-H00K2A)

3 ECTS English 31 First termFirst term

Aims

This course provides insight in the use of IT for management puroposes. The course helps the future manager (in industry, service organisation or government) to focus on the strenghts and weaknesses of IT solutions for supporting the organization's strategy and for managerial decision making and support. Attention is paid to the broad context of IT (technical and managerial aspects, like customer service, human resource aspects, ...) and the (rapid) evolution in this area.

Is included in these courses of study

Onderwijsleeractiviteiten

Management and Information Technology: Lecture (B-KUL-H00K2a)

2.44 ECTS : Lecture 20 First termFirst term

Content

The learning activity for this part of the course consists of four main parts and a closing case study which integrates aspects discussed in the four parts. The four parts are:

Module I: Organizations and IT. This module explores the need for sound IT support for any organization in today’s world.Attention is paid to the potential benefits of IT, but also to the challenges. As such a realistic view on organizational expectations and realizations is achieved.

Module II: Organizational needs and IT strategy. This module continues on the link between organizational needs and IT strategy. The emphasis is on designing an IT system that supports the organization’s core activities in the best possible way.

Module III: Applications/Systems. This module consists of three parts.First part addresses e-business systems and gives an overview of the most common functional (e.g. human resources) and cross-functional (e.g. ERP, enterprise resource planning; CRM, customer relationship management; and SCM, supply chain management) IT systems. The second part focuses on e-commerce. The third part discusses both the organizational background of decision support systems as well as the different types of such systems

Module IV: Management issues. In this module attention is paid to ethical, social and political issues as well as to the management challenges of global systems.

Throughout the whole course aspects of technology, including trends in software & hardware and the impact on the organizational and managerial context are discussed. Another recurring aspects is IT project management, including best practices and pitfalls.

Course material

Study cost: 1-10 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

Reference book: Laudon, K.C and Laudon, J.O., Management Information Systems, 14th edition, Pearson, Harlow, 2016
Extra material (cases, papers, .... ) provided through TOLEDO

Format: more information

Interactive classes.  Case presentations and discussions. 

Management and Information Technology (B-KUL-H03K3a)

0.56 ECTS : Practical 11 First termFirst term

Content

Discussion of case studies or academic papers related to  course topics:. preparation in small groups, presentation of conclusions and class discussion for formulating a structured and clear answers.   Group presentation: students prepare a short presentation on an innovative technology or concept, after the presentation a class discussion is held.

D

Course material

Articles and case studies

Format: more information

Guest speakers from industry or service 
organizations are invited.

Evaluatieactiviteiten

Evaluation: Management and Information Technology (B-KUL-H20K2a)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Paper/Project, Presentation
Type of questions : Open questions
Learning material : Course material, Reference work

ECTS Big Data Analytics Programming (B-KUL-H00Y4A)

6 ECTS English 36 Both termsBoth terms Cannot be taken as part of an examination contract

Aims

The goal of this course is to familiarize students with the different types of programming environments they may encounter or need to utilize when analyzing large-scale data sets.  The course consists of three parts or modules.  Each module will begin with background lectures that introduce and cover the relevant topics. The key concepts will be reinforced during practical exercise sessions. Then the students will be expected to use these skills in order to complete programming projects.

Note that this class runs over both semesters. That is, there will be projects and lectures in both the first and second semester. It is not possible to follow this class for only one of the semesters.

Previous knowledge

Strong background and experience with advanced data structures and algorithms, including topics such as hash tables/maps/sets, sorting algorithms, queues, search trees, etc. Understanding of time and space complexity of algorithms.  Excellent programming ability in  Java, C++, C, or a similar language. General familiarity with relational databases.

Order of Enrolment



(SIMULTANEOUS(H02C1A) OR SIMULTANEOUS(H0E96A) OR SIMULTANEOUS(H0E98A)) AND SIMULTANEOUS(H02C6A)


H02C1AH02C1A : Machine Learning and Inductive Inference
H0E96AH0E96A : Beginselen van machine learning
H0E98AH0E98A : Principles of Machine Learning
H02C6AH02C6A : Data Mining

Onderwijsleeractiviteiten

Big Data Analytics Programming: Lecture (B-KUL-H00Y4a)

2.5 ECTS : Lecture 21 Both termsBoth terms

Content

Note that the order that the topics are covered in can vary from year to year.

Part I: Basics
1. Introduction and overview
2. Background on hashing, computer organization, complexity basics, etc.
3. Databases basics: SQL, join algorithms, index structures
4. Advanced topics: Fancy indexes, column store, warehouses, noSQL
 

Part II: Structures and techniques for efficiency
1. Introduction an overview
2. Learning from data streams
3. Fast nearest neighbors algorithms
4. Implementation tricks
5. Approximation methods (e.g., sketches, sampling)
6. Advanced topics?

Part III: Parallel Architectures
1. Introduction and overview
2. Types of parallelism (e.g., shared memory, shared nothing)
3. Concurrency
4. Parallel programming bugs (e.g., data races, deadlock, etc.)
5. Map-reduce
6. Cloud computing
7. Condor?

Course material

Lecture slides, readings, and online resources

Big Data Analytics: Exercises (B-KUL-H00Y5a)

0.5 ECTS : Practical 15 Both termsBoth terms

Content

1. Part I: Query Languages
1. Introduction and overview
2. SQL: selection, projection, select-project-join, group-by, aggregates, subqueries, nested queries
3. Xquery
4. Sparql
5. Writing applications that can interface with a DBMS
6. Indexing?

2. Part II: Scripting Languages
1. Introduction an overview
2. Perl/Python

3. Part III: Parallel Architectures
1. Introduction and overview
2. Types of parallelism (e.g., shared memory, shared nothing)
3. Concurrency
4. Parallel programming bugs (e.g., data races, deadlock, etc.)
5. Map-reduce
6. Cloud computing
7. Condor?

Course material

Exercise slides

Big Data Analytics: Assignments (B-KUL-H00Y6a)

3 ECTS : Assignment 0 Both termsBoth terms

Content

Examples of the types of assignments
1. Given a set of verbal queries, translate them into a query language
2. Write queries to extract information needed for a machine learning task
3. Implement advanced machine learning algorithms (e.g., for learning from streaming data)
4. Implement an advanced data mining algorithm
5. A project that uses Hadoop, Spark, etc.

Course material

Assignment sheets

Evaluatieactiviteiten

Evaluation: Big Data Analytics Programming (B-KUL-H20Y4a)

Type : Continuous assessment without exam during the examination period
Description of evaluation : Project/Product, Take-Home

Explanation

The evaluation of the course will be based on multiple  programming assignments. Solutions are evaluated in terms of correctness, efficiency and generalizability.

Projects that are independent mean that students must complete the assignment individually. Thus using outside sources (e.g., publicly available code, etc.) or working together (e.g., working with somone else to solve the assignment, getting substantial help from someone else to solve the assignment, etc.) is strictly forbidden. If you questions about what is and is not permitted, please consult the instructor.

Information about retaking exams

For the project assignments with a failed result, the student will have an opportunity to complete an alternative assignment.

ECTS Fundamentals of Artificial Intelligence (B-KUL-H02A0A)

5 ECTS English 35 First termFirst term Cannot be taken as part of an examination contract

Aims

After succesful completion of this course, a student will 

  • have deep knowledge and insight into fundamental techniques from Artificial Intelligence, including: basic search methods, heuristic search methods, optimal path search methods, game tree search techniques, constraint solving techniques, planning techniques and markov decision processes; 
  • be able to simulate algorithms for each of the above techniques with pen and paper on small new examples; 
  • be able to implement heuristic, optimal and game-tree search methods in a provided programming environment; 
  • have insight in the relations between these techniques; 
  • have insight into the relevance of these techniques for applications. 

Previous knowledge

Some familiarity with algorithms and data structures. Limited experience with a programming language. 

Identical courses

H02A0C: Fundamentals of Artificial Intelligence

Is included in these courses of study

Onderwijsleeractiviteiten

Fundamentals of Artificial Intelligence: Lecture (B-KUL-H02A0a)

3 ECTS : Lecture 20 First termFirst term

Content

1. Introduction
- Definition and general context, both of the domain and the course
 
2. State-space representation and search methods
- state-space representation: introduction and trade-offs,
- blind search,
- heuristic search, including the study of the A*-algorithm,
- advanced aspects of heuristic search,
3. Examples of search
- search in data mining: pattern mining
- heuristic search in games
4. Constraint propagation
- backtracking, backtrack variants, intelligent and dependency directed backtracking,
- arc consistency techniques,
- hybrid constraint propagation methods
 5. Some case studies of the use of constraint processing
- interpretation of line drawings,
- interpretation of natural language
 6. Planning and Temporal representation
- partial-order regression planning: STRIPS

Course material

Copies of the slides are made available by the student organisation VTK.

Is also included in other courses

H02A0C : Fundamentals of Artificial Intelligence

Fundamentals of Artificial Intelligence: Exercises (B-KUL-H02K1a)

1 ECTS : Practical 15 First termFirst term

Content

1. Introduction (2 u.)
- Definition and general context, both of the domain and the course

2. State-space representation and search methods (8 u.)
- state-space representation: introduction and trade-offs,
- blind search,
- heuristic search, including the study of the A*-algorithm,
- advanced aspects of heuristic search,
- heuristic search in games
3. Examples of search: pattern mining and games (2 u.)
4. Constraint propagation (3 u.)
- backtracking, backtrack variants, intelligent and dependency directed backtracking,
- arc consistency techniques,
- hybrid constraint propagation methods
5. Some case studies of the use of constraint processing (3 u.)
- interpretation of line drawings,
- interpretatie of natural language
6. Planning and Temporal representation (1.5 u.)
- partial-order regression planning: STRIPS

Course material

Slides of the study material are available from the student organisation VTK

Is also included in other courses

H02A0C : Fundamentals of Artificial Intelligence

Fundamentals of Artificial Intelligence: Project (B-KUL-H0O43a)

1 ECTS : Assignment 0 First termFirst term

Content

The projects challenge the student to implement AI search techniques seen in class, in a Python programming environment based on the PacMan world developed at UC Berkeley. 

The project consists of two parts: 

  • P1: Search: Students implement depth-first, breadth-first, uniform cost, and A* search algorithms. These algorithms are used to solve navigation and traveling salesman problems in the Pacman world. 
  • P2: Multi-Agent Search: Classic Pacman is modeled as both an adversarial and a stochastic search problem. Students implement multiagent minimax and expectimax algorithms, as well as designing evaluation functions. 

 

You will fill in portions of provided Python files during the assignment. An autograder is provided to grade your own answers and guide you in your development; your submission will be evaluated by us 
independently. Collaboration and plagiarism are not allowed, we will check for this extensively and sanction if needed. 

Course material

The project assignment and the necessary software libraries and installation instructions will be made available on Toledo.

Evaluatieactiviteiten

Evaluation: Fundamentals of Artificial Intelligence (B-KUL-H22A0a)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Written, Practical exam
Type of questions : Multiple choice, Closed questions, Open questions

Explanation

Your final grade is determined by three parts: the project, the lecture exam and the exercise exam. The exact point distribution will be communicated through the online learning platform.

The project(s) will be evaluated during the year. They have to be made individually and plagiarism will be sanctioned. 

The exam is a written exam consisting of multiple-choice questions, fill-in questions and open questions. The exam consists of two parts: the part on the lecture material will test for factual and synthetic knowledge; the part on the exercises will test your ability to solve exercises involving the lecture material, as practiced in the exercise sessions. 

ECTS Declarative Problem Solving Paradigms in AI  (B-KUL-H02A3A)

4 ECTS English 40 First termFirst term Cannot be taken as part of an examination contract

Aims

This course aims to provide insight into declarative problem-solving paradigms in the research field of Artificial Intelligence (AI). The primary objective is to equip students with a comprehensive understanding of the theoretical foundations, practical applications, and emerging trends within the realm of declarative approaches to problem-solving in AI. 

 

The course will give students an understanding of the specific characteristics and key underlying principles of select declarative modelling languages and their solving techniques. This can include constraint programming, classical planning, neuro-symbolic reasoning and more. Additionally, the course aims to highlight the usefulness of these concepts and principles in solving large classes of problems in AI. Students should comprehend the advantages and drawbacks of the covered paradigms, understand the types of problems for which they are best suited, and be able to compare different modelling choices and solving techniques within and across paradigms. Moreover, students should be able to situate them and related research aspects in the context of the application areas for which they were developed. 

 

Throughout the course, students will acquire basic modelling skills in specific paradigms, enabling them to model and solve relevant problems in AI. 

Previous knowledge

The students should be familiar with the fundamentals of Artificial Intelligence and search, and they need to have basic knowledge of an object oriented programming language.

Is included in these courses of study

Onderwijsleeractiviteiten

Declarative Problem Solving Paradigms in AI: Lecture (B-KUL-H02A3a)

3 ECTS : Lecture 20 First termFirst term

Content

Without being exhaustive, typical paradigms that could be presented are:

  • constraint programming
  • planning languages and systems
  • theorem proving and systems for formal verification
  • probabilistic reasoning and neuro-symbolic languages
  • AI-extensions of logic, functional or object-oriented programming languages

 

For each introduced language, system or methodology, the important themes are the conceptual foundations, the main built-in representation and problem solving features, the illustrations of use and limitations, the indication of the key research aspects and the key applications.

 

The selection of studied paradigms can vary from year to year.

Course material

Study cost: 76-100 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

Slides and lecture material will be made available on the learning platform.

Declarative Problem Solving Paradigms in AI: Exercises (B-KUL-H02K4a)

1 ECTS : Practical 20 First termFirst term

Content

The exercise sessions are related to the material of the course.

Course material

Exercises and necessary background material will be made available on the learning platform.

Evaluatieactiviteiten

Evaluation: Declarative Problem Solving Paradigms in AI (B-KUL-H22A3a)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Multiple choice, Closed questions, Open questions
Learning material : Course material

Explanation

Exam questions can contain a mix of open, closed and multiple choice questions. In case of multiple choice questions a guessing correction scheme will be communicated and used. The exact format of the exam will be announced on the learning platform.

ECTS Robotics (B-KUL-H02A4A)

4 ECTS English 20 Second termSecond term Cannot be taken as part of an examination contract
Bruyninckx Herman (coordinator) |  Bruyninckx Herman |  Detry Renaud |  N. |  Aertbeliën Erwin (substitute) |  Decré Wilm (substitute)  |  Less More

Aims

This course is an introduction to Intelligent Robotic Systems, i.e., machines that move (themselves and/or objects in their environment) and sense what is going on in their (immediate) neighbourhood, in order to achieve a given goal under uncertain environment conditions. 

The course covers fundamentals of robot modelling, control, and programming. Furthermore, specific attention goes to sensor-guided robots and to applying AI techniques, in a broad sense, to robots, which poses challenges that are not apparent in other contexts that do not consider embodied agents.  

This course will cover both "classical" AI techniques that are easily parametrized by an expert, and techniques that learned from data and demonstrations.

After taking this course, the student should be able to: 

  • analyse, develop, and use kinematic and dynamic models of robot systems 
  • design motion and sensor-guided control strategies, and select the most suitable strategy for an application at hand 
  • learn to analyse robotics applications  and identify what aspects lend themselves to a AI solutions

Previous knowledge

This course is accessible as an optional course to last-year master students, or to master-after-master students. Hence, a master level background is expected. 

The course requires background in programming, engineering mechanics, linear algebra and basic differential and integral calculus.  Mostly Python will be used in the exercise sessions. 

Is included in these courses of study

Onderwijsleeractiviteiten

Robotics (B-KUL-H02A4a)

4 ECTS : Lecture 20 Second termSecond term
Bruyninckx Herman |  Detry Renaud |  N. |  Aertbeliën Erwin (substitute) |  Decré Wilm (substitute)

Content

Robotics – theory lectures (3 ects) 

Lectures cover: 

  • introduction to software development for robots 
  • robot kinematics and dynamics 
  • robot motion control and sensor-guided control, free-space and in-contact tasks 
  • trajectory optimization (based on numerical optimization techniques) 
  • dealing with uncertainty / estimation in robotics 
  • classical motion planning and learning methods for motion planning 
  • learning from demonstration 

 

Robotics – exercise and (virtual) laboratory sessions (1 ects) 

  • (Computer) exercises and interactive lab visits on the lecture material

Course material

The study material consists of lecture notes, including paper references and book excerpts. 

Evaluatieactiviteiten

Evaluation: Robotics (B-KUL-H22A4a)

Type : Exam during the examination period
Description of evaluation : Oral
Type of questions : Open questions
Learning material : Course material

Explanation

Students, in groups of two or, exceptionally, individually: 

  • Do a homework assignment consisting of a set of computer programming exercises, and hand in a short report and their code. 
  • Do a short research project. A set of possible projects will be made available by the lecturers. 

During the examination period there is an oral defence covering both the homework assignment and the research project. The homework assignment counts for 25% of the grade, the research project for 75%. 

ECTS Computer Vision (B-KUL-H02A5A)

4 ECTS English 30 Second termSecond term Cannot be taken as part of an examination contract
N. |  Proesmans Marc (substitute)

Aims

Computer vision or Image understanding is the 'art' of developing computerized procedures to extract relevant numerical and symbolic information from images. Not backed up by a single theory, we provide a structured overview of, and guidelines for, computer vision or image understanding strategies. With the recent succes of Neural Network based applications in Computer Vision, Deep Learning approaches will be discussed as well, next to more traditional approaches. 

Previous knowledge

Basic programming experience. Some mathematical background.

Is included in these courses of study

Onderwijsleeractiviteiten

Computer Vision: Lecture (B-KUL-H02A5a)

1.5 ECTS : Lecture 20 Second termSecond term
N. |  Proesmans Marc (substitute)

Content

Part I: Early and Mid-Level Vision

1.   Introduction to Computer Vision

2.   Basic Image Processing

  • Linear Filtering
  • Pyramids/Template Matching
  • Non-linear Filtering (median, bilateral filtering)
  • Morphology

3.   Feature Detection and Matching

  • Edges
  • Points/Patches
  • Fitting
  • Hough

4.   Grouping & Segmentation

  • Clustering (K-Means, Agglomerative Clustering, Mean Shift)
  • Spectral Clustering (Normalized Cuts, Graph cuts)
  • Deformable Contours (Active Contours, Dynamic Programming)

Part II: High-level Vision

5.   Introduction to Image Understanding

6.   Object Detection

  • Scanning/Sliding Window
  • Eigenfaces, HOG, LBP
  • Boosting (Intro, Haar-Cascade)

7.   Instance Recognition

  • Local Feature Matching
  • Bag of Words
  • Spatial Verification

8.   Deep Learning for Image Classification

  • Intro to Deep Learning
  • DCNN for Image Classifcation

Course material

Slides and references to online available textbooks and papers

Computer Vision: Project (B-KUL-H02K5a)

2.5 ECTS : Assignment 10 Second termSecond term
N. |  Proesmans Marc (substitute)

Content

Concepts presented in the lectures as well as complementary aspects are further discussed through hands-on experience.

Three assignments are planned. They all make use of the Python scripting language. 

  • The first assigment helps you to get acquainted with basic image processing steps required for further image analysis. 
  • The second assignment presents different (both traditional and DL) approaches to object detection and recognition.
  • The third assignment helps the student mastering DL approaches for image classification and segmentation

Course material

Python scripting language. Online references. 

Evaluatieactiviteiten

Evaluation: Computer Vision (B-KUL-H22A5a)

Type : Continuous assessment without exam during the examination period
Description of evaluation : Project/Product, Report
Type of questions : Open questions
Learning material : Computer

Explanation

The evaluation is based on the three assignments.

The first is an individual assignment and will be evaluated on the quality and originality of the submitted output (a video showing image processing results). 

The second and third assignment are group assignments. They will be evaluated on the quality of the submitted reports. 

The weighting of the different assignments is (20%, 40%, 40%). For the second and third assignment, peer assessment will be used to detect gross asymmetric contributions of group members. 

ECTS Speech Recognition (B-KUL-H02A6A)

4 ECTS English 35 Second termSecond term

Aims

The purpose of the course is to provide the student with basic insight into the speech signal and to teach the basics of speech recognition.   The course focuses on the 'speech and language' aspects of the machine learning problem that speech recognition is.  Both traditional statistical and modern deep neural net approaches are treated.

The first part of the course studies speech - and more broadly any acoustic signal -  from a signal processing and a psychoacoustic perspective.

Next, Hidden Markov Models (HMMs) are introduced as a reference approach for sequence learning as applicable to speech recognition.  HMMs also provide a convenient framework to add diverse linguistic knowledge sources to a purely acoustic baseline system.

In the last part of the course we present modern deep neural network approaches (DNNs).  In this course we focus on which DNN architectures are suitable for speech recognition and highlight the added value in contrast to the traditional  HMM based systems.   We do not require prior knowledge on DNNs for this course, but a companion course on DNNs is highly recommended as this will lead to better in depth understanding of these methods.

In the exercise sessions, students get hands on experience with the processing of speech signals and the development of a small scale speech recognition system. 

For more details see: https://homes.esat.kuleuven.be/~spchlab/H02A6/

Previous knowledge

Students should have a basic knowledge of Machine Learning principles, i.e. a solid linear algebra background and working knowledge of basic statistics (Bayesian) and information theory.   While we are using Deep Neural Nets in many of the chapters, no formal prerequisites are required on this topic.

Practically speaking students should have had an introductory course to Machine Learning either via the course https://onderwijsaanbod.kuleuven.be/syllabi/e/H02C1AE.htm in the AI programme or they should have acquired similar basic knowledge in other courses.

If in doubt, students are encouraged to have a look at the online self assesment (http://homes.esat.kuleuven.be/~spchlab/H02A6/selftest/) test to check if they have the proper background.

 

Is included in these courses of study

Onderwijsleeractiviteiten

Speech Recognition: Lecture (B-KUL-H02A6a)

3 ECTS : Lecture 20 Second termSecond term

Content

1. Speech Signal Processing and The Auditory Scene 

  • the spectrogram, spectral estimation for acoustic signals
  • elementary psychoacoustic concepts (loudness, pitch, timbre, critical bands)
  • source-filter model of speech production, speech features (formants)
  • mel spectrogram and cepstral features, spectral distance measures
  • Dynamic Time Warping for matching signals that vary in time and frequency

2. Speech Recognition

  • Classification of speech sounds and speech meta data
  • Hidden Markov models, Viterbi decoding, training of  HMMs
  • Decision Trees for Context-Dependent Phone modeling
  • Linguistic resources: dictionaries, language models
  • Large vocabulary decoding
  • Static Deep Neural Nets for classifying speech sounds, Hybrid systems
  • Time Warping Deep Neural Networks for Speech Recognition, a.o.:
    • Long Short-Term Model (LSTM), 
    • Connectionist Temporal Classification (CTC)
  • Deep Neural Nets for language modeling
  • Industrial outlook, applications of Speech Recognition

Course material

Course notes are available online

https://homes.esat.kuleuven.be/~compi/H02A6/course_notes/html

Additional material is available via Toledo

 

Speech Recognition: Exercises (B-KUL-H02K6a)

1 ECTS : Practical 15 Second termSecond term

Content

There is a combination of lab sessions and exercises, all details are available in TOLEDO.  There are typically 6 sessions (though small deviations from the prototypical sequence are possible)

1. The Auditory Scene, Time - Frequency  representations of signals (speech & music)

2. Feature Extraction, Spectral Distance Metrics, Dynamic Time Warping

3. HMMs, Viterbi recognition

4. HMM training, context-dependent models, hybrid systems

5. DNNs for Language Modeling

6. Time Warping DNNs: CTC, LSTM 

Format: more information

All exercises are hand on sessions working out examples on pencil and paper, or - most of the time - working with Jupyter notebooks.

Students are expected to have enough computer skills to run Jupyter notebooks (Python), to understand the flow of the code by reading the - well documented - top level scripts and to be able to make minimal changes (such as changing variable assignments or skipping pieces of code).  Having some prior exposure to any scripting language is therefore deemed sufficient as a prerequisite.

Evaluatieactiviteiten

Evaluation: Speech Recognition (B-KUL-H22A6a)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Open questions
Learning material : Course material, Calculator, Reference work

Explanation

Open book exam with several exercises covering the different topics of the course. 

If, for organizational reasons (e.g. too many registered students), it is concluded that the organization of an oral exam is not feasible, then the oral exam will not take place and the written preparation will become a written exam. The impact of this decision will be explained on Toledo.

Example exams can be found here: http://homes.esat.kuleuven.be/~spchlab/H02A6/exams

 

ECTS Natural Language Processing (B-KUL-H02B1A)

4 ECTS English 33 First termFirst term Cannot be taken as part of an examination contract

Aims

The course focuses on methods and algorithms for building computer software that understands, generates and manipulates human language. We study the algorithms and models while introducing core tasks in natural language processing (NLP), including language modelling, morphological processing, POS tagging, syntactic analysis, semantic interpretation, machine translation, coreference resolution, discourse analysis, and dialogue modelling. We illustrate the methods and technologies with current applications in real world settings.

After following this course, the student has acquired theoretical and practical understanding of contemporary machine learning models designed for processing human language and of the underlying computational properties of NLP models. The student will have learned how underlying linguistic phenomena, that is, the linguistic features, can be modelled and automatically learned from data using deep learning techniques.

Previous knowledge

This course focuses on the algorithms, mathematical modeling and machine learning methods for processing human language. We rely on a good understanding of the machine learning foundations. Hence there is the prerequisite to have successfully passed or to follow in parallel a machine learning course (e.g., Machine Learning and Inductive Inference - B-KUL-H02C1A, Principles of Machine Learning - B-KUL-H0E98A, Artificial Neural Networks and Deep Learning - B-KUL-H02C4A). Knowledge of the basics of linear algebra and of probability theory is required.

Students who also want to deepen their knowledge of the linguistic aspects of natural language processing are recommended to follow this advanced natural language processing course and the course Linguistics and Artificial Intelligence (B-KUL-H02B6A) in parallel.

Is included in these courses of study

Onderwijsleeractiviteiten

Natural Language Processing: Lecture (B-KUL-H02B1a)

3.5 ECTS : Lecture 20 First termFirst term

Content

1. Introduction

  • What is natural language processing (NLP)?
  • Current state-of-the-art of NLP
  • Ambiguity
  • Other challenges
  • Representing words, phrases and sentences
     

2. Segmentation and tokenization

  • Regular expressions
  • Word tokenization, lemmatization and stemming
  • Sentence segmentation
  • Subword tokenization
     

3. Language Modelling

  • N-gram language models
  • perplexity
  • maximum likelihood estimation
  • smoothing
     

4. Neural Language Modelling

  • Word embeddings
  • Vector space models for NLP
  • Recurrent neural network (RNN) for language modelling
  • Transformer architecture for language modelling
  • Use of language models in downstream tasks: fine-tuning and pretraining
     

5. Part-of-Speech (POS) Tagging

  • Hidden Markov model and viterbi
  • Conditional Random Fields
  • (Bi)LSTM for POS tagging
  • Encoder-decoder architecture for sequence-to-sequence labeling
     

6. Morphological analysis

  • Inflection and derivation
  • Finite state morphology
  • Sequence-to-sequence neural models of morphological inflection
     

7. Syntactic Parsing

  • Universal Dependencies
  • Dependency parsing: Graph based dependency parsing, transition based dependency parsing
  • Constituent parsing with a (probabilistic) context free grammar ((P)CFG) and the Cocke-Younger-Kasami (CYK) algorithm
     

8. Semantics (lexical and compositional)

  • Word sense disambiguation
  • Semantic role labelling
     

9. Discourse: Coreference Resolution

  • Discourse coherence
  • Algorithm of Hobbs
  • Neural end-to-end coreference resolution
     

10. Question Answering

  • Evolution of QA systems from rule-based to neural 
  • Complex pipelines to end-to-end to retrieval-free
  • Closed-domain vs open-domain
  • Text-only vs multimodal
     

11. Neural Machine Translation

  • Encoder-decoder architecture (e.g., RNN, transformer-based)
  • Attention models
  • Improvements and alternative architectures that deal with limited parallel training data
     

12. Conversational Dialogue Systems and Chatbots

  • Task oriented dialog agents: Rule based versus neural based approaches
  • Chatbots: End-to-end sequence-to-sequence neural models
     

Course material

Handbooks

Daniel Jurafsky and James H. Martin. 2024. Speech and Language Processing: An Introduction to Natural
Language Processing, Computational Linguistics, and Speech Recognition with Language Models,
3rd edition.

Jacob Eisenstein. 2019. Introduction to Natural Language Processing. MIT Press.

Yoav Goldberg. 2016. A Primer on Neural Network Models for Natural Language Processing.

Ian Goodfellow, Yoshua Bengio, and Aaron Courville. 2016. Deep Learning. MIT Press.

  
+ recent articles: e.g., of the proceedings of the Meetings of the ACL, AAAI, NeurIPS.

Format: more information

Interactive lectures with short exercises.

Is also included in other courses

G0D25A : Natural Language Processing

Natural Language Processing: Exercises (B-KUL-H00G0a)

0.5 ECTS : Practical 13 First termFirst term

Content

  • Exercises on tokenization and segmentation
  • Exercises on language modelling and POS tagging
  • Exercises on syntactic parsing
  • Exercises on semantic and discourse processing
  • Exercises on machine translation
  • Exercises on question answering

Is also included in other courses

G0D25A : Natural Language Processing

Evaluatieactiviteiten

Evaluation: Natural Language Processing (B-KUL-H22B1a)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Open questions, Closed questions
Learning material : Calculator, Course material

Explanation

Open book written exam featuring a mixture of theory and exercise questions.

ECTS Knowledge Representation (B-KUL-H02C3A)

4 ECTS English 29 Second termSecond term Cannot be taken as part of an examination contract

Aims

  • Conveying insight in the process of knowledge representation and its role in AI and Computer Science.
  • Conveying insight in knowledge representation formalisms, their differences and correspondences
  • Conveying insight in different types  of knowledge and the methodology to express them.
  • Developing  skills in expressing knowledge and solving computational tasks.
  • Getting in touch with current hot research topics and questions about knowledge representation languages and tools:
  •  important research topics
  • important open research questions
  • experimentation with  state-of-the-art inference tools.

Previous knowledge

Basics of Artificial Intelligence.

Is included in these courses of study

Onderwijsleeractiviteiten

Knowledge Representation: Lecture (B-KUL-H02C3a)

3.5 ECTS : Lecture 20 Second termSecond term

Content

  • Introduction on the role of Knowledge Representation  in AI
    (Informal introduction to different types of knowledge and propositional attitudes, possible world analysis of knowledge, the role of knowledge in problem solving, the controversies and trade-offs of KR in AI)
  •  Knowledge representation in classical logic
    (Syntax, informal and formal semantics of classical logic, KR methology in classical logic)
  • Extending classical logic with definitions
    (introduction to different types of definitions and inductive definitions, syntax and formal semantics of ID-logic)
  • Using classical logic for problem solving
    (The role of different forms of logical inference in AI and for problem solving)
  •  Epistemic modal logic
    (Reasoning about knowledge, beliefs and intentions of other agents, syntax, formal and informal semantics of modal logic, correspondence theory, application to multi-agents systems)
  • Knowledge representation in probabilistic logics
    (Introduction to probabilistic logics. Case study of CP-logic: syntax, informal and formal semantics.)
  • Introduction to non-logical  KR-formalisms
    (Production rules and frame-based systems)

Course material

  • Slides on Toledo
  • Book "Knowledge Representation and Reasoning" Ronald Brachman and Hector Levesque

Knowledge Representation: Exercises (B-KUL-H00G7a)

0.5 ECTS : Practical 9 Second termSecond term

Content

  • Introduction on the role of Knowledge Representation  in AI
    (Informal introduction to different types of knowledge and propositional attitudes, possible world analysis of knowledge, the role of knowledge in problem solving, the controversies and trade-offs of KR in AI)
  •  Knowledge representation in classical logic
    (Syntax, informal and formal semantics of classical logic, KR methology in classical logic)
  • Extending classical logic with definitions
    (introduction to different types of definitions and inductive definitions, syntax and formal semantics of ID-logic)
  • Using classical logic for problem solving
    (The role of different forms of logical inference in AI and for problem solving)
  •  Epistemic modal logic
    (Reasoning about knowledge, beliefs and intentions of other agents, syntax, formal and informal semantics of modal logic, correspondence theory, application to multi-agents systems)
  • Knowledge representation in probabilistic logics
    (Introduction to probabilistic logics. Case study of CP-logic: syntax, informal and formal semantics.)
  • Introduction to non-logical  KR-formalisms
    (Production rules and frame-based systems)

*

The excercise sessions address the following topics:

  • KR methodology using classical logic
  • Syntax , semantics and KR of definitional knowledge
  • Use of inference tools for automated problem solving using declarative specifications
  • Modal and multi-modal logics, Kripke structures
  • Probabilistic logics, syntax and semantics of CP-logic

Course material

  • Exercises and model solutions are made available on Toledo
  • Students use the state-of-the-art inference system IDP to evaluate  the correctness of their solutions for KR excercises
  • The system is also used to show the role of inference for automated problem solving using declarative specifications.

Evaluatieactiviteiten

Evaluation: Knowledge Representation (B-KUL-H22C3a)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Open questions, Closed questions
Learning material : Course material

Explanation

Written exam (3h) :

  •  Theoretical part: closed book
  •  Exercise part:: open book  : only slides of the course
  •  June and September
  • No projects for this course

ECTS Data Mining (B-KUL-H02C6A)

4 ECTS English 37 Second termSecond term Cannot be taken as part of an examination contract

Aims

Today it is possible to collect and store vast quantities of data. These data often contain value information and insights. However, it may take human analysists weeks or months to discover the information if they are able to do it at all. Furthermore, so much data exist that most of it is never even analyzed. The goal of data mining is to fill this void by automatically identify models and patterns from these databases that are (1) valid, that is, they hold on new data with some certainty, (2) novel, that is, they are non-obvious, (3) useful, that is, they are actionable, and (4) understandable. that is humans can interpret them. In order to do this, data mining, also called knowledge discovery in databases (KDD), combines ideas from the fields of machine learning, databases, statistics, visualization, and many other fields.

The goal of this course is to provide a broad survey of several important and well-know fields of data mining and to develop an overall sense of how to extract information from data in a systematic way. It tries to give inisght into the challenges faced by data miners and the inner workers of specific data mining algorithms as well as provide some understanding about why data mining is important and interesting. The course consists of lectures, readings and exercises sessions. The exercise sessions reinforce the central concepts covered during class and give students some experience working with publicly available data mining tools. The course requires knowledge of machine learning.

Previous knowledge

Bachelor or Master level with at least basic knowledge of computers, algorithms and data structures. Moreover, the students should be comfortable with mathematical concepts such as differentiation, probability and statistics.


Knowledge of Machine Learning techniques. Specifically, the student must have followed either the (1) "Machine Learning and Inductive Inference" (B-KUL-H02C1A) class or (2) Beginselen van machine learning (B-KUL-H0E96A) / Principles of Machine Learning (B-KUL-H0E98A) class. Or they must have followed a course that was deemed to be equivalent.

Is included in these courses of study

Onderwijsleeractiviteiten

Data Mining: Lecture (B-KUL-H02C6a)

3.2 ECTS : Lecture 17 Second termSecond term

Content

Topics covered include (not necessarily in this order):

1) Data mining overview

2) The data mining process

3) Recommender systems

4) Association rule mining

5) Sequential pattern mining

6) Clustering

7) Large scale decision tree learning

8) Advanced topics on ensemble methods

9) Using unlabeled data

10) Data streams

11) Advanced topics (time permitting)

Data Mining: Practical Sessions (B-KUL-H00I0a)

0.8 ECTS : Practical 20 Second termSecond term

Content

The exercise sessions reinforce the central concepts covered during class and give students some experience working with publicly available data mining tools.  More specifically, tasks many include:

1) Working through the control of an algorithm to better understand how it functions

2) Implementing a small part of an algorithm

3) Working through a small part of the data mining process

4) Using Weka to analyse data

5) Theoretical questions designed to extend a student's knowledge of the subject

6) Discussing and solving a data mining problem with a small group and presenting the conclusions of the discussion to the whole exercise session

Evaluatieactiviteiten

Evaluation: Data Mining (B-KUL-H22C6a)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Closed questions, Open questions
Learning material : None

Explanation

Closed book written exam about the topics covered in the lectures, exercise sessions and reading.  The goal will be to assess two questions:

1) Do you understand the important basic concepts covered in class

2) Do you have an advanced understanding of the topics covered

Some questions will be similar in spirit to those solved in the exercise sessions while others will ask a student to apply a learned concept in a different context.  Be sure to read all the questions carefully and to think about how the answer to each question is structured.  

ECTS Information Retrieval and Search Engines (B-KUL-H02C8B)

6 ECTS English 55 Second termSecond term Cannot be taken as part of an examination contract

Aims

The aim of the course is to study the current techniques and algorithms commonly used in information retrieval, Web search, Web mining and recommendation, and the challenges of these fields. The theoretical insights are the basis for discussions of commercial systems and ongoing research projects. After the study of this course the student should be able to 1) describe and understand fundamental concepts and algorithms in information retrieval, Web search, Web mining and recommendation; 2) design and evaluate retrieval and search systems.

The exercise sessions give the opportunity to gain an in-depth understanding of the algorithms discussed during the lectures.

In this 6 study points variant two study points regard the realization of a project that focuses on gaining fundamental insights in advanced aspects of information retrieval, search and recommendation especially with regard to search and data structures, and to machine learning. Among others it focuses on issues concerning the processing and management of "big data" (i.e., terabytes and petabytes of information).

 

 

Previous knowledge

The course addresses students who are interested in the theory and applications of the processing, storage and retrieval of textual information. Elementary knowledge of statistics, probability theory and linear algebra is required. It is recommended that the student is familiar with machine learning methods.

Onderwijsleeractiviteiten

Information Retrieval and Search Engines: Lecture (B-KUL-H02C8a)

3 ECTS : Lecture 20 Second termSecond term

Content

The motivation for the course lies in the urgent need for computer programs that assist people in digesting masses of unstructured information composed of text and other media. We need information retrieval technology when, for instance, we find information on the World Wide Web, in repositories of news and blogs, in biomedical document bases, or in governmental and company archives. Moreover, emails, tweets, other messages and advertisements are searched and filtered. Various techniques of content recognition, recommendation and linking play an increasing role and allow generating content models of the documents or messages, that effectively match the personalized information needs of users. We witness a current interest in capturing dynamic changes in the data and in modeling dynamic interactions with users. The proliferation of wireless and mobile devices such as mobile phones has additionally created a demand for effective and robust techniques to index, retrieve and summarize information.

 
The lectures treat the following topics:
 

1. Introduction
 

 2. Advanced representations

 Law of Zipf

Matrix factorization, latent semantic analysis (LSA), training with singular value decomposition

Probabilistic latent semantic analysis (pLSA), latent Dirichlet allocation (LDA), training with Expectation Maximization (EM) algorithms, Markov chain Monte Carlo (MCMC) methods such as Gibbs sampling, and with variational inference

Embeddings obtained with neural networks

 

3. Retrieval and search models

 

Algebraic models: vector space models

Probabilistic models: language retrieval models and Bayesian networks

Neural network models

 

4. Learning to rank

 

Relevance feedback, personalized and contextualized information needs, user profiling

Pointwise, pairwise and listwise approaches

Structured output support vector machines, loss functions, most violated constraints

End-to-end neural network models

Optimization of retrieval effectiveness and of diversity of search results

 

5. Dynamic retrieval and recommendation

 

Static versus dynamic models

Markov decision processes

Multi-armed bandit models

Modelling sessions

Online advertising

 

6. Multimedia information retrieval

 

Multimedia data types and features

Concept detection

Cross-modal indexing of content: latent Dirichlet allocation and deep learning methods

Cross-modal and multimodal retrieval and recommendation models

Illustrations with spoken document, image, video and music search

 

7. Web search

 

Web search engines, crawler-indexer architecture, query processing

Link analysis retrieval models: PageRank, HITS, personalized PageRank and variants

Behavior and credibility based retrieval models

Social search, mining and searching user generated content

 

8. Scalability of Web search 

 

Data structures and search techniques

Inverted files, nextword indices, taxonomy indices, distributed indices

Compression

Learning of hashing functions, cross-modal hashing

Scalability and efficiency challenges

Architectural optimizations

 

9. Clustering

 

Distance and similarity functions in Euclidean and hyperbolic spaces, proximity functions

Sequential and hierarchical cluster algorithms, algorithms based on cost-function optimization, number of clusters

Term clustering for query expansion, document clustering, multiview clustering

 

10. Categorization

 

Feature selection, naive Bayes model, support vector machines, (approximate) k-nearest neighbor models

Deep learning methods

Multilabel and hierarchical categorization

Convolutional neural network (CNN) based hierarchical categorization

 

11. Summarization

 

Document segmentation, maximum marginal relevance

Summarization based on latent Dirichlet allocation models and long short-term memory (LSTM) networks

Abstractive summarization with attention models

Multidocument summarization, search results fusion and visualization 

 

12. Question answering and conversational agents in search and recommendation

 

Retrieval based question answering

Deep learning methods including attention models

Cross-modal question answering

E-commerce search and recommendation

 

13. Evaluation measures and methodology

 

Recall, precision, F-measure, mean average precision, discounted cumulative gain, mean reciprocal answer rank, accuracy, confusion matrix, ROC curve, normalized mutual information, mean absolute error, root mean square error, pyramid method, inter-annotator agreement, test collections

 

14. Discussion of interesting research projects


15. Invited lecture by representative of an important company

 

In 2006-2007: Thomas Hofmann, Director of Engineering, Google Zurich European Engineering Centre, Switzerland; in 2007-2008: Ronny Lempel, director of Yahoo! research, Israel; in 2008-2009: Stephen Robertson, senior researcher at Microsoft Research Cambridge, UK and one of the founders of probabilistic modeling in information retrieval; in 2009-2010: Gregory Grefenstette, Chief Science Officer, Exalead, France; in 2010-2011: Mounia Lalmas, visiting senior researcher at Yahoo! Labs Barcelona, Spain; in 2011-2012: Jakub Zavrel, CEO and founder of TextKernel, The Netherlands; in 2012-2013: Massimiliano Ciaramita, senior research scientist at Google, Zürich, Switzerland; in 2013-2014: Alex Graves, senior research scientist at Google DeepMind, London, UK; in 2014-2015: Fabrizio Silvestri, Senior Scientist at Yahoo Labs, Barcelona; in 2015-2016: Roi Blanco, Senior Scientist at Yahoo Labs, London; in 2016-2017: Holger Schwenk, research scientist at Facebook AI Research, France and Dani Yogatama, research scientist at Google DeepMind, London, UK; in 2017-2018: Enrique Alfonseca, research tech leader at Google AI, Zurich; in 2020-2021: Florian Strub, senior researcher at Google Deepmind, and in 2021-2022: Rylan Conway, applied scientist at Amazon Seattle.

Course material

Course material is available on the Toledo-platform of the K.U.Leuven. The following books offer background to the course material:
Baeza-Yates, R. & Ribeiro-Neto, B. (2011). Modern Information Retrieval: The Concepts and Technology behind Search (2nd edition). Harlow, UK: Pearson.
Büttcher, S., Clarke, C.L.A. & Cormack, G.V. (2010). Information Retrieval: Implementing and Evaluating Search Engines. Cambridge, MA: MIT Press. 
Manning, C.D., Raghaven, P. & Schütze, H. (2009). Introduction to Information Retrieval. Cambridge University Press.
Moens, M.-F. (2006). Information Extraction: Algorithms and Prospects in a Retrieval Context (International Series on Information Retrieval 21). Berlin: Springer.

 

Format: more information

Interactive lectures.

Is also included in other courses

H02C8A : Information Retrieval and Search Engines

Information Retrieval and Search Engines: Exercises (B-KUL-H00G9a)

1 ECTS : Practical 10 Second termSecond term

Content

  • Exercise session on latent semantic models, probabilistic and vector models
  • Exercise session on learning to rank
  • Exercise session on dynamic retrieval
  • Exercise session on compression
  • Exercise session on categorization and clustering
  • Exercise session on link based and multimodal models

Course material

Exercises and answers are available via the Toledo platform. 

Format: more information

Interactive exercise sessions in small groups.

Is also included in other courses

H02C8A : Information Retrieval and Search Engines

Information Retrieval and Search Engines: Project (B-KUL-H08V2a)

2 ECTS : Assignment 25 Second termSecond term

Content

The assignment is a programming assignment on a given problem of current research interest.

Evaluatieactiviteiten

Evaluation: Information Retrieval and Search Engines (B-KUL-H22C8b)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Written, Project/Product, Report
Type of questions : Open questions, Closed questions
Learning material : Calculator, Course material

Explanation

- An assignment (grading: 33.3%): At the start of the course (week 7) the student receives a programming assignment, which regards a specific problem in information retrieval, search or recommendation. The assignment is due during week 21. The score on the assignment is transferred to the third examination period.
- Theory exam (grading: 33.3 %): Written, open book.
- Exercise exam (grading: 33.3%): Written, open book.

ECTS Genetic Algorithms and Evolutionary Computing (B-KUL-H02D1A)

4 ECTS English 70 First termFirst term Cannot be taken as part of an examination contract

Aims

The student understands, recognizes, can explain why, and can give examples of settings in which evolutionary algorithms are or are not a viable solution approach. They can pinpoint, explain, and analyze the strengths and weaknesses of evolutionary algorithms both in general and in specific problem instances.

The student can list, describe, explain, analyze, and implement in the Python programming language the common basic components of evolutionary algorithms (objective function, representation, selection operators, variation operators, and elimination operators). Additionally, they can propose, develop, and implement new problem-specific, adapted components as required in a specific application. The student can list, describe, explain, analyze, and implement in the Python programming language advanced components of evolutionary algorithms that represent some of its characteristic strengths such as diversity promotion mechanisms, multi-objective optimization, and local search operators. The student furthermore can describe, analyze, and reason about the interaction between the various common and advanced components of evolutionary algorithms. In particular, they can analyze and explain the role of the various hyperparameters that can influence the strength and nature of these interactions.

The student can design and implement in Python a full evolutionary algorithm pipeline well adapted to a specific problem. Moreover, the student can put their opinions, arguments, and reasoning about the aptness of an evolutionary algorithm design (i.e. the employed components and their interactions) into both convincing writing and oral communication.

The student can implement in the Python programming language a complete evolutionary algorithm pipeline, including objective function, representation, selection operators, variation operators, elimination operators, local search operators, diversity promotion mechanisms, and multi-objective optimization techniques from scratch. They can recognize, interpret, analyze, and resolve common problems arising in evolutionary algorithms, such as loss of diversity, misalignment of the selective pressure, misalignment of exploration versus exploitation, and computational bottlenecks.

Previous knowledge

Basic undergraduate courses in informatics (programming, algorithms, data structures) and mathematics (statistics, calculus). The following specific items are assumed to be known:

Informatics

  • Good programming skills in Python (or Julia)
  • Elementary data structures (arrays, lists, matrices)
  • Graphs (definition, basic graph algorithms like shortest path computation)
  • Elementary theoretical computer science (computational problems, P vs. NP) is a bonus

Calculus

  • Multivariate functions
  • Minimization and maximization
  • Partial and full derivatives
  • Gradients of multivariate functions

Statistics

  • Normal distribution
  • Random variables
  • Probability density function, cumulative density function
  • Mean, variance, standard deviation

Is included in these courses of study

Onderwijsleeractiviteiten

Genetic Algorithms and Evolutionary Computing: Lecture (B-KUL-H02D1a)

1.8 ECTS : Lecture 20 First termFirst term

Content

High-level contents and materials

  • Lecture 1: Introduction
  • Lecture 2: Problems, representation, and variation
  • Lecture 3: Population management
  • Online module 1: Local search operators 
  • Online module 2: Multiobjective optimization and diversity promotion
  • Online case study modules: Hands-on programming exercises

Detailed contents

Basics of evolutionary algorithms

  • Exploration versus exploitation
  • Computational and optimization problems
  • Objective function
  • Representation
  • Constraints
  • Variation operators
  • Selection and elimination operators
  • Hyperparameter self-adaptivity

Local search operators

  • Steepest descent
  • Monte Carlo sampling
  • k-opt

Multi-objective optimization and diversity promotion

  • Crowding
  • Island model
  • Fitness sharing
  • Scalarization (fixed tradeoff)
  • Pareto front

Course material

Study cost: 51-75 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

Slides, online videos, textbook (e-book).

Genetic Algorithms and Evolutionary Computing: Exercises (B-KUL-H00H1a)

0.6 ECTS : Practical 10 First termFirst term

Content

The exercises consists of four guided sessions during which (most of) the group phase of the project is executed. For the group phase you will be assigned to balanced groups of 3-5 students. Attendance to the exercise sessions is mandatory, and non-participation results in a final mark of NA.

In the four exercise sessions, a basic evolutionary algorithm will be designed. The content of the sessions are:

  • Design of an elementary evolutionary algorithm
  • Computer implementation of an evolutionary algorithm in Python
  • Experimentation with the algorithm and reporting
  • Reading reports and providing peer feedback to other groups

Genetic Algorithms and Evolutionary Computing: Project (B-KUL-H08M3a)

1.6 ECTS : Assignment 40 First termFirst term

Content

The students undertake a two-phase project. The first phase is a group work in which the students analyze a model problem and design, implement, and test an evolutionary algorithm in the Python programming language. This phase is concluded by a peer feedback assignment in which the students analyse one or more designs from other teams and provide feedback on them. The second phase is performed individually by each student, in which they analyze the results from their group phase, and based on the acquired insights, design, implement, and test improved variation and local search operators, selection mechanisms, diversity promotion schemes, among others. The students report the results of their analysis (results, computational performance, strengths and weaknesses, among others) via two reports, one for each phase. 

The reports will be discussed on the oral exam and, along with additional general questions, constitute the majority of the grade for this course. See the evaluation section for more details.

Evaluatieactiviteiten

Evaluation: Genetic Algorithms and Evolutionary Computing (B-KUL-H22D1a)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Oral, Participation during contact hours, Take-Home
Type of questions : Open questions
Learning material : None

Explanation

The evaluation is oral without written preparation. The exam consists of a short discussion of the project and open theoretical questions about the course with the project as potential case study.

The score of the exam is the sum of the score of the group phase of the project, the individual phase of the project, and the exam.

If the student fails to participate in one of the components of the project (exercises, peer feedback, individual programming, individual report), the outcome of the exam is NA.

Information about retaking exams

The retake exam consists of an updated project assignment for the take-home exam and an oral exam without written preparation. The setup of the exam and scoring is the same as in the first examination period, except that the group phase must be completed individually if its previous outcome was NA. The updated assignment will be uploaded after the closing of the second examination period to Toledo. The deadline of the project will be at least one week before the opening of the third examination period.

The score of the exam is determined according to the same modalities as in the first exam attempt.

ECTS Support Vector Machines: Methods and Applications (B-KUL-H02D3A)

4 ECTS English 30 Second termSecond term Cannot be taken as part of an examination contract

Aims

After a brief introduction to the basics of statistical decision theory and pattern recognition this course focuses on methods of support vector machines for classification and regression. Support vector machine models make use of kernel functions (including e.g. linear, polynomial, radial basis function and spline kernels). In general it relates to several kernel based learning methods. The solutions typically follow from solving convex optimisation problems. Besides problems of supervised learning methods for unsupervised learning such as kernel principal component analysis are discussed as well. Support vector models are typically able to learn and generalise in very high dimensional input spaces. In this course the methods will be illustrated by examples and applications in datamining, bioinformatics, biomedicine, text-mining, finance and others.

Previous knowledge

Basic knowledge of linear algebra.

Identical courses

H02D3B: Support Vector Machines: Methods and Applications

Is included in these courses of study

Onderwijsleeractiviteiten

Support Vector Machines: Methods and Applications: Lecture (B-KUL-H02D3a)

3 ECTS : Lecture 20 Second termSecond term

Content

- Introduction and motivation
- Basics of statistical decision theory and pattern recognition
- Basics of convex optimisation theory, Karush-Kuhn-Tucker conditions, primal and dual problems
- Maximal margin classifier, linear SVM classifiers, separable and non-separable case
- Kernel trick and Mercer theorem, nonlinear SVM classifiers, choice of the kernel function, special kernels suitable for textmining
- Applications: classification of microarray data in bioinformatics, classification problems in biomedicine
- VC theory and structural risk minimisation, generalisation error versus empirical risk, estimating the VC dimension of SVM classifiers, optimal tuning of SVMs
- SVMs for nonlinear function estimation
- Least squares support vector machines, issues of sparseness and robustness, Bayesian framework, probabilistic interpretations, automatic relevance determination and input selection, links with Gaussian processes and regularisation networks, function estimation in RKHS.
- Applications: time-series prediction, finance  
- Kernel versions of classical pattern recognition algorithms, kernel Fisher discriminant analysis
- Kernel trick in unsupervised learning: kernel based clustering, SVM and kernel based density estimation, kernel principal component analysis, kernel canonical correlation analysis
- Applications: datamining, bioinformatics
- Methods for large scale data sets, approximation to the feature map (Nystrom method, Random Fourier features), estimation in the primal
- SVM extensions to recurrent models and control; Kernel spectral clustering; Deep learning and kernel machines; attention and transformers from a kernel machines perspective.

 


(10 lectures (2 hours) + 3 computer exercise sessions)

 

Course material

Study cost: 1-10 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

The course material is largely based on the textbook
J.A.K. Suykens, T. Van Gestel, J. De Brabanter, B. De Moor, J. Vandewalle,  Least Squares Support Vector Machines, World Scientific, Singapore, 2002 (ISBN 981-238-151-1)
Related books:
Cristianini N., Shawe-Taylor J., An introduction to support vector machines,  Cambridge University Press, 2000.
Schoelkopf B., Burges C., Smola A., Advances in Kernel Methods: Support Vector Learning,  MIT Press, Cambridge, 1998.
Schoelkopf B., Smola A., Learning with Kernels,  MIT Press, Cambridge, 2002
Vapnik V., Statistical learning theory, John Wiley, New-York, 1998.

Support Vector Machines: Methods and Applications: Exercises (B-KUL-H00H3a)

1 ECTS : Practical 10 Second termSecond term

Format: more information

3 computer exercise sessions

Evaluatieactiviteiten

Evaluation: Support Vector Machines: Methods and Applications (B-KUL-H22D3a)

Type : Exam during the examination period
Description of evaluation : Oral, Written
Type of questions : Open questions
Learning material : Course material

Explanation

Individually written report about the exercise sessions, with additional oral discussion.

ECTS Multi-Agent Systems (B-KUL-H02H4A)

4 ECTS English 32 Not organisedNot organised Cannot be taken as part of an examination contract
N.

Aims

This course studies the research area of multi-agent systems.  Multi-agent systems are particularly interesting for modeling and developing a wide range of distributed applications, including internet applications, distributed control systems, robotics, and self-managing systems.

In particular, the course aims to:
 
- provide an introduction and overview of software models and techniques for multi-agent systems – for behavior decision making, planning and coordination;
- provide a general perspective on the domain of collective and cooperative behaviour;
- provide a conceptual framework for distributed problem solving, based on recent research in this area.

 

Previous knowledge

  • Basic concepts and techniques on AI
  • Object-oriented programming (Java, C++, …) – for programming exercises and task.

Is included in these courses of study

Onderwijsleeractiviteiten

Multi-Agent Systems: Lecture (B-KUL-H02H4a)

3 ECTS : Lecture 24 Not organisedNot organised
N.

Content

Introduction

  • Agents and autonomy, agents vs. objects, agents vs. expert systems
  • Cooperative vs competitive multi-agent systems
  • Distributed vs centralised vs decentralised
  • Task- vs state- vs worth-oriented domains
  • Application domains
    • cyberphysical systems (CPS) - robotics, logistics, automated driving
    • agent-based modelling
  • Agent, multi-agent systems and software engineering

 

Autonomous agents & agent architectures

  • deliberative / theoretical reasoning agents
  • reactive and behaviour-based agents, Brooks’ subsumption architecture, Agent network architecture
  • practical reasoning agents - belief-desire-intention (BDI)
  • horizontally and vertically layered architectures

 

Automated planning & acting

  • Planning vs acting
    • descriptive vs operational models
  • Planning: models, properties & algorithms
    • Deterministic / classical planning
    • Temporal planning
    • Non-deterministic planning & discretization
    • Probabilistic planning
    • Hierarchical task networks
  • PDDL

 

Multi-agent planning

  • POCL planning
  • Parallel POCL planning
  • Multi-agent POCL planning
  • MA-PDDL

 

Multi-agent task allocation

  • contract net + variants (incl dynamic, with confirmation)
  • task trees and subtree bidding
  • gradient fields
  • agent negotiations for task re-distribution
    • deals, conflict deal, Zeuthen strategy

 

Swarm intelligence

  • emergent behaviour, self-organization
  • stigmergy
  • ACO (ant colony optimisation) - TSP, AntNet, AntSystem

 

Delegate MAS for large-scale dynamic coordination and control applications

  • task & resource agents
  • exploration, intention and feasibility
  • case study - manufacturing control & logistics

 

Competitive multi-agent systems & game theory

  • non-cooperative game theory
  • coalitional game theory

Course material

  • An Introduction to MultiAgent Systems - Second Edition, M. Wooldridge, 2009.
  • M. Ghallab, D. Nau, P. Traverso, “Automated planning and acting” - http://projects.laas.fr/planning/, 2016
  • Various papers and book chapters from literature.

Multi-Agent Systems: Project (B-KUL-H08M2a)

1 ECTS : Assignment 8 Not organisedNot organised
N.

Content

A scientific project aims at experiencing the challenges as well as the opportunities that multi-agent systems entail in distributed problem solving. The project includes a limited literature study, practical development, evaluation, reporting.

Evaluatieactiviteiten

Evaluation: Multi-Agent Systems (B-KUL-H22H4a)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Written, Paper/Project
Type of questions : Closed questions, Open questions

Explanation

  • Questions & exercises on the covered concepts and techniques for MAS-based modeling and problem solving
  • Discussion of project work

ECTS Bedrijfservaring: Computerwetenschappen / Industrial Experience: Computer Science (B-KUL-H04G0A)

3 studiepunten Nederlands 60 Eerste semesterEerste semester Uitgesloten voor examencontract Uitgesloten voor creditcontract

Doelstellingen

  • De student is in staat om zelf te kandideren voor een stage en om te functioneren in een bedrijf onder toezicht van een lokale coach.
  • De student kan de afdeling waar hij heeft gewerkt binnen het bedrijf plaatsen, en kan het bedrijf plaatsen binnen zijn sector en in de algemene industriële context.
  • De student heeft een idee van wat de taak van een beginnend ingenieur is binnen een bedrijf, hoe taken en communicatie is gestroomlijnd in een bedrijf, en heeft inzicht verworven in de gebruikte methoden en de praktische organisatie van het bedrijf.
  • De student kan op een correcte manier rapporteren over de opgedane ervaring, zowel schriftelijk als mondeling.
  • De student kan reflecteren over zijn functioneren tijdens de stage.
  • De student is in staat om de overgang gemakkelijker te maken van de gefundeerde meer theoretische opleiding die hij aan de universiteit geniet, naar een professionele carrière.

Begintermen

De begintermen zijn afhankelijk van het gekozen bedrijf en van de inhoud van de stage.

Onderwijsleeractiviteiten

Bedrijfservaring: Computerwetenschappen / Industrial Experience: Computer Science (B-KUL-H04G0a)

3 studiepunten : Stage 60 Eerste semesterEerste semester

Inhoud

De stage “Bedrijfservaring” kan enkel in de zomer plaatsvinden en telt mee als vak in het daaropvolgende academiejaar. Deze stage kan gedaan worden in de zomer na de bachelor of in de zomer na het eerste masterjaar.

De minimumduur is 4 weken.

De bedrijfservaring moet verband houden met de opleiding. Bedrijven uit alle mogelijke sectoren komen in aanmerking, zowel in binnenland als buitenland. Een bedrijfservaring in een onderzoekslabo van de Faculteit Ingenieurswetenschappen is niet mogelijk.

De student moet zich bij de stagecoördinator (Yolande Berbers) aanmelden. Meer informatie hierover staat op de volgende site. Deze aanmelding moet vóór 1 juni van het jaar waarin de stage plaatsvindt gebeuren.

Een lijst van bedrijven die stageplaatsen aanbieden kan gevonden worden op de volgende site
Studenten mogen ook zelf een stage plaats zoeken.

Ten laatste op 1 juli oploadt de student een document met daarin de competenties die de student hoopt te verbeteren tijdens de stage, Meer informatie hierover is te vinden op de bovenvermelde website. 

Studiemateriaal

/

Evaluatieactiviteiten

Evaluatie: Bedrijfservaring: Computerwetenschappen / Industrial Experience: Computer Science (B-KUL-H24G0a)

Type : Permanente evaluatie zonder examen tijdens de examenperiode
Evaluatievorm : Verslag, Presentatie
Vraagvormen : Open vragen

Toelichting

De evaluatie gebeurt op basis van een verslag over de stage dat de student opmaakt na afloop van de stage en op basis van een presentatie.

Deadline voor indienen van het verslag: 15 oktober van het jaar waarin de stage plaats vond.

Richtlijnen voor stageverslag:
Het gevraagde verslag is een technisch verslag, geen reisverslag of vakantieopstel.
Op de volgende website vind je richtlijnen voor het schrijven van een technisch verslag:
https://eng.kuleuven.be/studeren/engineering-essentials/rapporteren/schriftelijk
Voor de lengte van het stageverslag telt het aantal woorden: Dit moet minimum 4000 woorden zijn, exclusief titelblad, inhoudstafel, abstract, administratieve gegevens, referenties en appendices.

Het stageverslag bevat de volgende elementen:

  • Administratieve gegevens: naam student, studiejaar van student (inclusief optie), naam en adres van stagebedrijf, naam en contactgegevens (o.a. email-adres en telefoonnummer) van stagebegeleider, stageperiode
  • Beknopte beschrijving van het bedrijf (geen cut en paste van de website), besteed ook aandacht aan de locale situatie. Beschrijf de plaats van dit bedrijf in het economisch landschap. Ga ook na wie de concurrenten zijn. (max 2 blz.)
  • Omschrijving van het werk tijdens de stage. Zorg voor een degelijke structuur. Gebruik de juiste softwareterminologie. Besteed o.a. aandacht aan de softwaretechnologie die het bedrijf gebruikt, en aan de innovatie die het bedrijf al dan niet voert.
  • Relatie stage en opleiding (minstens 1 blz., maximum 3 blz.): Welke inhoud van welke cursussen zijn aan bod gekomen tijdens de stage? Was die inhoud aangepast aan wat er nodig was? Wees kritisch!
  • Kritische reflectie over de competenties die de student verwachtte te verbeteren (voeg die lijst toe als bijlage aan het verslag)
  • Conclusies die uit de stage getrokken werden: Zijn de doelen van de stage bereikt? Was de stage een meerwaarde voor de student? 

Toelichting bij herkansen

 

ECTS Security Governance and Operations (B-KUL-H04G4A)

4 ECTS English 26 Second termSecond term Cannot be taken as part of an examination contract

Aims

Upon finishing this course, the student should be able to 

  • Provide an overview of weaknesses and threats in IT infrastructure. 
  • Provide an overview of operational processes, tools and approaches to manage the cybersecurity posture of an organization. 
  • Show the importance of well-designed security policy. 
  • Position operational risk and cost as a decision driver. 
  • Provide an overview of techniques and building blocks for computer, network and infrastructure protection, explain the most important protection techniques and security building blocks, and incident handling. 
  • Have a feeling for a state-of-the-art security subsystem close to industry practice. 
  • Assess and improve a secure infrastructure (for example, a perimeter, a cloud based deployment) based on building blocks that have been studied. 

Previous knowledge

Basics in computer networks and systems. 

Onderwijsleeractiviteiten

CyberSecurity Management and Governance: Operations: Lecture (B-KUL-H04G4a)

3 ECTS : Lecture 20 Second termSecond term

Content

The course will cover the basics in management of cybersecurity posture of an organization. Illustrations follow in 6 invited talks by operational managers in industry and field experts. 

The lecture components covers the following topics: 

  • Operational management to achieve security and privacy: overview. 
  • Organizational aspects: processes, storage of critical security date, roles and responsibilities. 
  • Outsourcing: impact, consequences, tendencies and best practices. 
  • Application to specific security domains: Security Infrastructure, IAM, BYOD, Backup and business continuity,… (4 subdomains and related subsystems). 

Course material

  • Slideware of the lectures, typically related to risk, compliance, governance, policy, and focusing on security operations: tools, practices and processes of threat prevention, detection and incident management in the specific security domains 
  • Presentations of the industry case studies by guest lecturers. 

Security Governance and Operations: Exercises (B-KUL-H0O36a)

1 ECTS : Practical 6 Second termSecond term

Content

Operational security tool review exercises to be performed in pairs. The exercises are electronic using the e-learning platform, but also supported class with class sessions. (Open) discussion on tools and practices.

Course material

Operational security tool review exercises to be performed in pairs. The exercises are electronic using the e-learning platform, but also supported class with class sessions. (Open) discussion on tools and practices.

Evaluatieactiviteiten

Evaluation: Security Governance and Operations (B-KUL-H24G4a)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Report, Written
Type of questions : Open questions
Learning material : Course material, List of formulas, Calculator, Reference work

Explanation

Three theoretical/conceptual questions and one design-oriented question. 
The report on the exercises has a 20% weight and is mandatory. 

ECTS Formal Systems and their Applications (B-KUL-H04H8B)

6 ECTS English 52 First termFirst term Cannot be taken as part of an examination contract

Aims

  • To appreciate the role of formal systems in computer science.
  • To be able to develop and to reason about formal systems. 
  • To apply formal systems in reasoning about software, protocols, and/or programming languages.
  • To gain experience in reading formal systems to make research papers in the area more accessible.

Previous knowledge

Basic knowledge of logic and discrete mathematics in computer science. Some programming experience. At least experience with a higher level programming language such as Java. 
Typically this would be covered in introductory courses in programming in a computer science curriculum. 

Onderwijsleeractiviteiten

Formal Systems and their Applications: Lecture (B-KUL-H04H8a)

5 ECTS : Lecture 26 First termFirst term

Content

Firstly, a general introduction will be given on the use of formal systems, their applications and on the typical structure and composition of a formal system. Afterwards, a number of concrete systems will be looked at in more detail. Which systems will be dealt with precisely will depend on each year. Possible systems include:
·         The lambda calculus and its application in the semantics of sequential programming languages;
·         The pi calculus and its application to the verification of protocols;
·         The spi calculus and its application to the specification and verification of the safety and security of distributed 
·         The ambient calculus and its application to the specification and verification of the safety of mobile code 
·         Formal type systems and their application in programming languages
·         Logics with module systems and graphical logics and their application to the specification of large systems

Course material

Study cost: 76-100 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

Formal Systems and their Applications: Laboratory Session (B-KUL-H04H9a)

1 ECTS : Assignment 26 First termFirst term

Content

First, a general introduction will be given on the use of formal systems, their applications and on the typical structure and composition of a formal system. Afterwards, a number of concrete systems will be looked at in more detail. Which systems will be dealt with precisely will depend on each year. Possible systems include:
·         The lambda calculus and its application in the semantics of sequential programming languages;
·         The pi calculus and its application to the verification of protocols;
·         The spi calculus and its application to the specification and verification of the safety and security of distributed 
·         The ambient calculus and its application to the specification and verification of the safety of mobile code 
·         Formal type systems and their application in programming languages
·         Logics with module systems and graphical logics and their application to the specification of large systems

*

Practical exercises with the lecture Formal Systems and their Applications. This can include the application of one of the formal systems studied to example problems, the design of a variant of an existing formal system, or the implementation of one of the formal systems studied in the course in order to perform some experiments.

Evaluatieactiviteiten

Evaluation: Formal Systems and their Applications (B-KUL-H24H8b)

Type : Partial or continuous assessment with (final) exam during the examination period
Description of evaluation : Written

Explanation

·         An implementation project, applying the ideas covered in lectures (25%).
·         A final exam.
 
The implementation project can not be redone for the september exam. The score on the project obtained in june is maintained for the september evaluation.

ECTS Industrial Internet Infrastructure (B-KUL-H04I0A)

5 ECTS English 41 Second termSecond term Cannot be taken as part of an examination contract

Aims

The objective of this course is that students:

  • Gain insight into the building blocks of industrial internet infrastructure, i.e. the architectural building blocks (primarily software) that support Industry 4.0 and the Industrial Internet of Things.
  • Understand the role of the common software & hardware components that are used in Industrial Internet systems, their features and performance envelope.
  • Gain a detailed technical understanding of key technologies at each of the network layers, by following a systematic and layered approach:
    • Physical & data link layer technologies:
      • Wired networks: e.g. current loop, Heart and RS435.
      • Wireless star networks: e.g. Bluetooth and RFID
      • Wireless mesh networks: e.g. 6TiSCH and Bluetooth Mesh
      • Low Power Wide Area Networks: e.g. LoRa, NB-IoT, LTE-M
    • Network layer technologies:
      • Static routing: e.g. 6TiSCH, RPL
      • Ad-hoc routing: e.g. AODV
    • Transport layer technologies: e.g. MQTT and CoAP
    • Application layer technologies:
      • Middleware: Microsoft Azure, Amazon IoT, IFTT
      • Data storage: time series databases and historians.

Be able to apply this collection of technologies to build effective integrated systems from the sensor/actuator to the cloud. Skills in this area will be reinforced by practical sessions which provide a hands-on for each lecture topic.     ​

 

Previous knowledge

The student possesses basic knowledge on computer networks, operating systems and distributed systems.

Is included in these courses of study

Onderwijsleeractiviteiten

Industrial Internet Infrastructure: Lecture (B-KUL-H04I0a)

4 ECTS : Lecture 26 Second termSecond term

Content

  • Physical & data link layer technologies:
    • Wired networks: e.g. current loop, Heart and RS435.
    • Wireless star networks: e.g. Bluetooth and RFID
    • Wireless mesh networks: e.g. 6TiSCH and Bluetooth Mesh
    • Low Power Wide Area Networks: e.g. LoRa, NB-IoT, LTE-M
  • Network layer technologies:
    • Static routing: e.g. 6TiSCH, RPL
    • Ad-hoc routing: e.g. AODV
  • Transport layer technologies: e.g. MQTT and CoAP
  • Application layer technologies:
    • Middleware: Microsoft Azure, Amazon IoT, IFTT
    • Data storage: time series databases and historians.

    Industrial Internet Infrastructure: Exercises (B-KUL-H04J1a)

    1 ECTS : Practical 15 Second termSecond term

    Content

    Exercises are mandatory and assessed focussed the development of a simple yet end-to-end industrial internet system from sensors and actuators to the cloud.

    Course material

    Lab booklet.

    Evaluatieactiviteiten

    Evaluation: Industrial Internet Infrastructure (B-KUL-H24I0a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written
    Type of questions : Open questions, Closed questions
    Learning material : Course material

    Explanation

    Assessment during term time via programming exercises is taken into account for the final mark at the same ratio as the ECTS credits (4 credits for lectures/exam, 1 credit for assignments during term time).

    For students that do not succeed in their assessment the first time, they are free to repeat the assessment in the weeks of the semester during the usual timetable.

    ECTS Industriële stage: Computerwetenschappen / Industrial Internship: Computer Science (B-KUL-H04I9A)

    6 studiepunten Nederlands 120 Eerste semesterEerste semester Uitgesloten voor examencontract Uitgesloten voor creditcontract

    Doelstellingen

    • De student is in staat om zelf te kandideren voor een stage en om te functioneren in een bedrijf onder toezicht van een lokale coach.
    • De student kan de afdeling waar hij heeft gewerkt binnen het bedrijf plaatsen, en kan het bedrijf plaatsen binnen zijn sector en in de algemene industriële context.
    • De student heeft een idee van wat de taak van een beginnend ingenieur is binnen een bedrijf, hoe taken en communicatie is gestroomlijnd in een bedrijf, en heeft inzicht verworven in de gebruikte methoden en de praktische organisatie van het bedrijf.
    • De student kan op een correcte manier rapporteren over de opgedane ervaring, zowel schriftelijk als mondeling.
    • De student kan reflecteren over zijn functioneren tijdens de stage.
    • De student is in staat om de overgang gemakkelijker te maken van de gefundeerde meer theoretische opleiding die hij aan de universiteit geniet, naar een professionele carrière.
    • De student heeft een substantiële bijdrage geleverd voor het bedrijf.
    • De student kan een project plannen in discussie met anderen, kan de planning aanpassen en deze uitwerken.

    Begintermen

    • De begintermen zijn afhankelijk van het gekozen bedrijf en van de inhoud van de stage.
    • Je mag dit opleidingsonderdeel enkel opnemen als je al minstens 48 studiepunten van het masterprogramma hebt verworven.

    Volgtijdelijkheidsvoorwaarden

    72

    Onderwijsleeractiviteiten

    Industriële stage: Computerwetenschappen / Industrial Internship: Computer Science (B-KUL-H04I9a)

    6 studiepunten : Stage 120 Eerste semesterEerste semester

    Inhoud

    De industriële stage kan enkel in de zomer plaatsvinden voor het tweede masterjaar en telt mee als vak in het daaropvolgende academiejaar.

    De minimumduur is 6 weken.

    De inhoud van de stage moet verband houden met de opleiding. De stageopdracht moet een afgerond geheel vormen, waar liefst zowel analyse van het probleem als het ontwerp van een oplossing en de implementatie daarvan aan bod komen. Bedrijven uit alle mogelijke sectoren komen in aanmerking, zowel in binnenland als buitenland. Een industriële stage in een onderzoekslabo van de Faculteit Ingenieurswetenschappen is niet mogelijk.

    Namen en contactgegevens van bedrijven die stageplaatsen aanbieden kunnen gevonden worden op de volgende site. Een student kan ook zelf een stageplaats zoeken.

    De student moet zich bij de stagecoördinator (Yolande Berbers) aanmelden vóór 1 juni van het jaar waarin de stage plaatsvindt gebeuren. Meer informatie staat op deze site.

    De inhoud van de stage wordt beschreven in een stageplan. Dit stageplan is 2 à 3 blz. lang en moet heel concreet zijn. De student stelt het zelf op, in samenspraak met het bedrijf. Uiterlijk op 1 juli uploadt de student het stageplan. Het stageplan bevat de volgende elementen:

    • probleemstelling
    • concrete doelstelling (wat ga je bereiken)
    • werkplan, verdeeld in meerdere taken, waarbij de taken al enigszins omschreven zijn (nl. hoe ga je de doelstellingen bereiken), liefst ook met een schatting van de grootte van de taken en een tijdsindeling (dat is natuurlijk maar een schatting).
    • korte beschrijving van de plaats waar de stage zal doorgaan (fysische locatie, grootte van de groep waarbinnen men werkt, naam en contactgegevens van dagelijkse begeleider o.a. emailadres en telefoonnummer).

    Ten laatste op 1 juli uploadt de student een document met de competenties die de student hoopt te verbeteren tijdens de stage, Meer informatie hierover staat op bovenvermelde website.

    Studiemateriaal

    /

    Evaluatieactiviteiten

    Evaluatie: Industriële stage: Computerwetenschappen / Industrial Internship: Computer Science (B-KUL-H24I9a)

    Type : Permanente evaluatie zonder examen tijdens de examenperiode
    Evaluatievorm : Verslag, Presentatie
    Vraagvormen : Open vragen

    Toelichting

    De student moet een verslag maken en een mondelinge voorstelling geven over het verloop en de inhoud van de stage.

    De evaluatie van dit OPO gebeurt op basis van dit verslag en van de voorstelling.

    Richtlijnen voor stageverslag:
    Het stageverslag is een technisch verslag, geen reisverhaal of een vakantieopstel.
    Op de volgende website vind je richtlijnen voor het schrijven van een technisch verslag:
    https://eng.kuleuven.be/studeren/engineering-essentials/rapporteren/schriftelijk
    Voor de lengte van het stageverslag telt het aantal woorden: Dit moet minimum 8000 woorden zijn, exclusief titelblad, inhoudstafel, abstract, administratieve gegevens, referenties en appendices.

    Het verslag bevat de volgende elementen:

    • Administratieve gegevens: naam student, studiejaar van student (inclusief optie), naam en adres van stagebedrijf, naam en contactgegevens van stagebegeleider (o.a. emailadres en telefoonnummer), stageperiode
    • Beknopte beschrijving van het bedrijf (geen cut en paste van de website), besteed ook aandacht aan de locale situatie. Beschrijf de plaats van dit bedrijf in het economisch landschap. Ga ook na wie de concurrenten zijn. (max 2 blz.)
    • Omschrijving van het werk tijdens de stage. Dit vormt de hoofdmoot van het verslag. Zorg voor een degelijke structuur. Geef een gedetailleerde beschrijving van de deeltaken die uitgevoerd werden. Dit deel moet verwijzen naar het stageplan, en ook dit stageplan kritisch evalueren. Besteed aandacht aan de software technologie die het bedrijf gebruikt, en de innovatie die het bedrijf al dan niet voert.
    • Alternatieve methodes / technologieën: Het bedrijf heeft voor zijn softwareontwikkeling bepaalde keuzes gemaakt (programmeertaal, platform,
      methodologie, softwarearchitectuur, enz.). Geef aan of voor jouw ontwikkeling je alternatieve methodes, technologieën, ... zou hebben kunnen 
      gebruiken. Wees kritisch!
    • Zeg iets over de begeleiding van het bedrijf, de vorm van begeleiding, de frequentie, ...
    • Relatie stage en opleiding (ca. 2 blz.): Welke inhoud van welke cursussen zijn aan bod gekomen tijdens de stage? Was die inhoud aangepast aan wat er nodig was? Wees kritisch!
    • Kritische reflectie over de competenties die je verwachtte te verbeteren (voeg die lijst toe als bijlage aan het verslag). Wees hierin niet oppervlakkig!
    • Conclusies die uit de stage getrokken werden. Zijn de doelen van de stage bereikt? Was het een meerwaarde voor de student?

    Het verslag moet ingediend worden ten laatste op 15 oktober van het jaar waarin de stage plaats vond.

    • Bijlagen: het stageplan en de lijst van competenties die je verwachtte te verbeteren.

    Toelichting bij herkansen

     

    ECTS Development of Secure Software (B-KUL-H04K5A)

    4 ECTS English 40 First termFirst term Cannot be taken as part of an examination contract
    Piessens Frank (coordinator) |  Desmet Lieven |  Piessens Frank

    Aims

    • The students can define key security concepts
    • The students can describe the most important types of software vulnerabilities
    • The students can describe the most important types of software security techniques, and can reason about what techniques are useful in what circumstances
    • The students can analyze the security of software systems, and can asses what security techniques would be applicable to the system

     

    Previous knowledge

    • Basic knowledge of system software and networks, including some knowledge of the programming language C
    • Good knowledge of and practical experience with a modern programming language such as Java

    Onderwijsleeractiviteiten

    Development of Secure Software: Lecture (B-KUL-H04K5a)

    3 ECTS : Lecture 23 First termFirst term

    Content

    • Definition of key security concepts such as threat, countermeasure, risk, and illustration of these concepts in software systems.
    • Study of threats and countermeasures for software systems in a number of important technological domains such as web application and low-level software in the programming language C.
    • Techniques for authentication and access control, Lampson's system model for access control, classic access control models, and access control for untrusted code.
    • An overview of security technologies built into infrastructural software systems.
    • An overview of the role of security throughout the software development process.Where relevant, current research activities in the field are discussed.

    *

    See general course information

    Development of Secure Software: Laboratory Session (B-KUL-H04K6a)

    1 ECTS : Assignment 17 First termFirst term

    Content

    • Definition of key security concepts such as threat, countermeasure, risk, and illustration of these concepts in software systems.
    • Study of threats and countermeasures for software systems in a number of important technological domains such as web application and low-level software in the programming language C.
    • Techniques for authentication and access control, Lampson's system model for access control, classic access control models, and access control for untrusted code.
    • An overview of security technologies built into infrastructural software systems.
    • An overview of the role of security throughout the software development process.Where relevant, current research activities in the field are discussed.

    Format: more information

    A 30 hour project zooms in in more detail on one of the topics discussed in the lectures, and gives the students some hands-on experience. The topics zoomed in on vary over the years.
    The project takes place in the same semester as the lectures. Timing depends on the topic but the 30 hours of load are spread over at least 3 to 4 weeks.

    Evaluatieactiviteiten

    Evaluation: Development of Secure Software (B-KUL-H24K5a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written

    Explanation

    The written examination consists of theory questions as well as exercises and covers all the contents of the course.
    The project has a weight of 25% in the evaluation of this course, and is evaluated both continuously during the semester, as well as on the examination.
     

    ECTS Software for Embedded Systems (B-KUL-H04L2A)

    4 ECTS English 38 First termFirst term Cannot be taken as part of an examination contract

    Aims

    After this course, the student should understand the peculiarities of embedded and real time systems. They should be able to design and implement software for embedded real-time systems. This includes an understanding of:

    • Embedded hardware,
    • embedded programming,
    • real time OS and
    • low power operation.

    Previous knowledge

    The student should possess knowledge of software engineering and thorough knowledge of operating systems, including scheduling and multithread programming.
    A previous knowledge of the C programming language is an advantage.

    Onderwijsleeractiviteiten

    Software for Embedded Systems: Lecture (B-KUL-H04L2a)

    2.7 ECTS : Practical 18 First termFirst term

    Content

    Lectures are organised according to the core concepts of the course, including:

    • Computation,
    • memory,
    • I/O,
    • embedded programming and
    • real time operating systems.

    Course material

    • All study material is available via Toledo. All devices will be provided.

    Format: more information

    The first half of the semester is divided in 3 two week missions.
    In the second part, a test on C programming is organised and two group projects are organised
    The course is based on self-study on the website.
    During weekly meetings with the professor, the students have the opportunity of asking questions about the learning material and the exercises and projects

    Software for Embedded Systems: Exercises (B-KUL-H04L3a)

    0.6 ECTS : Practical 9 First termFirst term

    Content

    The laboratory sessions will focus on the development of a low power, real time application running on Arduino development boards.

    Course material

    All study material is available via Toledo. All devices will be provided.

    Software for Embedded Systems: Laboratory Session (B-KUL-H04L4a)

    0.7 ECTS : Assignment 11 First termFirst term

    Content

    The laboratory sessions will focus on the development of a low power, real time application running on Arduino development boards.

    Course material

    All study material is provided by Toledo. All devices will be provided.

    Evaluatieactiviteiten

    Evaluation: Software for Embedded Systems (B-KUL-H24L2a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written

    Explanation

    Evaluation for this course is through (i.) a programming exercise on arduino devices (1.3 of 4 ECTS credits and (ii.) a closed book written exam (2.7 of 4 ECTS credits) in the normal exam period.

    Both elements of the assessment are compulsory.

    ECTS Project Management (B-KUL-H04X2A)

    3 ECTS English 20 Second termSecond term Cannot be taken as part of an examination contract
    Duflou Joost (coordinator) |  Duflou Joost |  Joubert Johan

    Aims

    The aim of this course is to provide the student with an overview of techniques and means that are available for the start up, execution, follow up and adjustment of large projects. By means of examples and case studies insight is created  supporting recognition of typical patterns, analysis of situations and identification of  suitable methods and/or techniques recommendable for effectively steering projects, with well-optimized chances to reach the  preset project deliverables. 
     

    Previous knowledge

    This course is not connected to a specific graduation programme. Therefore, the contents of the assignments can be altered to suit the graduation programme of the student. Still, it is recommended to plan this course in a later stage of the master programme to ensure that any lack of technical background will be not be a hindrance in working on specific cases or assignments. Access to a familiar project case (e.g. thesis project) is required in view of the evaluation format which is based on a case study. A possible course on business administration in the curriculum can best be scheduled before attending this course.

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Project Management (B-KUL-H04X2a)

    3 ECTS : Lecture 20 Second termSecond term

    Content

    Introduction

    • What is project management?
    • Situation within the general planning problem
    • Characteristics of projects
    • Project manager
    • Components, concepts and terminology
    • Life cycle of a project: strategical and tactical considerations
    • Factors responsible for the success of a projectOrganisational structures and task allocation
    • Organisational structures
    • Staff management
    • Concurrent engineering
    • Assessment and selection
    • Division of a project
    • Outsourcing or internal work?
    • Conflict evaluation:  within the organisation, environmental effects, othersProject planning
    • Introduction
    • Duration of project activities
    • Learning effects
    • Precedence relations
    • Gantt-representation
    • Arrow network for critical path mathematics
    • Block network for critical path mathematics
    • LP formulation
    • Aggregation of activities
    • Dealing with uncertainty
    • Analysis of PERT and CPM presuppositions
    • Conflicts in planningProject budget
    • Introduction
    • Project budget and company goals
    • Drawing up a budget
    • Budget management
    • FinancingManagement of resources
    • Influence of resource limitations on the project
    • Classification of resources
    • Planning of resources and project with time as a limiting factor
    • Planning of resources and project with resources as a limiting factor
    • Priority rules for the allocation of resources
    • Subcontracting/assessing suppliers
    • Executing projects in parallelProject control
    • Introduction
    • Control systems
    • Following up and controling timewise planning and costs
    • Reporting
    • Updating cost and planning parameters
    • Technological controlComputer support for project management
    • Introduction
    • Use of computers
    • Criteria for software selection
    • Software implementation
    • Data management and knowledge managementProject termination
    • Introduction
    • When to finalise a project?
    • Final steps in the termination of a projectCase studies

    Course material

    Handbook, presentations (on Toledo).

    Format: more information

    Lecture.

    Evaluatieactiviteiten

    Evaluation: Project Management (B-KUL-H24X2a)

    Type : Exam during the examination period
    Description of evaluation : Oral
    Type of questions : Open questions, Closed questions
    Learning material : None

    Explanation

    Assignment per two students with presentation and defense (oral exam) during exam session. Exam timing is coordinated per team of students.

    ECTS Cryptography and Network Security (B-KUL-H05E1A)

    3 ECTS English 28 First termFirst term
    Preneel Bart (coordinator) |  Preneel Bart |  Rijmen Vincent

    Aims

      After succesful completion of this course, the student knows

    • the different security goals and how they can be achieved by means of cryptography
    • cryptographic mechanisms: encryption, data authentications, entity authentication, digital signatures
    • the most important symmetric and asymmetric cryptographic algorithms, as well as cryptographic hash functions  (DES, 3-DES, AES, RC4, RSA, DH, DSA, SHA-1, SHA-256/384/512)
    • protocols for key agreement and PKI

    Additionally, the student understands how these basic cryptographic mechanisms are used in several modern applications:

    • Internet security mechanisms (SSL/TLS, IPSec)
    • Mobile security (GSM)
    • Electronic payment mechanisms (EMV, electronic purse, electronic cash)

    Previous knowledge

    Basic knowledge of discrete mathematics (algebra), information theory and communication systems.

    Identical courses

    H05D9A: Cryptografie en netwerkbeveiliging

    Onderwijsleeractiviteiten

    Cryptography and Network Security: Lecture (B-KUL-H05E1a)

    2.41 ECTS : Lecture 18 First termFirst term

    Content

    This course explains the basic concepts of cryptology. More in particular, you will learn how cryptographic techniques can protect information against active and passive eavesdropping and how one can authenticate entities. Cryptographic algorithms that are explained include DES, AES, RC4, RSA, Diffie-Hellman, SHA-1, CBC-MAC and HMAC. The role of key management and public-key infrastructures is discussed.
    In a second part this knowledge is applied to communications systems, such as GSM and 3GPP, the www (SSL/TLS), email (S/MIME and PGP) and IP (IPsec). The principles of electronic payment systems are explained (EMV, Proton, micropayments). The courses focuses on the development of insight in the basic techniques, and in what they can and cannot do. Applying the knowledge to existing systems is a very important component of this course.

    The lectures cover all topics of the course.

    Course material

    Study cost: 1-10 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

    VTK prints a book containing all the slides that are used during the lectures, some background articles and some supporting text. 

    Cryptography and Network Security: Exercises and Laboratory Sessions (B-KUL-H05E2a)

    0.59 ECTS : Practical 10 First termFirst term

    Content

    During the exercises and practica, we cover the topics of two important lectures in more detail:

    • public-key cryptography, and
    • generic attacks on modes of operation of block ciphers and hash functions

     

    Course material

    The students get a list of exercises (more than are solved during the sessions). 

    Format: more information

    Three exercise sessions are a preparation for the open-book exam: exercises are solved in the class.

    The remaining exercise sessions are replaced by a presentation. Teams of 2 students prepare a presentation of 20 minutes
    on a topic selected from a given list of topics related to the lecture. This presentation takes place before start of the exam period.

    Evaluatieactiviteiten

    Evaluation: Cryptography and Network Security (B-KUL-H25E1a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written, Presentation
    Type of questions : Closed questions, Open questions
    Learning material : Course material, Calculator, Reference work

    Explanation

    The exam result is a weighted score that is determined as follows. The traditional exam during the examination period is taken into account for 85% in the end result and the presentation for 15%.

    The exam during the examination period is written. It is an open book exam; additional texts may be consulted. The exam consists of exercises and a closed question, where one has to indicate whether a statement is true or false; if the statement is false, it has to be explained why.

    Part of the exercises sessions are replaced by giving a presentation on a recent scientific article related to this course. This presentation is mandatory: not giving a presentation automatically means an automatic failing grade for this course. Students must also attend two sessions of presentation by their fellow students.  

    Information about retaking exams

    The quotation of the presentation is retained for the 2nd examination period.  If the student wishes to give a (new) presentation for the 2nd examination period, an appointment must be made with the teacher before August 1.

    ECTS Capita Selecta Computer Science: Secure Software (B-KUL-H05M8B)

    6 ECTS English 26 Both termsBoth terms Cannot be taken as part of an examination contract

    Order of Enrolment



    (SIMULTANEOUS (H04K5A) AND SIMULTANEOUS (H04G4A))


    H04K5AH04K5A : Development of Secure Software
    H04G4AH04G4A : Security Governance and Operations

    Onderwijsleeractiviteiten

    Capita Selecta Computer Science: Secure Software (B-KUL-H05M8a)

    6 ECTS : Lecture 26 Both termsBoth terms

    Content

    This course deals with a variety of advanced and current themes in the field of software security themes that are often, but not necessarily research]oriented.
    The contents of this course and the matching discussed themes can (but need not) change each year, in function of:


     

    • Progress in the scientific domain
    • Research themes that are dealt with in the department
    • Research projects that are executed in the department
    • Visitors to the department, with an expertise that is not part of the current curriculum.
      The concrete teaching form will depend on the discussed themes, the discussed problems and the teacher. Often, this will occur by means of scientific literature (a number of articles).

      A teaching form that is often appropriate consists of:



    • a small number of introductory lectures or work sessions by the teacher
    • a larger number of lectures or work sessions in which one of more students present one or more articles, followed by a discussion. 
      Example themes that could be addressed in this course include:



    • Secure programming languages
    • Attacks and defenses for software application
    • Verification of security properties of software applications
    • Web application security
    • Security requirements engineering
    • Security architecture and design
    • Security testing
    • Logical methods in security
    • Aspect-oiented approached to secure development
    • Security countermeasures for unsafe programming languages
      Typically, several themes will be addressed, often by different teachers.

    Evaluatieactiviteiten

    Evaluation: Capita Selecta Computer Science: Secure Software (B-KUL-H25M8b)

    Type : Continuous assessment without exam during the examination period

    ECTS Capita Selecta Computer Science: Artificial Intelligence (B-KUL-H05N0A)

    4 ECTS English 26 Both termsBoth terms Cannot be taken as part of an examination contract
    Guns Tias (coordinator) |  Moens Marie-Francine

    Aims

    • The  student is familiar with one or more contemporary advanced topics in artificial intelligence.  
    • The student is able to independently familiarize himself with such topics by making use of scientific papers and literature.
    • The student is able to independently familiarize himself with techniques, tools and software in these topics.
    • The student is familiar with the research methodology of artificial intelligence.
    • The student is able to independently solve assignments in artificial intelligence.
    • The student is able to  report on such tasks and assignments in oral and written form.

    Previous knowledge

    • The student has a basic knowledge of artificial intelligence.
    • The student is familiar with algorithms and is able to program in different programming languages.
    • The student knows the mathematical basis that underlies artificial intelligence and computer science.
    • The student has knowledge of machine learning or functional and logic programming.

    Order of Enrolment



    SIMULTANEOUS( H0E96A ) OR SIMULTANEOUS( H0E98A )


    H0E96AH0E96A : Beginselen van machine learning
    H0E98AH0E98A : Principles of Machine Learning

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Capita Selecta Computer Science: Artificial Intelligence (B-KUL-H05N0a)

    4 ECTS : Lecture 26 Both termsBoth terms

    Content

    This course deals with a variety of advanced and contemporary themes in the field of artificial intelligence - themes that are often, but not necessarily research-oriented.
    The contents of this course and the themes considered can change each year, in function of
    - Progress in the scientific domain
    - Research themes that are dealt with in the department
    - Research projects that are executed in the department
    - Visitors to the department, with an expertise that is not part of the current curriculum.
    The concrete teaching form will depend on the chosen themes, the chosen problems and the teachers. Often, the teaching form is based on scientific articles.
    A teaching form that is often used consists of
    - a small number of introductory lectures or work sessions by the teacher
    - a larger number of lectures or work sessions in which one of more students present one or more articles, followed by a discussion.
    - working on one or more assignments en presenting as well as reporting on the obtained results.

    Evaluatieactiviteiten

    Evaluation: Capita Selecta Computer Science: Artificial Intelligence (B-KUL-H25N0a)

    Type : Continuous assessment without exam during the examination period
    Description of evaluation : Paper/Project, Report, Presentation

    Explanation

    One or more assignments are given and the students have to report in reports and/or in presentations.  

    Information about retaking exams

    A retake in the second exam period is possible, after making arrangements with the teachers involved.

    ECTS Dutch Language and Cultures (B-KUL-H06B4A)

    3 ECTS English 40 First termFirst term Cannot be taken as part of an examination contract
    De Wachter Lieve (coordinator) |  N. |  De Wachter Lieve (substitute) |  Boelaert Liese (cooperator) |  Van Aken Stef (cooperator)

    Aims

    The main aim of this course is to help students acquire basic communicative skills in Dutch (level A1 of the Common European Framework). The course deals with the basic grammar notions and language functions and aims at the mastering of approximately 800 highly frequent words of Dutch. A lot of attention goes to culture with various lectures about Belgium. The course provides extensive practice in listening, reading, speaking and writing. 

    Onderwijsleeractiviteiten

    Dutch Language and Cultures (B-KUL-H06B4a)

    3 ECTS : Lecture 40 First termFirst term
    N. |  De Wachter Lieve (substitute) |  Boelaert Liese (cooperator) |  Van Aken Stef (cooperator)

    Course material

    R. Devos en H. Fraeters, Vanzelfsprekend, Leuven (Acco), 2008. The multimedia course materials 'Vanzelfsprekend' offer video, audio CDs, texts and exercises, very frequently used language functions and approximately 800 highly frequent Dutch words. The material also includes a lot of cultural information on Belgium and Flanders.

    Evaluatieactiviteiten

    Evaluation: Dutch Language and Cultures (B-KUL-H26B4a)

    Type : Exam outside of the normal examination period

    Explanation

    There will be a test (writing, speaking, listening and reading) at the end of the course as well as a number of assignments during the course.

    ECTS Fundamentals for Computer Science (B-KUL-H07Z7A)

    5 ECTS English 30 Second termSecond term Cannot be taken as part of an examination contract

    Aims

    The aim of the course is to introduce students to the study of formal languages and their recognizers. Formal languages consists of collections of finite sequences (known as strings or words) of symbols from a finite set. Recognizers consist of finite state automata, push-down automata, and Turing machines. As all algorithmic problems can be seen as language recognition problems, issues of complexity and computability will be studied in this context. In addition, students will be introduced to the language, methods, and terminology of graph theory, and acquire an understanding the different classes of graphs and of modelling using graphs. Students will appreciate the applicability of graph theory in other areas of computer science, such as networking and optimisation.

    Objectives
    At the end of the course the student should be able to
    • Determine the language recognised by a given finite state machine;
    convert between finite state machines and regular expressions; Minimise a finite state machine. Determinise a non-deterministic finite state machine.
    • Prove that certain problems are NP-complete or uncomputable.
    • Describe major complexity classes and understand their practical consequences.
    • Model problems using graphs and apply graph algorithms appropriately.
    • Prove properties about automata, Turing machines, graphs, and their algorithms.

    The aim is to reinforce the techniques covered in the lectures.

    Previous knowledge

    Discrete mathematics. Algorithms.

    Identical courses

    H04H0B: Fundamenten voor de computerwetenschappen

    Onderwijsleeractiviteiten

    Fundamentals for Computer Science: Lecture (B-KUL-H07Z7a)

    4 ECTS : Lecture 15 Second termSecond term

    Content

    Automata and Formal Languages
    • finite state machines (FSM), Non-deterministic FSMs (NDFSM)
    • minimisation of FSM
    • determinisation of NDFSM
    • regular expressions, regular sets, relationship between regular expressions and FSM, Kleene algebra
    • Closure properties; Brzozowski’s derivative
    • Chomsky’s hierarchy of formal language
    • context free grammars & push-down automata
    • Application overview: compiler construction, software modelling and verification, security, ...
    Computability Theory
    • solubility and insolubility (Halting problem, Post’s correspondence problem)
    • non-deterministic Turing machines, other Turing machine variants, and their equivalence
    • Universal Turing Machine, Beyond Turing-computability.
    Complexity Theory
    • analysis of algorithms and complexity theory
    • the classes P and NP, the class NP-complete, example problems.

    topics from: space complexity classes, non-uniform computation,
    alternating logical formulas, interactive proofs, approximation,
    probabilistic classes, relativisation, information complexity
    Graph Theory
    • Motivating problems; basic definitions; connectedness; digraphs; graph isomorphism and matrix representations,
    • Search in graphs (review); one-way street problem; spanning trees and minimum spanning trees; the shortest route problem
    • Eulerian paths and applications, Euler’s theorem; Hamiltonian Paths and applications;
    The Königsberg bridge problem; Optimal graph traversals: Chinese Postman Problem, Travelling Salesman Problem
    • Additional applications: Network flows, optimisation, graph colouring, social network analysis, ....
    *
    Topics Covered
    Total time: 15 lectures/30 hours.
    Automata and Formal Languages 4 lectures/8 hours
    nite state machines (FSM), Non-deterministic FSMs (NDFSM)
    minimisation of FSM
    determinisation of NDFSM
    regular expressions, regular sets, relationship between regular expressions and FSM, Kleene algebra
    Closure properties; Brzozowski's derivative
    Chomsky's hierarchy of formal language
    context free grammars & push-down automata
    Application overview: compiler construction, software modelling and veri_cation, security, ...
    Computability Theory 4 lectures/8 hours
    Turing Machines
    solubility and insolubility (Halting problem, Post's correspondence problem)
    non-deterministic Turing machines, other Turing machine variants, and their equivalence
    Universal Turing Machine, Beyond Turing-computability.
    Complexity Theory 3 lectures/6 hours
    analysis of algorithms and complexity theory
    the classes P and NP, the class NP-complete, example problems.
    topics from: space complexity classes, non-uniform computation, alternating logical formulas, interactive proofs, approximation, probabilistic classes, relativisation, information complexity
    Graph Theory 4 lectures/8 hours.
    Motivating problems; basic de_nitions; connectedness; digraphs; graph isomorphism and matrix representations
    Search in graphs (review); one-way street problem; spanning trees and minimum spanning trees; the shortest route problem
    Eulerian paths and applications, Euler's theorem; Hamiltonian Paths and applications; The Konigsberg bridge problem; Optimal graph traversals: Chinese Postman Problem, Travelling Salesman Problem
    Additional applications: Network ows, optimisation, graph colouring, social network analysis, ....

    Course material

    Study cost: 1-10 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

    Lecture notes and slides will be provided at the start of the course.

    Format: more information

    The classes are organised as answer-question sessions: the students are told beforehand which part of the subject material their questions will be answered about, and they need to prepare that. No systematic teaching of the course notes will take place during the classes, and additional material relevant for the exam may be offered.

    Fundamentals for Computer Science: Exercises (B-KUL-H07Z8a)

    1 ECTS : Practical 15 Second termSecond term

    Content

    Automata and Formal Languages
    • finite state machines (FSM), Non-deterministic FSMs (NDFSM)
    • minimisation of FSM
    • determinisation of NDFSM
    • regular expressions, regular sets, relationship between regular expressions and FSM, Kleene algebra
    • Closure properties; Brzozowski’s derivative
    • Chomsky’s hierarchy of formal language
    • context free grammars & push-down automata
    • Application overview: compiler construction, software modelling and verification, security, ...
    Computability Theory
    • solubility and insolubility (Halting problem, Post’s correspondence problem)
    • non-deterministic Turing machines, other Turing machine variants, and their equivalence
    • Universal Turing Machine, Beyond Turing-computability.
    Complexity Theory
    • analysis of algorithms and complexity theory
    • the classes P and NP, the class NP-complete, example problems.

    topics from: space complexity classes, non-uniform computation,
    alternating logical formulas, interactive proofs, approximation,
    probabilistic classes, relativisation, information complexity
    Graph Theory
    • Motivating problems; basic definitions; connectedness; digraphs; graph isomorphism and matrix representations,
    • Search in graphs (review); one-way street problem; spanning trees and minimum spanning trees; the shortest route problem
    • Eulerian paths and applications, Euler’s theorem; Hamiltonian Paths and applications;
    The Königsberg bridge problem; Optimal graph traversals: Chinese Postman Problem, Travelling Salesman Problem
    • Additional applications: Network flows, optimisation, graph colouring, social network analysis, ....
    *
    Exercises accompanying the lecture Fundamentals for Computer Sciences. Topics covered include calculating operations such as minimisation and deterministation of finite state machines; constructing  finite state machines, regular expressions, Turing machines to recognise given languages; performing proofs of complexity and uncomputability of given languages; and proving properties about graphs.

    Course material

    Exercises will be handed out in the exercise session. Students are advised to bring their course notes along (or access them online during the sessions).

    Format: more information

    Small group discussion and solving of challenging problems related to the course material.

    Evaluatieactiviteiten

    Evaluation: Fundamentals for Computer Science (B-KUL-H27Z7a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written
    Type of questions : Open questions, Closed questions
    Learning material : None

    Explanation

    The exam during the exam period mainly tests knowledge and insight in the theory, possibly in the form of problems to be solved using the theory. The exam is written and no course material is allowed. The exam has a weight of 10/20 in the overall score.

    The permanent evaluation consists of two parts:

    • During the lectures students indvidually formulate a written answer to one short question about a previously announced part of the course notes. Those course notes can be used to answer the question. The weight of each question is 0.5/20. These questions contribute a maximum of 4/20 to the total score.
       
    • In two graded exercises the student can earn 3/20 each by solving various problems. This happens in written form, individually and under supervision. The student can use the lecture notes and other written material.

    The permanent evaluation cannot be repeated during the second exam period; instead, the earlier grades will be transferred.

    Information about retaking exams

    The permanent evaluation cannot be repeated during the second exam period; instead, the earlier grades will be transferred.

    ECTS Software Architecture (B-KUL-H07Z9B)

    4 ECTS English 44 Second termSecond term Cannot be taken as part of an examination contract
    Joosen Wouter |  Sion Laurens (substitute)

    Aims

    The architecture of a software-intensive system is central to its development and the entire life-cycle of a software application or system. This course starts from the reality that such systems are developed from an evolving context: starting from existing and related systems, with attention to reuse within different applications, and based on components that are supplied by independent, third-party providers and vendors.

    Students will acquire understanding, experience with and skills that are important to develop, realize, evaluate and extend the architecture of a software-intensive system. The course starts with functional and especially non-functional requirements that have a strong impact on the software architecture, and includes techniques and notations to document such requirements.

    Previous knowledge

    This course assumes good knowledge of the principles and practice of object-oriented programming (OOP) and object-oriented design (OOD), and basic knowledge on distributed systems. The course aligns closely to courses in which the design of software is a central focus, such as “Ontwerp van softwaresystemen”, “Software-ontwerp” en “Objectgericht programmeren”. The student is expected to be familiar with the Unified Modeling Language (UML), design and GRASP patterns, key concepts such as coupling and cohesion, and software abstraction mechanism such as (component) interfaces.

    Identical courses

    H09B5B: Softwarearchitectuur

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Software Architecture: Lecture (B-KUL-H07Z9a)

    1.5 ECTS : Lecture 24 Second termSecond term
    Joosen Wouter |  Sion Laurens (substitute)

    Content

    1. Analysis and modeling of architecturally-significant requirements (ASRs) (4h)

    This part of the course is focused on the analysis, identification, the elaboration and description of non –functional requirements that have significant impact on the software architecture, the so-called “architecturally significant requirements (ASRs)”. These requirements are documented in the form of “quality attribute scenarios”.

     

    2. Software architecture (12h)

    Interpreting, analyzing and extending the architecture of a software-intensive system involves a number of concrete methods and techniques, and requires knowledge of, for example, Attribute-driven Design (ADD), the interaction between architectural design and requirements analysis, trade-off analysis, the application of specific architectural patterns, tactics and strategies that are aimed at solving specific  categories of non-functional requirements (such as performance, availability, modifiability, security), etc.

    2a. Core concepts: software architecture, architectural styles and patterns, reference architectures, etc.

    2b. Software development processes that are centered around the notion of a software architecture.

    2c. Architectural patterns and tactics.

    2d. Methodology to address non-functional requirements, applied to architectural extension.

    2e. Case study of a complex application

     

    3. Evaluating software architecture (4h)

    The third part of the course involves architectural evaluation. This involves the study of metrics, widely accepted quality-related principles, methods and techniques (such as the ATAM, “Architecture Trade-off Analysis Method”) to perform an in-depth evaluation.

    Course material

    • Course slides of all lectures
    • A number of chapters from the book "Software Architecture in Practice"
    • A well-documented case study

    Software Architecture: Project (B-KUL-H0S00a)

    2.5 ECTS : Assignment 20 Second termSecond term
    Joosen Wouter |  Sion Laurens (substitute)

    Content

    The learning process of this course is based upon the execution of a non-trivial course project. Lab session (in the software engineering labs) support the execution of the course project. Support and feedback is continuously provided to the students.

    The execution of the course project is done in two steps:

    The first phase is of an introductory nature and only counts for a small part of the final score/results of the student. The second phase represents the largest part of the evaluation for this course.

    Both parts are executed in teams of three students. The result is presented and defended orally, a few weeks after the project deadline.

    Evaluatieactiviteiten

    Evaluation: Software Architecture (B-KUL-H27Z9b)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Oral, Paper/Project, Project/Product, Report, Presentation, Self assessment/Peer assessment, Take-Home

    Explanation

    The evaluation of this course is linked entirely to the course project. The project work is done in multiple steps and in teams of three students. The second part is presented orally and as a team; both parts are defended in the weeks after the project deadline.

    Information about retaking exams

    Students that score less than a 10 in the June examination period are asked to extend and improve the project delivered in June. This may be done in the context of the existing team, or individually. This extension and improvement will be scored for the September examination period, again after an oral presentation and defense (as a team, or individually).

    ECTS Principles of Machine Learning (B-KUL-H0E98A)

    6 ECTS English 55 First termFirst term Cannot be taken as part of an examination contract
    Davis Jesse (coordinator) |  Davis Jesse |  De Raedt Luc

    Aims

    After taking this course, the students

    • understand the basic principles underlying machine learning
    • know a wide range of concrete machine learning approaches and techniques
    • can apply these approaches and techniques in concrete situations
    • can build software that includes machine learning techniques

    Previous knowledge

     

    This course is reserved for students in the ‘master of computer science'. Students from other study programmes are NOT allowed to take this course. 

    Students must have an advanced knowledge of the field of Computer Science prior to taking this course. Moreover, the course assumes advanced background knowledge on the topics below, at the level on which it is introduced by the courses listed. Students who have finished the Bachelor in de informatica (Leuven) or Bachelor in de ingenieurswetenschappen (Leuven) with a major in Computer Science have had all these courses. Students Bachelor in de ingenieurswetenschappen (Leuven) with a different major should familiarize themselves with “Artificiële intelligentie” before taking this course.

    Identical courses

    H0E96A: Beginselen van machine learning

    Onderwijsleeractiviteiten

    Principles of Machine Learning: Lecture (B-KUL-H0E98a)

    4 ECTS : Lecture 30 First termFirst term

    Content

    The course consists of four parts.

     

    Part 1: Introduction: basic terminology and concepts; nearest neighbor approaches, evaluation

     

    Part 2: Learning based on discrete search spaces

    • decision trees: basic algorithm, heuristics, pruning strategies, missing value handling, multi-target trees
    • rule learning and inductive logic programming: search in a refinement lattice, subsumption, least general generalization
    • ensemble methods: boosting, bagging, random forests, bias-variance tradeoff in ensembles
    • automata, learning theory: algorithms for learning automata, sample complexity, VC-dimension, Rademacher complexity

     

    Part 3: Learning based on numerical optimization and search in continuous spaces

    • Concepts of statistical learning: learning as optimization, loss functions, regularization
    • Artificial neural networks: basic principles, specific network structures, convolutional neural nets, recurrent neural nets, auto-encoders, generative adversarial networks
    • support vector machines: basic principles, SMO algorithm, kernels, sequence / tree / graph kernels
    • dimensionality reduction
    • methods based on matrix factorization

     

    Part 4: Probabilistic models

    • overview of PGMs
    • inference and learning in these models
    • statistical relational learning: Problog, Markov logic, ...
    • Reinforcement learning: state-action spaces, problem setting, Q-learning, deep reinforcement learning

    Course material

    Slides, reader with book chapters and research articles. 

    Sources that may be used for the reader include:

    • Elements of statistical learning (Hastie, Tibshirani, Friedman)
    • Machine Learning and Pattern Recognition (Bishop)
    • Machine Learning (Flach)
    • Deep Learning (Goodfellow, Bengio, Courville)
    • Machine learning: a probabilistic perspective (Murphy)
    • Introduction to Statistical Learning (James, Witten, Hastie, Tibshirani)

    Principles of Machine Learning: Exercises (B-KUL-H0E99a)

    2 ECTS : Practical 25 First termFirst term

    Content

    • Pen-and-paper exercises, mostly oriented at gaining a more thorough understanding of algorithmic and mathematical elements of machine learning.
    • Some practical exercises with machine learning tools and libraries (Weka, Scikit-learn, TensorFlow, ...).

    Course material

    A selection of recommended exercises, partially from the reader, will be made available to students via Toledo.  Example solutions will be provided for some exercises.

    Format: more information

    "flipped classroom" exercises sessions

    Evaluatieactiviteiten

    Evaluation: Principles of Machine Learning (B-KUL-H2E98a)

    Type : Exam during the examination period
    Description of evaluation : Written
    Type of questions : Multiple choice, Open questions, Closed questions
    Learning material : List of formulas, Calculator

    ECTS Design of Software Systems (B-KUL-H0N00A)

    6 ECTS English 110 First termFirst term Cannot be taken as part of an examination contract

    Aims

    At the end of this course, the student will be able to take and motivate well-founded design decisions for software systems. This entails being able to propose multiple relevant software designs for a given problem, to compare the positive and negative aspects of software designs with respect to analysis and requirements, design, implementation and organizational impact, and to take and motivate a well-founded design decision. The theoretical aspects of the course are applied in a group project where a non-trivial, existing (but new to the students) application is extended with new functionality. The objectives of this group project are:

    • analyzing the quality of an existing design.
    • deciding what parts of an existing system need to be changed to allow for new functionality
    • designing software for new functionality without breaking the existing software system.
    • writing reports that clearly convey the proposed changes and design decisions.

    Previous knowledge

    Solid knowledge of object-oriented concepts and practical experience with at least one object-oriented programming language. Practical skills needed to develop software, such as the usage of an Integrated Development Environment like Eclipse or Netbeans and version control software (such as subversion).

    Identical courses

    H04J9B: Ontwerp van softwaresystemen
    G0Q40C: Software-ontwerp
    X0D45A: Software-ontwerp

    Onderwijsleeractiviteiten

    Design of Software Systems: Lecture (B-KUL-H0N00a)

    1.7 ECTS : Lecture 20 First termFirst term

    Content

    The following topics are addressed in the colleges:
    • Overview of software development processes (waterfall model, spiral model, iterative development, agile development).
    • Object-oriented analysis and design using the UML modeling language.
    • Study, evaluation and usage of GRASP patterns.
    • Study, evaluation and usage of design patterns.
    • Implementation techniques for realizing high quality object-oriented implementations (unit testing, refactoring, profiling).
    • Techniques for assessing the quality of the design and implementation of existing software systems.

    Course material

    • Slides
    • Book: Craig Larman, Applying UML and Patterns: An Introduction to Object -Oriented Analysis and Design, Prentice-Hall, 1997.
    • Book: . Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Elements of Object-Oriented Software, Addison-Wesley, 1995.

    Design of Software Systems: Exercises (B-KUL-H0N01a)

    0.3 ECTS : Practical 10 First termFirst term

    Content

    In the practical sessions UML and software design using UML are illustrated and applied to sample cases under guidance by the didactic team.

    Format: more information

    In the practical sessions UML and software design using UML are illustrated and applied to sample cases under guidance by the didactic team.

    Design of Software Systems: Laboratory Session (B-KUL-H0N02a)

    4 ECTS : Practical 80 First termFirst term

    Content

    In the practical sessions teams of students carry out a group project with a workload of 120 hours. They need to realise an extension of a non-trivial, existing -but to the students previously unknown- software system. This allows the students to gain experience with:
    • analysing the quality of an existing design.
    • deciding what parts of an existing system need to be changed to allow for new functionality
    • designing software for new functionality without breaking the existing software system.
    • writing reports that clearly convey the proposed changes and design decisions.

    Format: more information

    The project is a team effort where extensions are realised of a non-trivial open-source project. From a provided list of possible extensions teams pick an extension, realise the extension (design and implementation) and hand it in, at which point the extension is graded and feedback received. This continues throughout the semester until a threshold is reached (communicated at the start of the semester).

    Evaluatieactiviteiten

    Evaluation: Design of Software Systems (B-KUL-H2N00a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written, Project/Product, Report
    Type of questions : Open questions, Closed questions
    Learning material : Course material

    Explanation

    The final result is calculated as a weighted average of the evaluation score for the project (P) and the individual evaluation (resulting in I) according to the following formula:

    • If P is smaller or equal than 5 (/20) then the end result is P (I is not taken into account);
    • else, if I is smaller or equal than 8 (/20) then the end result is I;
    • else the end result is the mean of P and I.

    The P score is obtained throughout the semester as extensions are handed in and graded.

    In rare circumstances where we find large work discrepancies within a group specific grades for individual group members can be given. This will only be done in exceptional circumstances since the project work is essentially a group project.

    The global result can deviate from the mean of its consituents if the evaluation shows that the student failed to meet one or more of the course goals.

    Information about retaking exams

    There is no possibily to redo the project (the score from the first exam is final).

    The final score is calculated according to the same formula as for the first exam but taking into account the new evaluations.

    ECTS Declarative Languages (B-KUL-H0N03A)

    4 ECTS English 46 First termFirst term Cannot be taken as part of an examination contract

    Aims

    The students get a thorough understanding of declarative programming languages.
    We focus on the knowledge and the use in practice of two representative declarative languages, namely a logic programming language and a functional programming language.
    The most important aims of this course are:
    • The student knows the underlying principles of the logic and functional programming languages.
    • The student knows the programming techniques typically used in these programming paradigms.
    • The student knows the basics of the execution mechanisms of the logic and functional programming languages.
    • The student can write programs in a logic and a functional programming language, consult the reference manuals and debug his programs.
    • The student can apply the appropriate programming techniques when developing a larger application.
    • The student can compare the languages teached in this course with other languages of the declarative paradigm.
    • With his acquired knowledge and skills the student can study new advances in the field of declarative languages.

    Previous knowledge

    The student knows a programming languages and can progam.
    The student can write recursive programs.

    Identical courses

    H04H5B: Studie van declaratieve talen

    Onderwijsleeractiviteiten

    Declarative Languages: Lecture (B-KUL-H0N03a)

    2 ECTS : Lecture 30 First termFirst term

    Content

    The follwing topics are studied:

    • a logic programming language, e.g., Prolog
    • basic concepts: predicates, unification, backtracking, selection strategy, specification of problems using Horn clauses, declarative and procedural meaning of a logic program, multidirectionality
    • Prolog: pure Prolog, negation, (recursive) data structures, built-in predicates, meta predicates
    • programming techniques: data (facts, terms), accumulators, memoization, failure driven loops, state space search problems, meta interpreters, non-ground data structures with variables
    • a functional programming language, e.g., Haskell
    • basic concepts: functions, reduction strategies, call-by-need, lazy/strict
    • Haskell: algebraic datatypes, higher-order functions, monomorphic and polymorphic types, type classes, currying
    • programming techniques: structural recursion, infinite processes, list comprehension, pure functions and monadic input/output
    • type inference
    • insight in the history of, research on and the landscape surrounding declarative languages
    • execution mechanisms for declarative languages and developments

    Course material

    Study cost: 76-100 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

    Book: Soar with Haskell, T. Schrijvers, Packt Publishing, 978-1805128458.
    Own course material.

    Format: more information

    Flipped classroom.

    Declarative Languages: Exercises (B-KUL-H0N04a)

    2 ECTS : Practical 16 First termFirst term

    Content

    There are 10 exercise sessions.  Students apply the acquired material by writing programs on PCs under supervision of a teaching assistant.

    Evaluatieactiviteiten

    Evaluation: Declarative Languages (B-KUL-H2N03a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written
    Type of questions : Closed questions, Open questions
    Learning material : Course material

    Explanation

    The exam is open book and is made on computer. The exam has a weight of 16/20 in the overall score.

    The permanent evaluation contributes a maximum of 4/20 to to the overall score. During the lectures students indvidually formulate a written answer to one short question about a previously announced part of the course notes. Those course notes can be used to answer the question. The weight of each question is 0.5/20.

    The permanent evaluation cannot be repeated during the second exam period; instead, the earlier grades will be transferred.

    Information about retaking exams

    The permanent evaluation cannot be repeated during the second exam period; instead, the earlier grades will be transferred.

    ECTS Modelling of Complex Systems (B-KUL-H0N05A)

    6 ECTS English 190 Second termSecond term Cannot be taken as part of an examination contract

    Aims


    The students are familiarized with a number of basic logics and formal systems to model complex systems. They understand for which type of propositions these languages are suitable and are capable of expressing relevant properties in these languages and to use these to solve certain types of tasks and problems, including verification tasks by means of suitable forms of inference. They should be able to motivate the choice for the formal system or the form of inference. Global advantages and disadvantages of the techniques are known and have to be used in this choice. The connections and differences between the different languages are understood.

    Students are capable of recognizing the relevant concepts in a problem domain and to design a logical vocabulary for them. They can distinguish not only explicit but also implicit information in a problem setting and can express both types of information in the logics of this course, or they can evaluate whether these logics are suitable for expressing these. They can analyze tasks and problems and classify  them as formal logic inference tasks. They are capable of specifying these inference tasks in a concrete way and let them solve by a suitable inference tool.

    The students are familiar with a number of static information concepts  such as
    enumeration, sufficient and necessary conditions, inductive definitions, unique name propositions, domain closure propositions. They are familiar with  information concepts  in the context of dynamic systems such as inertia,  pre- and postconditions, state formulas and invariants, causal rules, and with process properties including fairness, deadlock, aliveness, reachability. They have an understanding of modelling at different levels of abstraction and of the refinement principle to connect these different levels of abstraction.

    The students are also familiar with fundamental logical concepts  such as model semantics, logical entailment, satisfiability, logical equivalence, contradiction. They know fundamental results and what they mean, such as the  incompleteness theorem of Goedel, expressiveness limitations and the undecidability of  classical logic and extensions. For certain of these properties they can formulate the proof.


    The students are able to understand proof principles for proving or disproving invariants, refinement statements, and process properties. 

    The students understand a number of fundamental inference algorithms and can describe and apply these, and explain their complexity.

    The different topics  and used systems are  close to current research. In the course, many links are laid between different research fields in formal methods and artificial intelligence and we frequently hit unsolved research questions.

    Previous knowledge

    Preliminary knowledge of logics or formal systems is not required since the study material is introduced from the ground up.  It is important to have a base level of mathematical maturity. This is the level required for the mathematically oriented courses in the bachelor of Informatics and Engineering at the KU Leuven. In the bachelor of Informatics, these courses are: Logica voor Informatici, Beginselen van Programmeren, Fundamenten voor de Informatica, Object-gericht programmeren, Artificiele Intelligentie, Automaten en Berekenbaarheid.

    Identical courses

    G0B23A: Modellering van complexe systemen

    Onderwijsleeractiviteiten

    Modelling of Complex Systems (B-KUL-H0N05a)

    3.5 ECTS : Lecture 82 Second termSecond term

    Content


    The content of this course is originally based on the book Logic in Computer Science by Michael Huth and Mark Ryan, and was  extended with additional materials, e.g.,  about modelling and problem solving using predicate logic, techniques from knowledge representation and articificial intelligence, and specification and verification in Event-B, CTL and LTL with abstraction and refinement. The book contains many exercises.  The auteurs have a website with for each chapter a number of multiple choice questions with feedback for each choosen answer.  The book deals with certain topics in deeper way than is intended. In particular, the chapters on modal logic and OBDD's can be skipped without a problem.  Other aspects are dealt with in more depth in the course than in the book. Also the connections between the different topics and chapters are investigated more thoroughly in the course than in the book.

    The course  consists of the following chapters:
    0. Introduction
    - What is modelling?
    - About the role of knowledge representation and formal methods in computer science
    - Motivation for this course

    1. Propositional logic  
    - Syntax, semantics
    - Normalisation to CNF
    - SAT algorithms


    2. Predicate logic
    - Syntax, semantics
    - Undecidability of deduction
    - Expressiveness
    - Extensions of  predicate logic
    - Problem solving through  logic inference systems
        + database model checking and query answering inference as model checking
        + model generation, model revision
        + theorem proving/deduction
    - Algorithms for grounding

    3. Modelling of dynamic  systems
    - The frame problem
    - Temporal formalisms: Linear Time Calculus (LTC),   Event-B
    - Inference methods for  Verification and problem solving  for dynamic systems
    - Modelling on different levels of abstraction and the refinement principle.
    - Verification in the context of  refinement
     
    4. Verification by  model checking
     - Motivation for verification
     - Temporal logics
        * linear time temporal logics (LTL): syntax, semantics, specification patterns, important equivalences, connectives, links with LTC (Linear Time Calculus)
        * Branching-time  temporal logic (CTL): syntax, semantics, specification patterns, important equivalences, connectives
        * Comparison  LTL and CTL
    - Model checking
        * model checking in CTL
        * SAT-solvers for  model checking
        * model checking in LTL using  automata-theoretic techniques

    Course material

    Study cost: 1-10 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

    • Course
    • Transparencies: are complete and contain all information that is supposed to be known on the exam
    • The book "Logic in Computer Science" by Michael Huth and Mark Ryan: is used as support of course. There is an overlap of approximately 40%. The book is closely followed in the chapters on modelchecking with LTL and CTL
    • Didactic tools:
      • IDP for inference problems in predicate logic extensions
      • ProB for Event-B and for verification with CTL and LTL on dynamic worlds
        http://www.stups.uni-duesseldorf.de/ProB/index.php5/LTL_Model_Checking
      • Rodin for building Event-B specifications of dynamic systems using refinement, and verification  of invariants

    The course, transparencies, project assignments, exercises, home works and a discussion forum to discuss the course is made available on Toledo.

    Modelling of Complex Systems: Exercises (B-KUL-H0N06a)

    1.5 ECTS : Assignment 26 Second termSecond term

    Content


    Exercises consists of standard exercise sessions of 2h30 in which all important aspects of the course are trained. Most of these sessions are on computer using the systems IDP, ProB, Rodin that are the didactic tools of this course.

    Format: more information

    Standard exercise sessions where students receive a number of questions and solve them with support of the assistant.

    Modelling of Complex Systems: Project (B-KUL-H0N07a)

    1 ECTS : Practical 82 Second termSecond term

    Content


    The project consists of building  specifications of a dynamic application using predicate logic, Event-B, CTL and LTL, and  refinement and performing problem solving and verifications on these specifications using  the systems IDP, ProB and Rodin.  

    Evaluatieactiviteiten

    Evaluation: Modelling of Complex Systems (B-KUL-H2N05a)

    Type : Exam during the examination period
    Description of evaluation : Written
    Type of questions : Open questions, Closed questions
    Learning material : Course material

    Explanation

    The exam consists  of a theory part and an exercise part.

    • The theory part is closed book. The student should pass for this part of the  exam.
    • The exercise part is open book. The student may bring the course and slides.

    The total score of the course is computed from the scores of the exam and the project, with a maximum of 9/20 if the student fails the theory part. A score less than 10/20 is rounded down, a score more than 10/20 is rounded to the closest integer.

    ECTS Distributed Systems (B-KUL-H0N08A)

    6 ECTS English 59 First termFirst term Cannot be taken as part of an examination contract
    Joosen Wouter (coordinator) |  Joosen Wouter |  Van Cutsem Tom

    Aims

    The course aims to familiarize students with distributed systems through a thorough study of architectures, algorithms and protocols used in distributed systems. Furthermore, students meet development and execution environments for distributed software. Based on the experience students gain from this, a more thorough insight is build in the challenges and solutions with the realization and usage of distributed software systems. The studied platforms illustrate the state of affairs and are used to map research challenges.

    Previous knowledge

    The student should possess sufficient knowledge on computer networks, should have had an introduction in operating systems and in object-oriented programming.

    Identical courses

    H04I4A: Gedistribueerde systemen

    Onderwijsleeractiviteiten

    Distributed Systems: Lecture (B-KUL-H0N08a)

    4 ECTS : Lecture 30 First termFirst term

    Content

    In a first step, attention will go to the architecture of distributed systems and to the non-functional demands that are often made. Next to this, the communication middleware will be dealt with extensively and as well as a number of classic distributed systems: file systems, name administrators.
    Next, a number of distributed algorithms will be discussed in detail: reciprocal exclusion, elections, global condition and transactions.

    Course material

    Study cost: 51-75 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

    Distributed Systems: Exercises (B-KUL-H0N09a)

    1 ECTS : Practical 12 First termFirst term

    Content

    Exercises with the lecture Distributed Systems.

    Distributed Systems: Laboratory Session (B-KUL-H0N10a)

    1 ECTS : Practical 17 First termFirst term

    Content

    In these practical sessions, students familiarize themselves with about three (so-called middleware) platforms for distributed software. The first step is usually getting to know the basic functioning and principles of such platforms. In one more steps following this, students are asked to solve a simple and representative problem using this platform. The solution can consist of a design, a limited implementation or both. Similar solutions are used as guidelines for a number of exam questions.
    There are 3 practical sessions. For most exercises, proposed solutions should be handed in temporarily at the end of the supervised session, and a definitive version at the and of the week in which the practical session is planned.

    Evaluatieactiviteiten

    Evaluation: Distributed Systems (B-KUL-H2N08a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written
    Learning material : None, Reference work

    Explanation

    The permanent evaluation is based on mandatory lab sessions. Students have to deliver the results of these lab sessions in order to succeed for this course. After the submission of the lab results, students have to explain their results and lessons learned in one session.

    At the exam, students are asked to answer multiple questions that are based on the content of the lectures and the supporting course materials. The exam questions also relate to the content of the lab sessions.

    Information about retaking exams

    The exam in August/September is organized in the same way.

     

    ECTS Master's Thesis (B-KUL-H0N17A)

    24 ECTS English 720 Both termsBoth terms Cannot be taken as part of an examination contract Cannot be taken as part of a credit contract
    Holvoet Tom (coordinator) |  N.

    Aims

    The student
    … has initiated an original research project (original in the sense that the student has generated (partly) new knowledge) .
    ... has acquired state of the art knowledge on the subject of the research project.
    ... formulates a correct and clear problem statement.
    ... is up to date with recent findings in the area of the subject of the research project and can assess their relevance for the solution of the problem
    ... designs a research plan, using the best available techniques (based on information found in scientific literature).
    … analyses and interprets the results obtained.
    … has a critical attitude in the interpretation of the results obtained.
    … takes into account the need for optimisation  (context and boundary conditions) and the existence of uncertainties that have an impact on the boundary conditions.
    … can outline the results of the project in a coherent, correct and clear way using a correct scientific language and a clear lay-out of the text, citations, tables and figures meeting all formal requirements….
    … has a fair academic attitude towards referencing sources.
    … brings the project to a close in a set of conclusions situating the results obtain in the state of the art context
    … can present the results of the project, taking into consideration important presentation skills such as the outline of the scientific context, a coherent structured presentation, correct language, respect for timing.
    … can answer in a scientific correct language to questions from both fellow students and researchers.
    … assumes a critical, reflective learning attitude, committed  to the project, independent and if appropriate a good team player.

    Previous knowledge

    The student should have taken all the courses of the core education, and take or have taken sufficent courses of the specialised technical education  such that sufficient competences have been acquired to do the research work. In consultation with the promotor is may be decided that some specific courses should be taken in order to get some specific expert knowledge.

    Order of Enrolment

    72

    Identical courses

    H04J4A: Masterproef

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Master's Thesis (B-KUL-H0N17a)

    24 ECTS : Master's thesis 720 Both termsBoth terms
    N.

    Content

    The precise content of the master thesis depends on the topic agreed upon, but in any case it will be a research or design work that takes place either in one of the research laboratories to which the professors of the master programme are connected, or in an industrial environment.

    Evaluatieactiviteiten

    Evaluation: Master's Thesis (B-KUL-H2N17a)

    Type : Continuous assessment without exam during the examination period
    Description of evaluation : Paper/Project, Report, Presentation
    Learning material : None

    Explanation

    A master thesis is evaluated by a jury of at least four persons: the promotor, the daily supervisor, and two or more assessors. The evaluation is based on three aspects:
    1. The process: the work performed during the year (independence, critical sence, inventivity, creativity, difficulty)
    2. The product: the final result and/or the text (scientific content, style, language, readability, structure)
    3. The presentation and the oral examination (style, language, strcuture, completeness, timing)
    More details can be found on the website of the master programme.

    ECTS Introduction to ICT Security (B-KUL-H0N21A)

    5 ECTS English 1 First termFirst term
    Vanhoef Mathy (coordinator) |  Preneel Bart |  Vanhoef Mathy

    Aims

    - The students can explain the basic concepts of information and computer security
    - The students have a rudimentary understanding of security issues and solutions in the areas of passwords, access control, cryptography and distributed systems

    Previous knowledge

    Basic computer literacy, and a basic understanding of computer architecture and system software.

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Introduction to ICT Security (B-KUL-H0N21a)

    5 ECTS : Lecture 1 First termFirst term

    Content

    1.Introduction
    In the introduction, the subject matter of the course - ICT Security - is defined by considering example scenarios and by giving informal  definitions of the key concepts of ICT security.

    2. The basics of security engineering technology
    Several basic security mechanisms are discussed, including:
    - security protocols: that specify how different stakeholders in the  system are to communicate or interact with each other.  We cover simple authentication, and challenge response protocols, as well as common attacks against these.

    - passwords are discussed in some depth as an example of one of the  simpler, better-known and widely used mechanisms. We discuss the  design space, attacks against password mechanisms and technical  countermeasures against these attacks.

    Then, the course discusses access control and cryptographic mechanisms,  again by first looking at simple settings:

    - access control in a centralized setting
    - cryptography for entity authentication and secure communication.

    3. Selected application areas
    In a third part of the course we turn to selected more advanced  ICT security areas, where aspects such as distribution,  application-specific security requirements, concurrency, fault tolerance and so forth come into play. Possible areas are operating system security, and network attack and defense.

    Course material

    Text book

    Evaluatieactiviteiten

    Evaluation: Introduction to ICT Security (B-KUL-H2N21a)

    Type : Exam during the examination period
    Description of evaluation : Written
    Type of questions : Open questions
    Learning material : Course material

    Explanation

    The evaluation consists of a written exam in which open questions are asked. The students can bring their course text, slides and notes. 

    ECTS Religions (B-KUL-H0N82A)

    3 ECTS English 20 Second termSecond term

    Aims

    Students aim at  

    • clarifying the functioning of religions and world views, especially the Christian religion, into culture and society;  
    • analyzing which anthropological stances and worldviews are present in society and culture (e.g. in media, health care, economy, technology, education) and critically reflecting on it;  
    • showing, explaining and illustrating the particularity of world views and religions, especially the Christian worldview;  
    • applying theoretical views from theology and religious sciences into actual societal debates;  
    • learning to know religious and ethical themes with regard to their own professional field and critically dealing with them;  
    • formulating a personal view about religions and world views in dialogue with the Christian faith in an argumentative manner:  
    • being capable to formulate the value of religion and world views for their own life;  
    • integrating religious and ethical dimensions in the development of their own professional identity

    KU Leuven Vision on Education and Learning

    Previous knowledge

    This course does not require specific prior knowledge. General knowledge of the main lines of philosophy, ethics and western culture and history do belong to the presupposed background of the course. Concerning motivation, the students are not expected to be religious, but they are expected to be willing to reflect in an open and critical-scientific manner on fundamental ethical questions, and questions on the meaning of life, from different philosophical points of view, in particular, but not exclusively, the Jewish and Christian point of view.  

    Identical courses

    A08C4A: Religie, zingeving en levensbeschouwing
    A04D5A: Religie, zingeving en levensbeschouwing

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Religions (B-KUL-H0N82a)

    3 ECTS : Lecture 20 Second termSecond term

    Content

    Content Key themes in religion and theology are presented, based on insights of modern social sciences and contemporary philosophical thinking. The following questions are studied: what kind of purposes do religions serve, what is the core of the Christian faith and how can this be situated in the framework of other world religions? Both the relationship between Christianity and culture and Faith and Science is given much attention, as well as some classical themes which have always been the pivoting points of the Christian faith: the contribution of faith to personal happiness, the (Christian) expectations of a future life. Finally, the relevance of religious viewpoints on themes in engineering ethics will be presented.

    Course material

    Study cost: 11-25 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

    The professor makes course notes available.

    Format: more information

    Interactive college. Apart from the lectures, a guest lecture could be organized.

    Evaluatieactiviteiten

    Evaluation: Religions (B-KUL-H2N82a)

    Type : Exam during the examination period
    Description of evaluation : Written
    Type of questions : Multiple choice
    Learning material : None

    Information about retaking exams

    Contrary to the first examination (multiple choice), re-examination consists of 3 open questions. 

    ECTS AI Ethics & Regulation (B-KUL-H0P05A)

    4 ECTS English 26 Second termSecond term Cannot be taken as part of an examination contract
    N. |  Kuczerawy Aleksandra (substitute)

    Aims

    Students have good insight in the ethical and legal frameworks that should steer the development and use of artificial intelligence (AI), or more broadly, autonomous and intelligent systems (A/IS). They understand the nature of law and ethics and the similarities and differences between the two; they also understand the interactions between law and ethics, law and technology, and ethics and technology. They have insight into fundamental human values that underpin ethics and law, and are able to critically reflect, in light of those fundamental values and principles, on AI-driven innovations in a number of sectors (like insurance, automated vehicles, media, health care, etc.). They are able to implement normative principles in risk anticipation processes and mitigation strategies, also in cases where relevant applicable law is not available or not yet developed.

    Previous knowledge

    No specific previous knowledge required

    Is included in these courses of study

    Onderwijsleeractiviteiten

    AI Ethics & Regulation: Lecture (B-KUL-H0P05a)

    4 ECTS : Lecture 26 Second termSecond term
    N. |  Kuczerawy Aleksandra (substitute)

    Content

    The lectures are structured in following modules spread over 13 lectures:

    Introduction (3 lectures)

    • What are the various normative mechanisms in society? Cf. Lessig
    • What is the nature of ethics and law?
      - Brief introduction to ethics and law
    • What are the similarities and the differences between ethics and law?
    • Where does ethics enter law?
    • In what ways can ethics provide answers where relevant applicable law is not (yet) available
    • How do law and ethics, law and technology, ethics and technology interact?
      - Brief introduction to the technological determinism vs constructionism debate
      - Normative consequences of the mutual interactions between technological developments and fundamental ethical and legal concepts and outlooks (e.g. autonomy, personhood, etc.)
    • What are the latest developments in Europe (and around the world) in terms of guidelines and standards on ethical (or trustworthy) AI?

     

    Requirements of trustworthy AI: Ethical and legal perspectives, critical discussion and implementation (3 lectures)

    • Autonomy and personhood: Human agency and oversight, responsibility, accountability, and liability
    • Safety and security: Societal and environmental wellbeing, Technical robustness and safety
    • Justice: Diversity, non-discrimination, equality and fairness
    • Enforcement and regulatory oversight mechanisms (technical and non-technical methods); whistleblowing regulation.
       

    Dual Use: ethical backdrop, policies and implementation (1 lecture)

     

    Case studies (5 lectures) – for instance:

    • media & fake news
    • automated driving
    • banking and insurance
    • judiciary
    • health/enhancement
       

    Comparison EU with non-EU perspectives on ethical / trustworthy AI (1 lecture)

    Course material

    Electronic reader on Toledo (consisting of legal and policy documents, research articles, etc.)

    Evaluatieactiviteiten

    Evaluation: AI Ethics & Regulation (B-KUL-H2P05a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written
    Type of questions : Open questions

    Explanation

    The duration of the written exam is 2 hours. De duur van het schriftelijk examen is twee uur.

    ECTS Security Through the Software Lifecycle (B-KUL-H0Q31A)

    4 ECTS English 24 First termFirst term

    Aims

    The students understand the possibilities for dealing with security and privacy at the various stages of the software lifecycle. The students can describe a number of relevant design patterns and blueprints for security & privacy by design. The students can drive threat analysis in a systematic, process-driven way. The students can have a broad overview of techniques that can enhance the quality of code from a security perspective, through programming techniques and guidelines, through testing and with the help of contemporary tool support. The students understand the challenges of preserving security during the deployment of production software, both from an organizational and from a practical perspective.

    Previous knowledge

    Cybersecurity Basics, familiarity with at least one programming language and a basic understanding of software engineering.

    Onderwijsleeractiviteiten

    Security Through the Software Lifecycle: Lecture (B-KUL-H0Q31a)

    4 ECTS : Lecture 24 First termFirst term

    Content

    1.      Overview: Security through the life cycle of software

     

    2.      Security patterns and architectural cornerstones for security & Privacy

    • a.      Security and Privacy by design
    • b.      Catalogues and best practices
    • c.       Related concerns and qualities: availability, resilience etc.
    • d.      Specific models for security and privacy

     

    3.      Threat elicitation at early stages, at the level of analysis

    • a.      Prioritization and decision frameworks
    • b.      Relationship to risk management

     

    4.      Quality Control

    • a.      Coding rules and guidelines
    • b.      Security analysis of third-party components
    • c.      Relationship between security specific concerns and software development at large

     

    5.      Security Testing

    • a.      Systematic Testing for Security
    • b.      Static code analysis: tools and practices
    • c.      Penetration testing
    • d.      Fuzzing and Bug hunting

     

    6.      Security during operations (SecDevOps)

    • a.      Roles and responsibilities
    • b.      Patch and version management – software updates
    • c.      Configuration management
    • d.      Introduction to Security Operations 

    Course material

    Course material will be provided on Toledo

    Format: more information

    12 lectures, including demonstrations of practical tools.

    Evaluatieactiviteiten

    Evaluation: Security Through the Software Lifecycle (B-KUL-H2Q31a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written, Paper/Project

    Explanation

    Students deliver a small experience report based on one specific activity of choice (e.g. pen- testing, threat elicitation, etc.) within the context of a case study that is presented as part of the course.

    Information about retaking exams

    Students that score less than a 10-in the-first-examination period are asked to, when they did not pass the first part (1), prepare an assignment, which is an extension or improvement of the term report done during the semester. Students that fail on the second part (2) are asked to perform the exam part of the evaluation again.

    ECTS Comparative Programming Languages (B-KUL-H0S01A)

    6 ECTS English 85 First termFirst term Cannot be taken as part of an examination contract

    Aims

    • Students obtain a deep understanding of essential programming language concepts
    • Students gain practical experience with a number of modern programming languages, thereby increasing the ability to learn new programming languages
    • Students learn to appreciate the history and diversity of ideas in programming languages
    • Students understand design choices in current programming languages, and can select an appropriate programming language for a given programming task

    Previous knowledge

    Substantial programming experience in at least one programming language.

    Identical courses

    H04L5A: Vergelijkende studie van imperatieve programmeertalen

    Onderwijsleeractiviteiten

    Comparative Programming Languages: Lecture (B-KUL-H0S01a)

    3.5 ECTS : Lecture 30 First termFirst term

    Content

    The lectures illustrate and explain programming language concepts, including:

    • concepts related to naming, such as scoping and binding of variables, lexical addressing, ...
    • concepts related to mutable state and side-effects, such as explicit and implicit references, pointers, mechanisms for parameter passing, ...
    • concepts related to control flow, such as continuations, threads, exceptions, ...
    • concepts related to typing, such as static type checking, type inference, type safety, ...
    • concepts related to abstraction, such as modules, objects, classes, abstract data types, ...

    Course material

    Study cost: 76-100 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)

    Handbook

    Comparative Programming Languages: Exercises (B-KUL-H0S02a)

    1 ECTS : Practical 15 First termFirst term

    Content

    The exercise sessions explore a variety of programming languages. Students perform a number of small programming exercises specifically designed to highlight one or more programming language constructs or concepts.
    Examples of programming languages that could be covered include: Scala, Ruby, Erlang, Clojure, Scheme, Racket, Self, ELM, JavaScript, C, ...

    Comparative Programming Languages: Assignment (B-KUL-H0S03a)

    1.5 ECTS : Assignment 40 First termFirst term

    Content

    Students make one or two larger programming assignments designed to help them appreciate specific programming language features.

    Evaluatieactiviteiten

    Evaluation: Comparative Programming Languages (B-KUL-H2S01a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written
    Learning material : Course material

    Explanation

    The continuous assessment part consists of one or two larger programming  assignments, counting for 25% of the overall grade.
    For the final exam, students are allowed to use the handbook, and a formularium listing the code of interpreters studied in the handbook.

    Information about retaking exams

    The continuous assessment part cannot be redone for the second exam period. The score obtained on this assignment is maintained for the second evaluation.

    ECTS Machine Learning: Project (B-KUL-H0T25A)

    3 ECTS English 4 Second termSecond term Cannot be taken as part of an examination contract
    Meert Wannes (coordinator) |  Marra Giuseppe |  Meert Wannes

    Aims

    In this course, students will develop experience with developing learning software.  Students who successfully finish the project are able to:

    - preprocess data, preparing them for analysis
    - apply machine learning algorithms to preprocessed data
    - formulate tasks as machine learning problems
    - write software that incorporates machine learning technology and uses it to solve a particular problem
    - evaluate the extent to which the set goals have been reached
    - critically compare different approaches

    Previous knowledge

    Students should
    • have a basic understanding of the general principles of learning
    • be familiar with a wide range of existing techniques for machine learning and data mining
    • understand how these techniques work, and why they work
    • be up-to-date with the current state of the art in machine learning research
    • be able to contribute to contemporary machine learning research
    These topics have been covered in the course Machine Learning and Inductive Inference (H02C1A).

    Order of Enrolment



    SIMULTANEOUS( H0E96A ) OR SIMULTANEOUS( H0E98A )


    H0E96AH0E96A : Beginselen van machine learning
    H0E98AH0E98A : Principles of Machine Learning

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Machine Learning: Project (B-KUL-H0T25a)

    3 ECTS : Assignment 4 Second termSecond term

    Content

    The students develop a program with learning behavior.  This involves some research (reading scientific papers) that deepens their knowledge of machine learning, and an amount of practical programming in which they apply what they have learned from the basic course on machine learning and the research papers.

    Course material

    The study materials mostly consist of : a document detailing the task; scientific papers and online technical documents (pointers to some of these are provided in the task document).

    Format: more information

    The students will use the knowledge gained from the lectures and exercise sessions during the prerequisite course H02C1A  to build a practical system that exhibits learning behavior.

    Evaluatieactiviteiten

    Evaluation: Machine Learning: Project (B-KUL-H2T25a)

    Type : Continuous assessment without exam during the examination period
    Description of evaluation : Paper/Project, Project/Product, Report

    ECTS Entrepreneurship in de praktijk / in practice (B-KUL-H0T39A)

    3 studiepunten Nederlands 60 Tweede semesterTweede semester Uitgesloten voor examencontract

    Doelstellingen

    Het doel van dit project is het opdoen van relevante ervaring rond ondernemerschap. Zo verwerft de student een beter inzicht in de praktische aspecten van het ondernemen.

    Bij het voltooien van dit opleidingsonderdeel:

    • Kan de student ondernemerschap in praktische situaties toepassen.
    • Kan de student ondernemend handelen, door een idee om te zetten in de praktijk.
    • Is de student gegroeid in een aantal vaardigheden, zoals creativiteit tonen, innoveren, risico’s nemen, het plannen en organiseren van taken zodat de deliverables tijdig gerealiseerd worden, …
    • Kan de student over de uitgevoerde taken schriftelijk en mondeling verslag uitbrengen.
    • Kan de student reflecteren over zijn eigen functioneren binnen een project.

    Begintermen

    De student gaat zelfstandig op zoek naar een mogelijk project (bijvoorbeeld AFC, AFD, bij LCIE of deelname aan een ondernemingswedstrijd). Dit kan zowel binnen de non-profit sector als binnen de private sector.

    De student dient een projectaanvraag in. Na goedkeuring kan de student dit opleidingsonderdeel in het ISP opnemen. Voor meer informatie: zie de website https://eng.kuleuven.be/studeren/engineering-essentials/stages/entrepreneurship-in-de-praktijk

    Plaats in het onderwijsaanbod

    Onderwijsleeractiviteiten

    Entrepreneurship in de praktijk / in practice (B-KUL-H0T39a)

    3 studiepunten : Opdracht 60 Tweede semesterTweede semester

    Inhoud

    De student verwerft ervaring over diverse facetten van ondernemerschap en ontwikkelt managementvaardigheden via participatie aan advies- en implementatieprojecten.

     

    Het project moet verband houden met de opleiding tot ingenieur en voor aanvang inhoudelijk worden goedgekeurd door de coördinator van het OPO.

     

    Voor de praktische regeling gelden de volgende richtlijnen:

    • De student zoekt zelf een project.
    • De student zorgt voor een correcte afhandeling van de nodige documenten, zoals een projectaanvraag, een tussentijdse rapportering, een contract indien nodig, …

    Studiemateriaal

    Geen

    Toelichting werkvorm

    Uitvoeren van creatieve en kwaliteitsvolle projecten voor een start-up, vzw, KMO, NGO, … Deze projecten hebben een duurtijd van één semester tot één jaar en kunnen, afhankelijk van het project, individueel of in teams worden uitgewerkt.

    Evaluatieactiviteiten

    Evaluatie: Entrepreneurship in de praktijk / in practice (B-KUL-H2T39a)

    Type : Permanente evaluatie zonder examen tijdens de examenperiode
    Evaluatievorm : Verslag, Presentatie

    Toelichting

    De evaluatie gebeurt aan de hand van een schriftelijke en mondelinge rapportering in overeenstemming met volgende richtlijnen.

    Het verslag telt 10 tot 15 bladzijden en bestaat uit vier delen:

    • Deel A: situeert het project en bevat de administratieve gegevens: naam student, opleiding van student (inclusief fase en optie), naam project, periode, naam en contactgegevens van eventuele academische begeleider/projectleider (o.a. e-mailadres en telefoonnummer).
    • Deel B: omschrijft het project (de opdracht, het verloop en de behaalde resultaten). De student geeft telkens aan wat zijn taak precies geweest is.
    • Deel C: het reflectiegedeelte over de ervaring van de student. Deze bevat onder andere:
      • Kritische reflectie over de competenties die de student verwachtte te verbeteren (voeg die lijst als bijlage toe aan het verslag).
      • Relatie project en opleiding. Welke inhoud van welke opleidingsonderdelen is aan bod gekomen tijdens het project? Was die inhoud aangepast aan wat er nodig was?
    • Deel D: conclusies die uit het project getrokken werden. Zijn de doelen van het project bereikt? Was het project een meerwaarde voor de student?

    De student dient dit verslag minstens een week voor de presentatie in.

    Opmerking: indien de student herhaaldelijk of op ernstige wijze de verplichtingen vastgelegd in de projectaanvraag niet nakomt, kan de deelname aan het project worden stopgezet en wordt de eindbeoordeling voor het opleidingsonderdeel NA (niet afgelegd).

    Toelichting bij herkansen

    Indien het project als onvoldoende wordt beoordeeld, zal de student de verslaggeving moeten uitbreiden/verbeteren voor een evaluatie in de derde examenperiode. Het project zelf kan niet hernomen worden.

    ECTS Entrepreneurship in practice / service-learning (B-KUL-H0T91A)

    6 studiepunten Nederlands 0 Tweede semesterTweede semester Uitgesloten voor examencontract
    Pontikes Yiannis (coördinator) |  Pontikes Yiannis |  Ranga Adrian |  Van Hertem Dirk |  N.

    Doelstellingen

    Concrete leerdoelen

     

    Het doel van dit project is het opdoen van een relevante ervaring rond (sociaal) ondernemerschap. Zo verwerft de student een beter inzicht in de praktische aspecten van het ondernemen.

     

    Bij het voltooien van dit opleidingsonderdeel:

    • Kan de student ondernemerschap in praktische situaties toepassen.
    • Kan de student ondernemend handelen, door een idee om te zetten in de praktijk.
    • Is de student gegroeid in een aantal vaardigheden, zoals creativiteit tonen, innoveren, risico’s nemen, het plannen en organiseren van taken zodat de deliverables tijdig gerealiseerd worden, actief luisteren en inspelen op de noden van de betrokken actoren, …
    • Is de student in staat om in een multidisciplinair team te werken en te communiceren met mensen van andere disciplines over de eigen discipline.
    • Kan de student over de uitgevoerde taken schriftelijk en mondeling verslag uitbrengen.
    • Kan de student reflecteren over zijn eigen functioneren binnen een project, de sociaal-maatschappelijke dienstverlening en de rol van technologie in het streven naar een duurzamere en inclusievere samenleving.

     

    Bredere vormingsdoelen

     

    • De student verwerft waarden als integriteit, eerlijkheid, beoordelingsvermogen en inlevingsvermogen, en leert deze waarden toepassen.
    • De student ontwikkelt een sociaal-maatschappelijk verantwoordelijkheidsgevoel.
    • De student wordt zich bewust van het eigen denkkader, door middel van concrete en authentieke ervaringen.

    Begintermen

    Elke masterstudent die bereid is om een ondernemingsproject op te nemen, kan een aanvraag indienen. Omdat er een verscheidenheid aan projecten bestaat, hanteren we volgende werkwijze. De student gaat zelfstandig op zoek naar een mogelijk project (bijvoorbeeld via PiP, AFD, Humasol of Cera Award). Vervolgens dient de student een projectaanvraag in. Na goedkeuring kan dit opleidingsonderdeel in het ISP opgenomen worden. Voor meer informatie: zie de website: https://eng.kuleuven.be/studeren/engineering-essentials/stages/entrepreneurship-in-de-praktijk.

    Plaats in het onderwijsaanbod

    Onderwijsleeractiviteiten

    Entrepreneurship in practice / service-learning (B-KUL-H0T91a)

    6 studiepunten : Opdracht 0 Tweede semesterTweede semester

    Inhoud

    De student verwerft ervaring over diverse aspecten van (sociaal) ondernemerschap en ontwikkelt managementvaardigheden via participatie aan advies- en implementatieprojecten.

     

    Het project moet verband houden met de opleiding tot ingenieur en voor aanvang inhoudelijk worden goedgekeurd door de coördinator van het opleidingsonderdeel.

     

    Voor de praktische regeling gelden de volgende richtlijnen:

    • De student zoekt zelf een project.
    • De student zorgt voor een correcte afhandeling van de nodige documenten, zoals een projectaanvraag, een tussentijdse rapportering, een contract indien nodig, …

    Studiemateriaal

    Praktijkervaringen

    Toelichting werkvorm

    Uitvoeren van creatieve en kwaliteitsvolle projecten voor een start-up, vzw, KMO, NGO, … Deze projecten hebben een duurtijd van één semester tot één jaar en kunnen, afhankelijk van het project, individueel of in teams uitgewerkt worden.

     

    Studenten die deelnemen aan een project rond sociaal ondernemerschap/service-learning, worden gevraagd om ook aan enkele intervisiemomenten deel te nemen. Service-learning is een didactische aanpak waarbij studenten een concreet maatschappelijk engagement aangaan en deze ervaring door middel van reflectie koppelen aan academische leerinhouden en persoonlijke en maatschappelijke vormingsdoelen. Voor meer informatie, zie https://www.kuleuven.be/onderwijs/sl.

     

    Academische component:

    Tijdens een ondernemingsproject past de student (disciplinespecifieke) kennis uit zijn opleiding toe en staat hij o.a. stil bij de rol van technologie in het streven naar een duurzamere en inclusievere samenleving en de link tussen zijn opleiding en sociaal-maatschappelijke dienstverleningen.

     

    Praktijkcomponent:

    De student doet een relevante ervaring over (sociaal) ondernemerschap op, waarbij hij in een interdisciplinair team werkt. Dit kan via verschillende kanalen:

    • deelname aan een jaarproject van Academics for Development (AFD), een organisatie die studenten de mogelijkheid biedt om een sociale impact in het zuiden te hebben;
    • een jaarproject rond ontwikkelingssamenwerking via de organisatie Humasol rond de thema's hernieuwbare energie, water en duurzame technologie;
    • deelname aan andere sociaal-maatschappelijk geëngageerde projecten en social profit organisaties via Cera Award;
    • een jaarproject met PiP (Product Innovation Project) om een innoverend product te creëren;
    • eventueel via een andere partnerorganisatie, na grondig overleg met de coördinator van het opleidingsonderdeel.

     

    Reflectiecomponenten:

    De student wordt gevraagd om in een tussentijds en eindverslag o.a. te reflecteren over de relatie tussen het project en zijn opleiding, en de competenties die hij verwachtte te verbeteren (die werden in de aanvraag gevraagd). Doorheen het academiejaar wordt de student door een coach van de partnerorganisatie begeleid en bv. gevraagd om na te denken over de eigen rol en mogelijkheden binnen het project en welke acties hij in de toekomst inzake maatschappelijke en/of sociale problemen kan ondernemen.

    Evaluatieactiviteiten

    Evaluatie: Entrepreneurship in practice / service-learning (B-KUL-H2T91a)

    Type : Permanente evaluatie zonder examen tijdens de examenperiode
    Evaluatievorm : Ontwerp/Product, Verslag, Presentatie

    Toelichting

    De evaluatie gebeurt aan de hand van een schriftelijke en mondelinge rapportering in overeenstemming met volgende richtlijnen.

     

    De student stelt een tussentijds- en eindverslag op.

     

    Het tussentijds verslag bestaat uit een inhoudelijke/technische omschrijving van het project enerzijds en een reflectie over de competenties die de student verwachtte te verbeteren anderzijds (deze werden in de aanvraag gevraagd). Elk deel mag maximum uit één A4 bestaan en kan in puntjes geschreven worden.

     

    Het eindverslag telt 10 tot 15 bladzijden. Een mogelijke indeling van het verslag is:

    • Deel A: situeert het project en bevat de administratieve gegevens: naam student, opleiding van student (inclusief fase en optie), naam project, periode, naam en contactgegevens van eventuele academische begeleider/projectleider (o.a. e-mailadres en telefoonnummer).
    • Deel B: omschrijft het project (de opdracht, het verloop en de behaalde resultaten). De student geeft telkens aan wat zijn taak precies geweest is.
    • Deel C: het reflectiegedeelte over de ervaring van de student. Deze bevat onder andere:

                   - Kritische reflectie over de competenties die de student verwachtte te verbeteren (voeg die lijst als bijlage aan het verslag toe).

                   - Relatie project en opleiding. Welke inhoud van welke opleidingsonderdelen is aan bod gekomen tijdens het project? Was die inhoud aangepast aan wat er nodig was?

                   - Relatie project en maatschappij.

    • Deel D: conclusies die uit het project getrokken werden. Zijn de doelen van het project bereikt? Was het project een meerwaarde voor de student?

     

    Het verslag moet minstens een week voor de presentatie ingediend worden. Het project dient als een wetenschappelijke tekst omschreven te worden. Het reflectiegedeelte (deel C) mag wel persoonlijk geschreven zijn.

     

    De presentatie duurt 15 à 20 minuten. Nadien wordt er tijd voorzien voor vragen.

     

    Wanneer verschillende studenten aan hetzelfde project gewerkt hebben, mag het verslag deels collectief geschreven worden. De studenten dienen wel duidelijk aan te geven wie voor welk deel verantwoordelijk was. De reflectie over o.a. de competenties die zij tijdens het project beoogden te verwerven moet individueel gebeuren. De presentatie mag ook samen gegeven worden, zolang iedereen een deel geeft. Er mag dan langer gepresenteerd worden (tot 30 minuten).

     

    Opmerking: indien de student de gemaakte afspraken en verplichtingen niet op correcte wijze nakomt, kan de deelname aan het project stopgezet worden en wordt de eindbeoordeling voor het opleidingsonderdeel NA (niet afgelegd).

    Toelichting bij herkansen

     

    ECTS Philosophy of Technology (B-KUL-W0EN7A)

    4 ECTS English 26 First termFirst term Cannot be taken as part of an examination contract

    Aims

    The aim of this course is to make students familiar with the most important themes and questions in the domain of Philosophy of Technology. 

    At the end of the course, students have a critical insight into questions and themes. This means, among other things, that they can clearly distinguish the different positions, and can explain the arguments pro and contra these positions. In addition, students have a good understanding of the links between the concepts that take a central place in the domain of Philosophy of Technology.

    Previous knowledge

    No specific knowledge of Philosophy or Technology is required.

    Is included in these courses of study

    Onderwijsleeractiviteiten

    Philosophy of Technology (B-KUL-W0EN7a)

    4 ECTS : Lecture 26 First termFirst term

    Content

    Among other things, the following questions will be discussed:

    1. Is technology morally neutral?

    2. Can chatbots think?

    3. How should we think about conscious AI?

    4. Is AI an existential problem?

    5. Is technological enhancement a moral problem?

    5. What are the ethical risks of AI?

     

    Course material

    PowerPointpresentations and articles. Both will be available on Toledo.

     

    Format: more information

    The course can be divided into three parts: lectures, a paper, and discussions based upon texts.

    Evaluatieactiviteiten

    Evaluation: Philosophy of Technology (B-KUL-W2EN7a)

    Type : Partial or continuous assessment with (final) exam during the examination period
    Description of evaluation : Written, Paper/Project, Participation during contact hours
    Type of questions : Open questions

    Explanation

    The final grade is based upon a paper (20%), a written exam (70%), and participation in the discussion (10%). 

    Students who do not participate in all parts of the course (exam, paper, discussion) will get a grade ‘NA’ for the course (you don't get a final grade).

    Information about retaking exams

    During the third examination period, students should and can only retake those parts of the evaluation (paper and/or exam) for which they got no score or an insufficient score.

    Participation in the discussion cannot be retaken during the third exam period. Students who did not participate in this part of the evaluation will again get a grade ‘NA’ for the course.

    Students who should retake the course in a next academic year should re-do the entire course, including all parts of the evaluation.