Statusmelding

Kun tilgjengelig på engelsk

ELE 3795 Data Structures and Algorithms

ELE 3795 Data Structures and Algorithms

Course code: 
ELE 3795
Department: 
Accounting and Operations Management
Credits: 
7.5
Course coordinator: 
Karim Tamssaouet
Course name in Norwegian: 
Data Structures and Algorithms
Product category: 
Bachelor
Portfolio: 
Bachelor - Electives
Semester: 
2025 Autumn
Active status: 
Active
Level of study: 
Bachelor
Teaching language: 
English
Course type: 
One semester
Introduction

Algorithms are everywhere in modern business applications, powering, among others, machine learning, online search engines, social media recommendations, supply chain optimization, and algorithmic trading. Behind these complex systems are foundational ways of storing and representing data, along with algorithms that efficiently search, process, and extract insights from that data.

In this course, students will learn to analyze, implement, and apply these foundational algorithms and data structures. By mastering these building blocks—such as sorting algorithms, graph algorithms, and data structures like trees and hash tables—students will be equipped with the essential knowledge to design complex algorithms that solve the real-world challenges. Beyond learning to use these building blocks, students will develop algorithmic thinking and principles that can be applied broadly to solve complex, practical problems across a variety of business contexts

Learning outcomes - Knowledge

Upon successful completion of this course, students will be able to:

  • Explain some of fundamental algorithmic problems when dealing with sorting, searching, working with graphs and strings.
  • Explain the structure and purpose of the common data structures such as arrays, lists, queues, stacks, trees and graphs.
  • Explain the classical algorithms for sorting and searching, and those addressing the underlying computational challenges surrounding applications using graphs and strings.
Learning outcomes - Skills

Upon successful completion of this course, students will be able to:

  • Describe an algorithm in an accurate, concise and unambiguous way.
  • Analyze the efficiency of the algorithms in terms of running time and memory usage
  • Use both self-developed and standardized algorithms and data structures to solve complex and practical problems
General Competence

Upon successful completion of this course, students will be able to:

  • Recognize general algorithm paradigm such as recursion, divide-and-conquer and greedy strategies
  • Strengthen analytical and logical thinking
Course content
  • Algorithmic toolbox: Algorithmic thinking, pseudo-code, time and space complexity
  • Basic data structures: Arrays, lists, stacks, queues
  • Sorting algorithms
  • Some data structures for efficient searching (binary search trees and hash tables)
  • Graph types and graph representations
  • Graph algorithms: BFS, DFS, Dijkstra
  • Search, manipulation and compression of strings
Teaching and learning activities

The course consists of 30 hours of synchronous classroom instruction and 15 hours of asynchronous learning. Asynchronous learning activities include exercises, quizzes, and readings.

Software tools
Software defined under the section "Teaching and learning activities".
Qualifications

Higher Education Entrance Qualification

Disclaimer

Deviations in teaching and exams may occur if external conditions or unforeseen events call for this.

Required prerequisite knowledge
  • Students should have a working proficiency in Python (acquired through a course or self-study.)
  • Students should have foundational knowledge in mathematics.
Assessments
Assessments
Exam category: 
Submission
Form of assessment: 
Submission other than PDF
Exam/hand-in semester: 
First Semester
Weight: 
30
Grouping: 
Group (1 - 3)
Duration: 
3 Week(s)
Comment: 
Mid-term
Exam code: 
ELE 37951
Grading scale: 
ECTS
Resit: 
Examination when next scheduled course
Exam category: 
Submission
Form of assessment: 
Submission other than PDF
Exam/hand-in semester: 
First Semester
Weight: 
70
Grouping: 
Individual
Duration: 
5 Hour(s)
Exam code: 
ELE 37952
Grading scale: 
ECTS
Resit: 
Examination when next scheduled course
Type of Assessment: 
Ordinary examination
All exams must be passed to get a grade in this course.
Total weight: 
100
Student workload
ActivityDurationComment
Teaching
30 Hour(s)
Individual problem solving
15 Hour(s)
Feedback activities and counselling
15 Hour(s)
Student's own work with learning resources
80 Hour(s)
Examination
60 Hour(s)
Sum workload: 
200

A course of 1 ECTS credit corresponds to a workload of 26-30 hours. Therefore a course of 7,5 ECTS credit corresponds to a workload of at least 200 hours.

Pensumliste