Level of Study
Objectives and Content
The course focuses on the ability to translate theoretical knowledge about algorithms, data structures, and complexity to efficiently be able to perform the complete process of analyzing a problem, estimate the running time of suggested solutions, and to implement a running program.
On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:
The student knows
- Algorithm design techniques, such as greedy algorithms, Dynamic Programming, Exhaustive Search (brute-force)
The student is able to
- analyze the performance of a proposed algorithm in big-Oh notation, and use this to estimate the running time of a program on a given computer on a given data set.
- pick the right algorithm design technique and data structure for a given problem, and adapt these to new problems.
- implement algorithms based on the covered design techniques,
- recognize when one can use data structures for which standard library implementations exist, and make use of these data structures.
- implement efficient data structures.
- The student is able to go from an algorithmic problem to an implementation of an efficient and correct algorithm for the problem.
Required Previous Knowledge
For incoming exchange students: At least 60 ECTS in Computer Science and at least 10 ECTS in mathematics
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences
Teaching and learning methods
2 hours lectures per week throughout the entire semester. 2 hours group sessions per week.
Compulsory Assignments and Attendance
Compulsory exercises, and participation in compulsory programming competitions.
Forms of Assessment
Compulsory exercises which are assigned during the semester and compulsory programming contests assigned by the course instructor.
Examination Support Material
Spring. With the consent of the lecturer, students who for some reason did not complete the course in the spring semester, can complete the course the following autumn semester. New exercises assigned in the autumn semester are valid only in the same autumn semester.
The reading list will be available within June 1st for the autumn semester and December 1st for the spring semester
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course coordinator and administrative contact person can be found on Mitt UiB, or contact
The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.
T: 55 58 42 00
Type of assessment: Approved assignment
- Withdrawal deadline