Skip to main content
Till KTH:s startsida

DD1321 Applied Programming and Computer Science 9.0 credits

This is a course in applied programming and computer science.

Information per course offering

Termin

Information for Autumn 2024 tilpro24 programme students

Course location

KTH Campus

Duration
28 Oct 2024 - 16 Mar 2025
Periods

Autumn 2024: P2 (3.0 hp)

Spring 2025: P3 (6.0 hp)

Pace of study

33%

Application code

50154

Form of study

Normal Daytime

Language of instruction

Swedish

Number of places

Places are not limited

Target group

CDEPR, CSAMH, CTKEM.

Planned modular schedule
[object Object]
Part of programme

Contact

Examiner
No information inserted
Course coordinator
No information inserted
Teachers
No information inserted
Contact

Alexander Baltatzis, tel: 790 6209, e-post: alba@kth.se

Course syllabus as PDF

Please note: all information from the Course syllabus is available on this page in an accessible format.

Course syllabus DD1321 (Autumn 2024–)
Headings with content from the Course syllabus DD1321 (Autumn 2024–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Programming: Imperative and object-oriented programming in Python. Programming methodology. Program quality. Testing and troubleshooting strategies. Modularisation. Abstraction. Programming interfaces.

Algorithms and data structures: A systematic presentation of computer science concepts: abstract data types, algorithm analysis, recursion, stacks, queues, lists, searching, sorting, hashing, priority queues, trees, search trees, problem trees, text searching, simple syntax analysis, encryption.

Intended learning outcomes

After passing the course, the student should be able:

  • write structured programmes without code repetition in Python
  • use and design composite data types and classes
  • design and present user friendly output
  • transfer data between file and program
  • systematically troubleshoot and test programmes
  • use abstraction as a tool to simplify the programming
  • use programming interfaces
  • select an appropriate algorithm for a given problem
  • compare algorithms with regard to time and memory usage
  • implement different algorithms for searching and sorting and give an account of their properties
  • formulate and implement recursive algorithms
  • model problems as search problems and implement algorithms for breadth-first search, depth-first search and best-first search
  • describe basic compression algorithms and for which types of compression they are used
  • implement stacks, queues, binary search trees, general trees, hash tables and hash functions and use these
  • use priority queues
  • use simple encryption methods and explain the principles of asymmetric encryption
  • use algorithms for text searching, regular expressions and BNF syntax
  • identify problems where the data structures above are useful and design simple algorithms with these

in order to

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

Literature and preparations

Specific prerequisites

Knowledge and skills in basic programming, 3 higher education credits, equivalent to completed course SF1511/SF1516/SF1518/SF1519/SF1521.

Active participation in a course offering where the final examination is not yet reported in LADOK is considered equivalent to completion of the course.
Being registered for a course counts as active participation.
The term 'final examination' encompasses both the regular examination and the first re-examination.

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.

Grading scale

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

Examination

  • KONT - Partial exams, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LABD - Programming assignments, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LABP - Programming assignments, 3.0 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.

For higher grades on KONT, oral examination or digital exam is used. Which of the examination formats that will be used is stated in the course memo.

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

Technology

Education cycle

First cycle

Add-on studies

Second courses in computer science: DD2350, DD1418, DD1334, DD1377, DD1420/DD2421, DH2323. In addition DD1380 followed by DD1385 or DD1389.

Contact

Alexander Baltatzis, tel: 790 6209, e-post: alba@kth.se

Transitional regulations

TEN1 has been replaced by KONT.

Supplementary information

You can only count one of the following courses in your exam: DD1320, DD1321, DD1325, DD1327, DD1338, DD1339, DD1340, DD1341, DD1343, DD1344, DD1345, DD2325, EL2310, HI1201, ID1020, ID1021.

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