Detail předmětu

Praktické aspekty vývoje software

IVS Ak. rok 2017/2018 letní semestr 5 kreditů

Aktuální akademický rok

Základní koncepty použití unixové filosofie při vlastním programování, role testování kódu a vývoj řízený testy, vytváření komponentově orientovaného kódu, odhalování výkonnostních problémů, distribuovaná správa verzí, možnosti paralelizace výpočtů, zpracování velkých objemů dat, praktické zkušenosti vývojářů z firem.

Garant předmětu

Jazyk výuky

česky, anglicky

Zakončení

klasifikovaný zápočet (písemná)

Rozsah

  • 26 hod. přednášky
  • 26 hod. projekty

Bodové hodnocení

  • 30 bodů půlsemestrální test (testová část)
  • 70 bodů projekty

Zajišťuje ústav

Získané dovednosti, znalosti a kompetence z předmětu

Studenti se seznámí s moderními přístupy k vývoji software, po úspěšné zvládnutí předmětu se budou lépe schopni začlenit do týmů pracujících nad společným kódem, budou moci demonstrovat znalosti nástrojů usnadňujících vznik výkonného a správně dokumentovaného kódu, stejně jako aplikací, které budou odpovídat potřebám koncových uživatelů.

Studenti se naučí řešit projekty. Zdokonalí se v praktickém užívání programátorských nástrojů, které se používají v reálném prostředí softwarových týmů.

Cíle předmětu

Poznat praktické aspekty vývoje programového vybavení v týmu, porozumět principům aplikací, které usnadňují vytváření a dokumentování projektů skládajících se z komponent, seznámit se možnostmi snadného prototypování grafických uživatelských rozhraní, pochopit předpoklady vzniku úspěšného svobodného software a měření upotřebitelnosti.

Doporučené prerekvizity

Požadované prerekvizitní znalosti a dovednosti

Nejsou žádné prerekvizity.

Literatura studijní

  • Ken Schwaber and Mike Beedle Agile Software Development with Scrum Addision-Wesley, 2002
  • S. A. Babkin: The Practice of Parallel Programming. Create Space, 2010. https://www.createspace.com/3438465

Literatura referenční

Osnova přednášek

  1. Úvod, praktická pravidla pro psaní udržovatelného kódu, refaktorizace a efektivní využití IDE
  2. Testování software, TDD (Test-Driven Development) a jeho použití při vývoji v týmu
  3. Týmová spolupráce, komunikace, sdílení dat v týmu, základy návrhu a plánování projektu
  4. Systémy pro distribuovanou správu verzí, GIT
  5. Typy dokumentace, generování programové dokumentace z kódu, identifikace existujících komponent a využívání knihoven dostupných na různých platformách
  6. Sestavení programů, Make, Cmake a Qmake
  7. Uživatelská rozhraní
  8. Debugging, bugtracking a QA
  9. Půlsemestrální test
  10. Nasazení programů
  11. Urychlování výpočtů, možnosti paralelizace a profiling
  12. Programovací jazyky a paradigmata, SWIG a práce se starším kódem
  13. Přednáška pozvaných expertů z firemní praxe

Průběžná kontrola studia

Získání alespoň 50 bodů.

Kontrolovaná výuka

  • Půlsemestrální písemný test (30 bodů)
  • Projekty (celkem 70 bodů)

Zařazení předmětu ve studijních plánech

  • Program IT-BC-3, obor BIT, 1. ročník, volitelný
Nahoru