5 ECTS credits
145 h study time
Offer 1 with catalog number 4013759ENR for all students in the 1st semester at a (E) Master - advanced level.
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.
Slides, programming assignments and required code are available on pointcarre (http://pointcarre.vub.ac.be/).
Additional Study Material: any JAVA book.
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.
This course contributes to the following programme outcomes of the Master in Applied Computer Sciences:
MA_A: Knowledge oriented competence
1. The Master in Engineering Sciences has in-depth knowledge and understanding of exact sciences with the specificity of their application to engineering
4. The Master in Engineering Sciences can reformulate complex engineering problems in order to solve them (simplifying assumptions, reducing complexity)
6. The Master in Engineering Sciences can correctly report on research or design results in the form of a technical report or in the form of a scientific paper
11. The Master in Engineering Sciences can think critically about and evaluate projects, systems and processes, particularly when based on incomplete, contradictory and/or redundant information
12. The Master in Engineering Sciences has a creative, problem-solving, result-driven and evidence-based attitude, aiming at innovation and applicability in industry and society
MA_C: Specific competence
19. The Master in Applied Computer Sciences has knowledge of and is able to use advanced processing methods and tools for the analysis of (big) data in different application domains
21. The Master in Applied Computer Sciences has a thorough knowledge of programming concepts and can apply them in smart systems of systems
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:
Within the PRAC Practical Assignment category, the following assignments need to be completed:
The exam consists of two parts:
A first part is closed book 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.
The second part is open book and consists of the implementation and the explanation of a small computer program which solves a stated problem using the library of algorithms and data structures developed during the seminar sessions.
This offer is part of the following study plans:
Master in Applied Sciences and Engineering: Applied Computer Science: Standaard traject