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

DD1318 Programming and Scientific Computing 9.0 credits

A basic course in programming techniques, and solving basic scientific problems using a computer.

About course offering

For course offering

Spring 2025 progtekVT24 programme students

Target group

No information inserted

Part of programme

Degree Programme in Media Technology, åk 1, Mandatory


P3 (6.0 hp), P4 (3.0 hp)


14 Jan 2025
2 Jun 2025

Pace of study


Form of study

Normal Daytime

Language of instruction


Course location

KTH Campus

Number of places

Places are not limited

Planned modular schedule


For course offering

Spring 2025 progtekVT24 programme students

Application code



For course offering

Spring 2025 progtekVT24 programme students


Christian Smith (


No information inserted

Course coordinator

No information inserted


No information inserted
Headings with content from the Course syllabus DD1318 (Spring 2019–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Fundamental computer concepts.

Programming in a modern programming language. Data structures and classes. Problem-solving through division into sub problems. Program structuring. Several smaller programming assignments as well as a larger, individual programming assignment with strong emphasis on structuring and specification of included modules.

Technical computations for the solution of mathematical problems. Two and three-dimensional graphical presentation.

Intended learning outcomes

Aims of the course: After passing the course, the students should be able to:

  • follow the rules in the syntax of the programming language
  • apply and account for rules for good programming style (such as user-friendliness, comments, error handling, structuring, flexibility)
  • discover and correct programming errors
  • modify given programs
  • transfer data between file and program
  • identify the need of and use control structures (conditional statements and loops)
  • divide a larger problem into manageable parts and design functions for these
  • use the data structures that are embedded in the programming language, as well as choose data structures that fit for the current problem
  • use classes as well as design own classes
  • review others' programs
  • handle matrices and use matrix operations
  • use built-in functions from libraries for technical computations and visualisation
  • differentiate and integrate functions numerically
  • solve scalar equations numerically
  • solve large linear equation system
  • use the least squares method
  • solve optimisation problems numerically
  • write and plot functions of complex numbers
  • plot curves
  • plot surfaces
  • make frequency analysis FFT, of vectors/sound and matrices/images

in order to have the possibility to:

  • use programming to solve problems
  • apply the problem solving methodology also in other fields than programming
  • discuss software development with experts
  • utilise the computer as aid for mathematical computations and visualisation in other courses.

The course contributes to satisfy the following aims for the Master of science in engineering programme in Media technology

  • The Media Technology programme will give the student the fundamental knowledge and abilities needed to successfully work with and from an engineering perspective solve technical, organisational, methodological, design-related, and user-related problems within the media field. The programme gives knowledge about the technical as well as multi-disciplinary foundation that media and their technology for production, distribution, and consumption rely upon.
  • The student will also have the ability to plan and and implement qualified assignments within given constraints and considering sustainability.

Literature and preparations

Specific prerequisites

No information inserted

Recommended prerequisites

High school mathematics (scientific program). Some computer experience (the concepts of operating system and file and experience from one computer application, e.g. word processing).


No information inserted


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


  • LAB1 - Computer labs, 1.5 credits, grading scale: P, F
  • LAB2 - Computer test, 1.5 credits, grading scale: P, F
  • LAB3 - Programming Assignments, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LAB4 - Computer labs, 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.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

An approved grade can be raised via renewed examination within a year from the start of the course offering. The end of this period normally coincides with the start of next year's corresponding course offering.


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


Education cycle

First cycle

Add-on studies

DD1320 Applied Computer Science and DD1380 Java Programming for Python Programmers.


Christian Smith (

Supplementary information

Only one of the following courses may be counted in your exam:
DD100N, DD1310-DD1318, DD1331, DD1337, DD1340-DD1343, DD1345, DN1212, HI1024, HI1026, ID1004, ID1018, ID1201, ID1301, SF1511, SF1513, SF1516-SF1519.

In this course, the EECS code of honor applies, see: