3 ECTS credits
78 h study time

Offer 1 with catalog number 1023843BNR for all students in the 1st semester at a (B) Bachelor - 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
Enrollment Requirements
Students who want to enroll for this course, must have passed for 'Algoritmen en datastructuren 1'
Taught in
Dutch
Faculty
Faculty of Sciences and Bioengineering Sciences
Department
Computer Science
Educational team
Joeri De Koster (course titular)
Activities and contact hours
12 contact hours Lecture
12 contact hours Seminar, Exercises or Practicals
Course Content

This course covers the following subjects:

  • The memory hierarchy, internal memory, external memory, kinds of files, caching
  • External data structures: Storage, Indexing and B-trees on disk
  • External algorithms : external sorting (multiway merge sort, polyphase sort)
Course material
Digital course material (Required) : Algorithms and Datastructures in Scheme
Handbook (Recommended) : Database System The Complete Book, Garcia-Molina, Ullman, Widom, 2de, Pearson, 9781292024479, 2013
Handbook (Recommended) : Introduction to Algorithms, Cormen, Leiserson, 3de, MIT Press, 9780262033848, 2009
Additional info

A course text made available on Canvas. Additional reading can be found in the books "Introduction to Algorithms" (by Cormen, Leiserson, Rivest, MIT Press, 1991) and "Database System Implementation" (by Garcia-Molina, Ullman, Widom; Prentice-Hall, 2000).

Learning Outcomes

General competences

Knowledge and Understanding: The initial goal of the course is to complete the list of algorithms and data structures that is considered common knowledge among computer scientists. Students have to be able to evaluate the algorithms and data structures studied, compare them, implement them and adjust them for concrete applications. The second goal is to expose the students to a number of highly advanced and specialised algorithms, the analysis and implementation of which largely transcends the complexity found in traditional handbooks of algorithms. For these too, students have to able to estimate performance and applicability. Furthermore, they have to understand their implementations and should be able to independently construct and analyse variants of the algorithms and data structures presented during the course.

Application of Knowledge and Understanding: Just as is the case with Algorithms and Data Structures 1, students have to be able to adapt the algorithms and data structures studied to new concrete situations. Furthermore, students should be able to design new algorithms and data structures for problems that are close to the ones studied in the course.

Making Judgements: Students should be able to evaluate and compare existing algorithms, data structures and ADT implementations. It is also expected that students can correctly judge the quality of the implementation of a data structure and/or algorithm.

Communication: Students should be able to document algorithms and data structures with sufficient precision in order to improve the communication between different developers of a big project.

Grading

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

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

  • Oral exam with a relative weight of 1 which comprises 50% of the final mark.

    Note: The “oral exam” consists of a number of theory questions.

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

  • Practical assignment with a relative weight of 1 which comprises 50% of the final mark.

    Note: For the “practical assignment”, a number of programming assignments will be given during the year. These assignments will have to be defended during or after the oral examination. All of the assignments have the same weight.

Additional info regarding evaluation

The exam consists of a theoretical and a practical (project or exercises) part. Both parts have an equal weight in the final mark. Absence in one of these components implies absence for the entire course.

Allowed unsatisfactory mark
The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.

Academic context

This offer is part of the following study plans:
Bachelor of Computer Science: Default track (only offered in Dutch)
Bridging Programme Master of Science in Applied Sciences and Engineering: Computer Science: Standaard traject (only offered in Dutch)
Bridging Programme Master of Science in Applied Computer Science: Standaard traject (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track C (Ind Ing, 61 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track A (76 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track B (65 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Computer Science: Enkel voor studenten industriële wetenschappen (only offered in Dutch)
Preparatory Programme Master of Science in Applied Computer Science: Track A (58 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Computer Science: Track B (52 ECTS) (only offered in Dutch)