FDD3370 Scientific Software Development Toolbox 5.0 credits

Mjukvaruutvecklingsverktyg för tekniska beräkningar

Offering and execution

Course offering missing for current semester as well as for previous and coming semesters

Course information

Content and learning outcomes

Course contents *

- Collaborative web-based development with GitHub, Gitlab and Redmine

- To work with ipython

- Tests: Unit tests, regression tests, test driven development

- Continuous integration

- To express dependencies with spouse

- To build portable software with CMake

- Toolbox for adoption of a profile and code optimisation

- To handle complexity with functional programming

- Toolbox for debugging

- Modular programming and development with mixed programming languages

- Documentation of source

- Packaging, distribution and release of software

- Survival guide to work with older code

Distributed version management with Git

Intended learning outcomes *

The aim of the course is to demonstrate to the students the best available tools and methods in modern development of scientific programs and train them in their usage. Main focus is on professional tools for developing and maintaining scientific software in an efficient way. Since most scientific programs are developed in collaborative project, we will discuss tools and work flows that facilitate this process. In addition to this, the tools are invaluable for individual developers.

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites *

No information inserted

Recommended prerequisites

No information inserted


No information inserted


Information can be found on the course website 4 weeks before the start of the course.

Examination and completion

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

Grading scale *

P, F

Examination *

    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 *

    Attendance at lectures, laboratory sessions and project report.

    Opportunity to complete the requirements via supplementary examination

    No information inserted

    Opportunity to raise an approved grade via renewed examination

    No information inserted


    Erwin Laure

    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

    No information inserted

    Offered by

    EECS/Computational Science and Technology

    Main field of study *

    No information inserted

    Education cycle *

    Third cycle

    Add-on studies

    No information inserted

    Postgraduate course

    Postgraduate courses at EECS/Computational Science and Technology