KIUA1007 Parallel and sequential data structures and algorithms
- Course codeKIUA1007
- Number of credits10
- Teaching semester2025 Autumn
- Language of instructionNorwegian/English
- CampusHamar
- Required prerequisite knowledge
None
The course provides students with expertise in data structures and algorithms for both sequential and parallel computing environments. Students will examine the fundamental concepts, design principles and practical implementation of data structures and algorithms that are essential for the development of artificial intelligence and applications. Students will select, implement and optimise data structures and algorithms, including arrays, linked lists, trees, graphs, hash tables, search algorithms, search algorithms and graph algorithms, reflect on their AI development practices and stay up-to-date in the industry. Students will collaborate in teams, solve complex AI problems and present findings. The course will also promote the ability to plan and execute AI projects independently or as part of a team, will encourage knowledge exchange within the AI community and will promote innovative thinking in AI development and applications.
Learning Outcome
Upon successfully passing the course, students will have achieved the following learning outcomes:
The student will have
- a sound understanding of different data structures and algorithms
- knowledge of parallel data processing concepts, including different parallelism models, such as shared memory and distributed memory, synchronisation mechanisms and communication techniques in parallel data processing
- knowledge of parallel data structures and algorithms
The student will be able to
- implement sequential data structures and algorithms using programming languages to design and implement effective data structures and algorithms for specific tasks
- parallelise sequential algorithms and implement parallel data structures using parallel programming models, libraries and frameworks in parallel programming and algorithm design
- analyse the performance of data structures and algorithms to evaluate the efficiency, scalability and load balancing of parallel algorithms and optimise these for improved performance
The student will be able to
- analyse and solve complex problems linked to data structures and algorithms
- assume a central role in an effective and targeted team to solve problems relating to data structures and algorithms, communicate ideas and contribute to collective problem solving
- communicate adaptability and a continual learning mindset in data structures and algorithms to recognise the evolving nature of technology
- exercise ethical considerations in data structures, algorithms and parallel data processing to recognise the importance of responsible data processing practices, including considerations for privacy, security and fairness in algorithm design and implementation
The course comprises a combination of lectures, practical exercises, independent study and academic supervision.
- Two individual assignments
Compulsory coursework requirements that have been passed are valid for 12 months only. Students wishing to take examinations after 12 months must pass the compulsory coursework requirements again in connection with the next scheduled delivery of the course.
Form of assessment | Grading scale | Grouping | Duration of assessment | Support materials | Proportion | Comment |
---|---|---|---|---|---|---|
Written assignment | ECTS - A-F | Individual |
| 100 |
- One project-based individual assignment
The assignment is assessed using a grading scale from A-F, where E is the lowest passing grade.
Students are able to choose which language to use for their examination. The available options are Norwegian Bokmål, Nynorsk and English.
Permitted aids:
- Literature
- All printed and written resources
- Any use of AI-generated text and content must be clarified with the lecturer, clearly labelled and academically justified in the submission