FDD3370 Mjukvaruutvecklingsverktyg för tekniska beräkningar 5,0 hp
Innehåll och lärandemål
Kursinnehåll
- Collaborative webbaserad utveckling med GitHub, Gitlab och Redmine
- Att arbeta med ipython
- Test: enhetstester, regressionstester, teststyrd utveckling
- Kontinuerlig integration
- Att uttrycka beroenden med make
- Att bygga bärbar programvara med CMake
- Verktygslåda för profilering och kodoptimering
- Att styra komplexitet med funktionell programmering
- Verktygslåda för debugging
- Modulär programmering och och utveckling med blandade programmeringsspråk
- Dokumentation av källkod
- Paketering, fördelning och releasemekanism för programvara
- Överlevnadsguide för att arbeta med äldre kod
Distribuerad versionshantering med Git
Lärandemål
Syftet med kursen är att demonstrera studenterna de bästa tillgängliga verktygen och metoder i modern utveckling av vetenskapliga program samt at träna de i deras användning. Huvudfokus ligger på professionella verktyg för att utveckla och underhålla vetenskaplig programvara på ett effektivt sätt. Eftersom de flesta vetenskapliga program utvecklas i samarbetsprojekt kommer vi att diskutera verktyg och arbetsflöden som underlättar denna process. Utöver detta är de verktyg också oväderliga för enskilda utvecklare.
Kurslitteratur och förberedelser
Särskild behörighet
Rekommenderade förkunskaper
Ett kompilerat språ (t.ex. C, C++ eller Fortran 90) och ett interpreterat språk (t.ex. Python).
Utrustning
Kurslitteratur
Information läggas ut på kurssidan 4 veckor innan kursens början.
Examination och slutförande
När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.
Betygsskala
Examination
Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.
Examinator får medge annan examinationsform vid omexamination av enstaka studenter.
Övriga krav för slutbetyg
Närvaro vid förläsningar, delaktighet i laborationer och projektrapport.
Möjlighet till komplettering
Möjlighet till plussning
Examinator
Etiskt förhållningssätt
- Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
- Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
- Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.
Ytterligare information
Kursrum i Canvas
Ges av
Huvudområde
Utbildningsnivå
Påbyggnad
Övrig information
Se http://sese.nu/scientific-software-development-toolbox/