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

FDD3370 Scientific Software Development Toolbox 5.0 credits

Course offerings are missing for current or upcoming semesters.
Headings with content from the Course syllabus FDD3370 (Autumn 2014–) are denoted with an asterisk ( )

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.

Literature and preparations

Specific prerequisites

No information inserted

Recommended prerequisites

No information inserted

Equipment

No information inserted

Literature

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

    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

    This course does not belong to any Main field of study.

    Education cycle

    Third cycle

    Add-on studies

    No information inserted

    Postgraduate course

    Postgraduate courses at EECS/Computational Science and Technology