Detail předmětu

Praktické aspekty vývoje software

FIT-IVSAk. rok: 2013/2014

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.

Plánované vzdělávací činnosti a výukové metody

Výuka předmětu je realizována formou: Přednáška - 2 vyučovací hodiny týdně, Projekty - 1 vyučovací hodina týdně.

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, motivace, základní pojmy, organizace předmětu
  2. Praktická aplikace unixové filosofie při programování
  3. TDD (Test-Driven Development) a jeho použití při vývoji v týmu
  4. Odhalování chyb, profiling, debugging
  5. Identifikace existujících komponent, využívání knihoven dostupných na různých platformách, programy pro sestavování jako samodokumentující prostředí
  6. Systémy pro distribuovanou správu verzí, GIT
  7. Nástroje pro vytváření funkčních maket
  8. Měření upotřebitelnosti, zážitky uživatelů
  9. Urychlování výpočtů, možnosti paralelizace
  10. Generování programové dokumentace z kódu
  11. Využívání alternativních paradigmat programování při zpracování velkých dat
  12. Přednáška pozvaných expertů z firemní praxe
  13. Prezentace výsledků projektů

Projekt

26 hod., nepovinná

Vyučující / Lektor