ITF20006 Algorithms and Datastructures (Spring 2015)

Facts about the course

ECTS Credits:
10
Responsible department:
Faculty of Computer Science, Engineering and Economics
Course Leader:
Lars Vidar Magnusson
Teaching language:
Norwegian
Duration:
½ year

The course is connected to the following study programs

Compulsory course in the Bachelor Programme in Computer Science.

Elective course in:

  • Bachelor Programme in Computer Engineering
  • Bachelor Programme in Computer Engineering, Y-veien
  • Bachelor Programme in Computer Engineering, Tress

Prerequisites

This course requires prerequisite knowledge equivalent to Object-oriented Programming.

Lecture Semester

Bachelor Programme in Computer Science: semester 4 (spring)
Bachelor Programme in Computer Engineering: semester 4 or 6 (spring)
Bachelor Programme in Computer Engineering, Y-veien: semester 4 or 6 (spring)
Bachelor Programme in Computer Engineering, Tress: semester 4 or 6 (spring)

Total workload:

4 hours of lectures + exercises per week.

The student's learning outcomes after completing the course

Knowledge

On completion of the course, the students can:

  • explain the construction and purpose of linear data structures (lists, queues), tree structures, (binary trees, search trees, balanced trees, binary heaps) and network structures
  • give an account of table-based and linked data structures and explain what is meant by the term "effective" in the context of algorithms
  • give an account of how different algorithms work and of their effectiveness for storing, inserting, searching, deleting, sorting, traversing and backtracking, both as iterative and recursive variants

Skills

On completion of the course, the students can:

  • design, implement and apply data structures to different requirements
  • analyze, design, implement and use fundamental and classic algorithms
  • use both custom and proprietary algorithms and data structures to solve complex and complicated problems

General competence

On completion of the course, the students can:

  • derive pleasure from having insights into fundamental and durable principles in classic computer science that will remain valid regardless of hardware platforms and programming languages
  • feel confident in using concepts and terminology that are broadly used computer science communities worldwide
  • discuss and advise on the use of data structures and algorithms in different situations in professional forums
  • disseminate the importance and necessity of using appropriate structures and effective algorithms

Content

Recursive problems. A review of the key data structures such as tables, lists, queues, stacks, hash tables, trees, graphs, and related operations Algorithms for sorting, searching, storing and recursion The programming language used is Java.

Forms of teaching and learning

Lectures and exercises.

Coursework requirements - conditions for taking the exam

4 assignments must be submitted and approved. The coursework requirements must be approved before students may sit the exam.

Examination

Written exam

Written exam lasting 4 hours. Letter grading scale A?F.
Support materials: 4 sheets (8 pages) in A4-format containing students' own notes.

Course evaluation

This course is evaluated as follows:

  • Mid-semester evaluation (optional)
  • Final evaluation (compulsory)

The course instructor prepares a course report on the basis of student feedback and on his/her own experiences of the course. Course reports are discussed with the Committee for Study Quality at the Faculty of Computer Sciences.

Literature

Introduction to Algorithms av Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, ISBN-10: 0262033844 ISBN-13: 978-0262033848, third edition.

Last updated from FS (Common Student System) July 18, 2024 2:30:34 AM