Programplaner og emneplaner - Student
DATS2300 Algorithms and Data Structures Course description
- Course name in Norwegian
- Algoritmer og datastrukturer
- Study programme
-
Bachelor in Applied Computer TechnologyBachelor's Degree Programme in Software EngineeringBachelor's Degree Programme in Mathematical Modelling and Data ScienceBachelor's Degree Programme in Information Technology
- Weight
- 10.0 ECTS
- Year of study
- 2025/2026
- Curriculum
-
FALL 2025
- Schedule
- Programme description
- Course history
-
Introduction
The course deals with the analysis, design, implementation and application of commonly used algorithms and data structures in ordinary and advanced data processing.
Recommended preliminary courses
Lectures and lab exercises. The exercises will be based on individual and group work, supervised by the lecturer or a student assistant.
Required preliminary courses
No requirements over and above the admission requirements.
Learning outcomes
After completing the course, the student is expected to have achieved the following learning outcomes defined in terms of knowledge, skills and competence:
Knowledge
The student is capable of:
- explaining the structure and purpose of data structures such as tables, lists, stacks, different types of queues, heaps, hash tables, different types of trees, graphs and files
- explaining the function and efficiency of different variants of algorithms for counting, entering, searching for, deleting, traversing, sorting, optimising and compressing data
Skills
The student is capable of:
- analysing, designing, and implementing data structures, and evaluate which data structures are suited for specific tasks
- analysing, designing, implementing and using the algorithms required to solve specific tasks
- using both self-developed and standardised algorithms and data structures to solve complex and complicated problems
General competence
The student is capable of:
- participating in discussions and providing advice on what data structures and algorithms are most expedient in different situations
- communicating the importance and necessity of using good structures and efficient algorithms in programming projects
Teaching and learning methods
Lectures and individual exercises. The exercises are based on the students’ own work, supervised by the lecturer and/or a student assistant.
Course requirements
The following coursework is compulsory and must be approved before the student can take the exam:
- Two compulsory assignments (source code and documentation)
- One individual programming assignment.
Assessment
An individual digital three-hour exam under supervision.
The exam result can be appealed.
In the event of resit and rescheduled exams, another exam form may also be used or a new assignment given with a new deadline. If oral exams are used, the result cannot be appealed.
Permitted exam materials and equipment
In this course, students will acquire knowledge of TCP / IP and various network protocols used on the Internet and acquire insight into the modern cloud computing technology. They will understand what are the components that make up a computer network and how the Internet works. Through practical lab exercises, students will gain knowledge of network data packet structure and virtual infrastructure in the cloud.
Grading scale
None for the admission.
Examiners
After completing the course, the student is expected to have achieved the following learning outcomes defined in terms of knowledge, skills and general competence.
Knowledge The student:
- is familiar with the main functions of each layer in the TCP/ IP model
- can explain how the most important network protocols work
- is familiar with the operational and infrastructure-related possibilities that virtualization and cloud-based solutions provide
Skills The student is capable of:
- configuring computer networks
- using network tools to study network traffic
- programming sockets
- using automation tools to roll out applications and their underlying infrastructure
- using cloud-based services as a development platform
- using monitoring systems to monitor the performance and stability of applications and operating environments
General competence:
The student is capable of:
- understanding and communicating issues relating to networks and computer systems.
- understanding and communicating the importance and necessity of using good cloud computing methods and technologies
Overlapping courses
The following coursework is compulsory and must be approved before the student can sit the exam:
- Two individual assignments
- One group assignment
Guidance for the assignments will be provided in the labs.