DD1320 Applied Computer Science 6.0 credits

Tillämpad datalogi

A basic course in computer science.

Show course information based on the chosen semester and course offering:

Offering and execution

No offering selected

Select the semester and course offering above to get information from the correct course syllabus and course offering.

Course information

Content and learning outcomes

Course contents *

Algorithms and data structures: A systematic study of the concepts abstract data types, stacks, queues, lists, trees, searching, sorting, and recursion using the knowledge the students have from the course Programming Technique. Hashing. Priority queues. Search trees. Problem trees. Text search. Simple syntax analysis. Algorithm analysis.

Programming: Program quality. Abstraction. Modularization. Testing. Documentation. Exceptions. System calls. Standard library.

Intended learning outcomes *

In this course you will broaden your knowledge about algorithms, data structures and programming. The programming language Python is used in the course.

After the course you will have learned to

  • systematically test programs to discover errors,
  • use abstraction as a tool to simplify programming,
  • choose a suitable algorithm for a given problem,
  • compare algorithms with respect to time and memory usage,
  • describe different algorithms for searching and sorting and their properties,
  • devise and implement recursive algorithms,
  • write a small BNF syntax (less than 10 rules) for a formal language and write a program to check if an expression conforms to the syntax,
  • model real problems as search problems and implement algorithms for breadth first, depth first and best first search,
  • describe basic compression algorithms and know in which types of compression they are used,
  • construct an automaton for text search and describe how it works,
  • implement and use stacks and queues,
  • implement insertion, traversal and search operations in binary search trees and general trees, and use these,
  • implement and use hash tables and hash functions,
  • use priority queues,
  • use simple encryption algorithms, and explain the principles of assymetric encryption
  • identify problems where the above mentioned data structures are of use and construct simple algorithms with these,

so that you will:

  • become proficient in solving problems with programming,
  • be able to use computer science methods in projects in different applications and
  • acquire sufficient grounding to be able to enroll in follow-up courses in computer science.

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites *

For single course students: completed upper secondary education including documented proficiency in Swedish corresponding to Swedish B, English corresponding to English A. Furthermore: 7,5 hp in mathematics and 6 hp in computer science or programming techniques.

Recommended prerequisites

One of our courses in Programming techniques: DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD100N or corresponding.

Equipment

No information inserted

Literature

No information inserted

Examination and completion

Grading scale *

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

Examination *

  • LABD - Programming assignments, 3.0 credits, Grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 3.0 credits, Grading scale: A, B, C, D, E, FX, 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.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

Examiner

Alexander Baltatzis

Sten Andersson

Linda Kann

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 DD1320

Offered by

EECS/Computer Science

Main field of study *

Information Technology, Technology

Education cycle *

First cycle

Add-on studies

Advanced courses in computer science DD2350/DD2352, DD1418/DD2418, DD1334, DD2421, DH2323. Furthermore DD1380 followed by DD1385 or DD1389.

Contact

Linda Kann, tel:790 9276, e-post: lk@kth.se

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.

Supplementary information

Only one of the following courses can be counted in your degree: DD1320, DD1321, DD1325, DD1327, DD1338, DD1339, DD1340, DD1341, DD1343, DD1344, DD1345, DD2325, EL2310, HI1201, ID1020.

In this course, the EECS code of honor applies, see:
http://www.kth.se/en/eecs/utbildning/hederskodex