General Information
| Course Code | XB_0043 |
|---|---|
| Credits | 6 EC |
| Period | P1 |
| Course Level | 200 |
| Language of Tuition | English |
| Faculty | Faculty of Science |
| Course Coordinator | dr. Y. Khaluf |
| Examiner | dr. Y. Khaluf |
| Teaching Staff |
dr. Y. Khaluf dr. H.R. Santa Cruz Baur L.H. Rekker MSc |
|
Part of programme(s)
Premaster
Use the arrow keys to navigate the list, Enter to select, and Escape to close.
|
|
Practical Information
You need to register for this course yourself. The (de)registration deadlines can be found on VU.nl
| Teaching Methods | Seminar, Written partial exam, Lecture |
|---|
Course Objective
The goal of this course is to introduce Bachelor students enrolled in the target audience program to the basic concepts of data structures and algorithms. After taking this course, students will:
- Describe fundamental data structures and algorithms used for common computational problems.
- Explain the role of algorithmic complexity and evaluate the complexity of simple programs.
- Apply appropriate algorithmic techniques and justify proposed solutions for concrete problem instances.
- Identify and evaluate the advantages and disadvantages of different approaches to problem solving.
Course Content
The course is organised through weekly lectures and practical lab sessions.
Lectures introduce the core concepts of data structures and algorithms, including:
- Linear and non-linear data structures such as linked lists, trees, and graphs.
- Fundamental notions of time and space complexity.
- Basic algorithms for sorting, searching, and traversing trees and graphs.
- Comparative discussion of alternative methods for solving the same computational problem.
- More advanced topics are introduced towards the end of the course.
The practical component of the course consists of weekly lab sessions supervised by student teaching assistants. During these sessions, students work individually on programming assignments and analytical tasks designed to deepen their understanding of the concepts covered in the lectures.
Additional Information Teaching Methods
Teaching methods include Weekly:
- Lectures introducing new topics
- Tutorial A: Guided Practice Model
- 30 minutes: Complementary material
- 1 hour: Worksheet session
- Tutorial B: homework + quiz
- 1 hour: Review answers for the homework + feedback and discussions.
- 30 minutes: “Mini exam”, short assessment activity.
Method of Assessment
Homework | 10% |
Quizzes | 30% |
Final Exam | 60% |
The final course grade is calculated using the weighted components above. To pass the course, a student must:
- Achieve a final course grade of at least 5.5;
- Obtain a grade of at least 5.5 on the Final Written Exam; and
- Obtain a non-zero grade for both the Homework and Quiz components.
There is a resit for the Final Written exam.
There are no resit opportunities for Homework and Quiz components.
Literature
Introduction to algorithms. Thomas H. Cormen et al. 4th edition.
Additional Information Target Audience
Bachelor Artificial Intelligence (Year 2)Additional Information
In regards to genAI: the students are allowed Level 3 — Use of generative AI is permitted, with explanation and reflection.
In this course, generative AI (GenAI), such as ChatGPT or similar tools, may be used as part of the working process. The student must explicitly explain how GenAI was used and critically reflect on the quality, usefulness, and limitations of the output. Assessment also focuses on how GenAI has been used consciously, critically, and responsibly. Incorrect use of GenAI, including failure to comply with the requirements for explanation and reflection, is considered fraud. If established, the submitted work or assessment result will be declared invalid, and the Examination Board may impose further measures.
Recommended background knowledge
- Introduction to programming (Python) (X_401096). Good working knowledge of Python is strongly advised and if not present, the student should be prepared to put extra effort for programming in Python.
- Some background in discrete mathematics and calculus is advised (polynomial and exponentials functions, logarithmic function, function compositions, simple series, factorial calculus, etc.)