Detail předmětu

Praktické aspekty vývoje software

FIT-IVSAk. rok: 2015/2016

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.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení 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ů.

Prerekvizity

Nejsou žádné prerekvizity.

Způsob a kritéria hodnocení

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

Osnovy výuky

Osnova přednášek:
  1. Úvod, praktická aplikace unixové filosofie při programování
  2. TDD (Test-Driven Development) a jeho použití při vývoji v týmu
  3. Identifikace existujících komponent, využívání knihoven dostupných na různých platformách, programy pro sestavování
  4. IDE, sestavení a nasazení programů
  5. Generování programové dokumentace z kódu, plánování, sdílení dat v týmu
  6. Systémy pro distribuovanou správu verzí, GIT
  7. Odhalování chyb, profiling, debugging
  8. Uživatelská rozhraní
  9. Půlsemestrální test
  10. Paradigmata programovacích jazyků
  11. Přednáška pozvaných expertů z firemní praxe
  12. Urychlování výpočtů, možnosti paralelizace
  13. Prezentace výsledků projektů

Osnova ostatní - projekty, práce:
  1. Definice testů (17 bodů)
  2. Individuální projekt zaměřený na git, knihovny, make, debugging, profiling a dokumentaci (23 bodů)
  3. Projekt zaměřený na spolupráci v týmu (30 bodů)

Učební cíle

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.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

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

Prerekvizity a korekvizity

Základní literatura


Doporučená literatura

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

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

  • Program IT-BC-3 bakalářský

    obor BIT , 1. ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvod, praktická aplikace unixové filosofie při programování
  2. TDD (Test-Driven Development) a jeho použití při vývoji v týmu
  3. Identifikace existujících komponent, využívání knihoven dostupných na různých platformách, programy pro sestavování
  4. IDE, sestavení a nasazení programů
  5. Generování programové dokumentace z kódu, plánování, sdílení dat v týmu
  6. Systémy pro distribuovanou správu verzí, GIT
  7. Odhalování chyb, profiling, debugging
  8. Uživatelská rozhraní
  9. Půlsemestrální test
  10. Paradigmata programovacích jazyků
  11. Přednáška pozvaných expertů z firemní praxe
  12. Urychlování výpočtů, možnosti paralelizace
  13. Prezentace výsledků projektů

Projekt

26 hod., nepovinná

Vyučující / Lektor