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
  • can evaluate algorithms with regard to ethical and environmental consequences

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 as they tests the courses learning outcome. 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.