| Název: | Praktické aspekty vývoje software |
|---|
| Zkratka: | IVS |
|---|
| Ak.rok: | 2011/2012 |
|---|
| Semestr: | letní |
|---|
| Studijní plán: | |
|---|
| Vyučovací jazyk: | čeština |
|---|
| Informace veřejné: | http://www.fit.vutbr.cz/study/courses/IVS/public/ |
|---|
| Kredity: | 5 kreditů |
|---|
| Ukončení: | klasifikovaný zápočet |
|---|
| Výuka: | | hod./sem | přednáška | sem./cvičení | lab. cvičení | poč. cvičení | jiná |
|---|
| Rozsah: | 26 | 0 | 0 | 0 | 26 |
|---|
| | zkouška | testy | cvičení | laboratoře | ostatní |
|---|
| Body: | 0 | 30 | 0 | 0 | 70 |
|---|
|
|---|
| Garant: | Smrž Pavel, doc. RNDr., Ph.D., UPGM |
|---|
| Přednášející: | Dytrych Jaroslav, Ing., UPGM Kouřil Jan, Ing., UPGM Materna Zdeněk, Ing., UPGM Mrnuštík Michal, Ing., UPGM Otrusina Lubomír, Ing., UPGM Polok Lukáš, Ing., UPGM Smrž Pavel, doc. RNDr., Ph.D., UPGM Škoda Petr, Mgr., UPGM Šperka Svatopluk, Ing., UPGM |
| Fakulta: | Fakulta informačních technologií VUT v Brně |
|---|
| Pracoviště: | Ústav počítačové grafiky a multimédií FIT VUT v Brně |
|---|
| Prerekvizity: | |
|---|
| | | 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. | | Anotace: |
|---|
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. | | 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ů. | | Dovednosti, znalosti a kompetence obecné: |
|---|
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ů. | | Osnova přednášek: |
|---|
- Úvod, praktická aplikace unixové filosofie při programování
- TDD (Test-Driven Development) a jeho použití při vývoji v týmu
- Identifikace existujících komponent, využívání knihoven dostupných na
různých platformách, programy pro sestavování
- IDE, sestavení a nasazení programů
- Generování programové dokumentace z kódu, plánování, sdílení dat v týmu
- Systémy pro distribuovanou správu verzí, GIT
- Odhalování chyb, profiling, debugging
- Uživatelská rozhraní
- Půlsemestrální test
- Paradigmata programovacích jazyků
- Přednáška pozvaných expertů z firemní praxe
- Urychlování výpočtů, možnosti paralelizace
- Prezentace výsledků projektů
| | Osnova ostatní - projekty, práce: |
|---|
- Definice testů (17 bodů)
- Individuální projekt zaměřený na git, knihovny, make, debugging, profiling a dokumentaci (23 bodů)
- Projekt zaměřený na spolupráci v týmu (30 bodů)
| | Literatura referenční: |
|---|
- Dustin Boswell, Trevor Foucher: The Art of Readable Code. O'Reily, 2010. http://readable-code.labs.oreilly
- J. Pérez López, L. Ribas i Xirgo: Introduction to Software development. http://ftacademy.org/materials/fsm/7#1
- Scott Chacon Pro Git http://knihy.nic.cz/files/nic/edice/scott_chacon_pro_git.pdf
| | Literatura studijní: |
|---|
- Ken Schwaber, 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
| | Průběžná kontrola studia: |
|---|
- Půlsemestrální písemný test (30 bodů)
- Projekty (celkem 70 bodů)
| | Podmínky zápočtu: |
|---|
Získání alespoň 50 bodů. | | |
|