KIUA1007 Parallel and sequential data structures and algorithms

    • Course code
      KIUA1007
    • Number of credits
      10
    • Teaching semester
      2025 Autumn
    • Language of instruction
      Norwegian/English
    • Campus
      Hamar
    • Required prerequisite knowledge

      None

Course content

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:

Knowledge

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
Skills

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
General competence

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
Teaching and working methods

The course comprises a combination of lectures, practical exercises, independent study and academic supervision.

Required coursework
  • 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. 

Assessments
Form of assessmentGrading scaleGroupingDuration of assessmentSupport materialsProportionComment
Written assignment
ECTS - A-F
Individual
  • All
100
Form of assessment
  • 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
Course name in Norwegian Bokmål: 
Parallelle og sekvensielle datastrukturer og algoritmer
Faculty
Faculty for Film, TV and Games
Department
Department of Game Development - The Game School
Area of study
Matematisk-naturvitenskapelige fag/informatikk
Programme of study
Bachelor i kunstig intelligens - utvikling og anvendelse
Course level
Foundation courses, level I (100-LN)