5 ECTS credits
145 h study time

Offer 1 with catalog number 4007798ENR for all students in the 1st semester at a (E) Master - advanced level.

Semester
1st semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Taught in
Dutch
Faculty
Faculty of Engineering
Department
Electronics and Informatics
Educational team
Bart JANSEN (course titular)
Activities and contact hours
24 contact hours Lecture
24 contact hours Seminar, Exercises or Practicals
36 contact hours Independent or External Form of Study
Course Content

This course introduces a basic repertoire of algorithms and data structures. These algorithms and datastructures constitute a solid basis for more advanced concepts introduced in other courses.

Among others, the following topics will be discussed in this course:
- Search in arrays, building linked and double linked lists, search in linked and double linked lists.
- Stacks, queues en priority queues.
- Methods for sorting arrays and linked lists.
- Methods to represent trees by means of linked lists and arrays; search in trees and methods for balancing trees.
- Graphs: methods for representing graphs; searching in graphs.

Both the theoretical foundations and concepts as well as the practical implementation in JAVA will be discussed.

Course material
Digital course material (Required) : De opgaves voor deze werkcolleges alsook de vereiste code worden ter beschikking gesteld via pointcarre (http://pointcarre.vub.ac.be/)., Pointcarré
Practical course material (Recommended) : een JAVA boek naar keuze.
Additional info

Course notes, slides, programming assignments and required code are available on pointcarre (http://pointcarre.vub.ac.be/).

Additional Study Material
- any JAVA book.

Learning Outcomes

General competencies

The first goal of this course is to teach students a repertoire of basic algorithms and data structures which are required to solve a variety of programming problems. Students are expected to know, to be able to explain, to motivate and to compare the implementation and the time and memory requirements of these algorithms and data structures.
A second goal of this course is to teach students to use the algorithms and data structures in concrete programs: students are expected to be able to implement the data structures and algorithms in JAVA. It is also expected that students can identify the data structures and algorithms best suited for solving particular computer problems and that students can combine these into a computer program solving the problem posed.

Grading

The final grade is composed based on the following categories:
Written Exam determines 60% of the final mark.
PRAC Practical Assignment determines 40% of the final mark.

Within the Written Exam category, the following assignments need to be completed:

  • Written exam with a relative weight of 1 which comprises 60% of the final mark.

    Note: A first part of the exam is a written open book exam

Within the PRAC Practical Assignment category, the following assignments need to be completed:

  • Programming exam with a relative weight of 1 which comprises 40% of the final mark.

    Note: The second part of the exam is the evaluation of project work

Additional info regarding evaluation

The exam consists of two parts:


A first part is a written open book exam and consists of a set of questions to assess whether the student knows, can explain, can motivate and can compare the concepts, the implementation and the time and memory requirements of the data structures and algorithms.  This involves writing program code with pen and paper.


The second part is of the final grade is composed of the evaluation of the project assignment. The evaluation consists of our assessment of the code and of an oral discussion.

Academic context

This offer is part of the following study plans:
Master of Applied Sciences and Engineering: Applied Computer Science: Standaard traject (only offered in Dutch)