Skip to main content
Till KTH:s startsida Till KTH:s startsida

ID1300 Algorithms and Data Structures 7.5 credits

Course offerings are missing for current or upcoming semesters.
Headings with content from the Course syllabus ID1300 (Spring 2009–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Data structures for example stacks, queues, arrays, ordered arrays, trees, tries, red-black trees, binary searchtrees, hashtables, linked lists, priority queues, heaps.

Algorithms for example binary search, insert in datastructures (above), deletion in datastructures (above), selection sort, insertion sort, heapsort, bubblesort, quicksort, mergesort, radix sort, counting sort, depth-first-search, breadth-first-search, Warshalls algorithm, some AI algorithms.

Basic understanding for the complexity of an algorithm. Something about complexity classes.

Intended learning outcomes

Grade E:

The student should be able to use the data structures available in the class libraries in an objectoriented programming language and decide which is the approprirate datastructure in a given application.

The student should be able to implementa a simple algorithm in a programming language based on a detailed description or pseudo code.

The student should be able to describe following data structures considering the most important operations, when to use them and how they work.

Linked list, doublelinked list, hashtable, stack, queue, priority queue, heap, binary search tree.

The student should be able to implement any sorting algorithm for an array.

The student should have such a good understanding of complexity that she/he is able to discuss the complexity for a given algorithm.

The student should have a common knowledge about the data structures and algorithms mentioned during the course and be able to give a short explanation and know where to get more information if needed.

The student should be able to construct an own solution (algorithm) to a simple problem and write pseudo code for the solution.

Grades D-A:

The student should be able to analyze an algorithm and tell what complexity it has.

The student should be able to implement a non-trivial algorithm in any programming language.

The student should be able to solve a problem by figuring out an algorithm and implement it.

Literature and preparations

Specific prerequisites

Programming skills from at least a basic and an intermediate course in objectoriented programming.

Recommended prerequisites

Programming skills from at least one basic and one  intermediate course in objectoriented programming.

Equipment

No information inserted

Literature

To be decided.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F

Examination

  • LAB1 - Laboratory Work, 6.0 credits, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 1.5 credits, grading scale: P, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Other requirements for final grade

Lab1 - 6hp (A-Fx)
The laboration is divided into 5 parts: Written task 1&2, laboration 1,2,3.
Each part gives a number of points depending on how many and how advanced tasks the students has completed and how much time he/she demanded to complete them.
Written task 1: maximum of 2 points
Written task 2, laboration 1,2,3: maximum of 12 points each
Totally 50 points. Grades:
E - 10 points
D - 20 points
C - 27 points
B - 37 points
A - 45 points
Ten1 - 1,5hp (G/U)
Written examination. Approved or not approved only.
The written examination is divided into 2 parts with a maximum of 20 points each.
Part 1: Theory. 10 points is demanded to be approved.
Part 2: Programming. 10 points is demanded to be approved.
It is not possible to be approved at only one part. Both parts of the examination has to be approved at the same examination opportunity.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

Examiner

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Information Technology, Technology

Education cycle

First cycle

Add-on studies

No information inserted

Contact

Fadil Galjic, fadil@kth.se, 08 -164942

Supplementary information

http://people.dsv.su.se/~fadil/ID1300/