### Choose semester and course offering

Choose semester and course offering to see information from the correct course syllabus and course offering.

## Content and learning outcomes

### Course contents

Algorithms and data structures: A systematic overview of the concepts abstract data types, stacks, queues, lists, trees, searching, sorting and recursion based on the knowledge the students acquired in the course Fundamentals of programming. Hashing, priority queues, search trees, problem trees, text searching, simple syntax analysis, encryption and automata. Algorithm analysis.

Programming: Software development methodology, programme quality, abstraction, modularisation, testing, system calls, standard libraries.

### Intended learning outcomes

After completion of the course, the student should be able to:

• systematically test programs to discover errors,
• use abstraction as a tool to simplify the programming,
• choose appropriate algorithm to a given problem,
• describe different algorithms for searching, sorting and encryption as well as their properties,
• model problems using graphs and implement algorithms for searching in graphs,
• implement and use basic data structures,
• design and analyse simple algorithms with data structures,

in order to:

• become a good problem solver using programming,
• be able to use computational methods in application projects, and
• acquire sufficient prior knowledge to be able to take advanced courses in computer science.

### Course Disposition

No information inserted

## Literature and preparations

### Specific prerequisites

DD1331 or the equivalent (for example DD1310).

### Recommended prerequisites

DD1331 Fundamentals of Programming and SF1672 Linear algebra, or the equivalent.

### Equipment

No information inserted

### Literature

No information inserted

## Examination and completion

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

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

### Examination

• IND1 - Individual home assignments, 2,0 hp, betygsskala: A, B, C, D, E, FX, F
• LAB1 - Laboratory assignments, 4,0 hp, betygsskala: 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.

Under special circumstances, other examination formats may be used.

### Other requirements for final grade

Passed laboratory assignments and individual home assignment.

### Opportunity to complete the requirements via supplementary examination

No information inserted

### Opportunity to raise an approved grade via renewed examination

No information inserted

### 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 web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web DD1327

### Offered by

EECS/Computer Science

Technology

First cycle