Algorithms, Data Structures and Programming

Undergraduate course

Course description

Objectives and Content

The course gives an introduction to basic algorithms, such as sorting and finding shortest paths. Central in the study of these algorithms is the choice of data structures, as well as the analysis of the runtime and memory use.

An important part of the course consists of programming in practice.

Learning Outcomes

Upon completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:

Knowledge
The student

  • knows the basic algorithms and data structures for sorting
  • knows the basic algorithms and data structures for searching
  • knows important graph algorithms and their datastructures
  • knows the mathematical concepts needed for the analysis of the behaviour of algorithms in terms of time and memory use

Skills
The student

  • can program efficient algorithms for sorting, searching and graphs
  • can analyse mathematically the behaviour of algorithms in terms of time and memory use
  • can analyse empirically the behaviour of algorithms in terms of time and memory use
  • can recognize new problems that are amenable to the techniques learned in this course, and design new algorithms for similar problems
  • can use generic programming to program the algorithms

General competence
The student

  • can discuss algorithms and datastructures for programming with others
  • is aware of the differences in efficiency of software solutions
  • can apply the knowledge and skills of algorithms and datastructures in various application domains

ECTS Credits

10

Level of Study

Bachelor

Semester of Instruction

Autumn
Required Previous Knowledge
None
Recommended Previous Knowledge
Credit Reduction due to Course Overlap
I120: 10 ECTS, INFO135 10 ECTS
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Science and Technology
Teaching and learning methods
During the whole semester: two double lectures and one workshop per week. In addition one review session per week.
Compulsory Assignments and Attendance
The compulsory exercises have to be passed and are then valid for two semesters, including the semester in which they are approved.
Forms of Assessment
Portfolio assessment. The portfolio consists of hand-ins and 3hrs written on-campus-exam. On-campus-exams and hand-ins must be passed. The weighting is announced on mittuib at the start of the semester.
Grading Scale
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
Assessment Semester
Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.
Reading List
The reading list will be available within July 1st for the autumn semester and December 1st for the spring semester.
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.
Examination Support Material
All written and printed examination aids are allowed.
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact studieveileder@ii.uib.no
Course Administrator
The Faculty of Science and Technology represented by the Department of Informatics is the course administrator for the course and study programme.