Informace k předmětu IVS

Oficiální stránka předmětu pro aktuální rok: https://www.fit.vutbr.cz/study/courses/IVS/

Oficiální stránka předmětu pro rok 2018/2019: http://www.fit.vutbr.cz/study/course-l.php?id=12812

Přednášky 2018/2019:

  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 (pptx s animacemi)
  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. (a) Sestavení programů, Make, (b) Cmake a Qmake
  7. (a) Uživatelská rozhraní, (b) Knihovny pro tvorbu GUI
  8. Debugging, bugtracking, QA a základy profilingu
  9. Nasazení programů (vč. tvorby debianního balíku), tvorba instalátoru s využitím CPack (pro Linux i Windows) a tvorba instalátoru pro Windows
  10. Urychlování výpočtů, možnosti paralelizace a (pokročilý) profiling
  11. Půlsemestrální zkouška (ve středu 10. 4. 2018 od 12:00 - pokrývá prvních 8. přednášek)
  12. Demonstrační cvičení na Urychlování výpočtů, možnosti paralelizace, Profiling (příklady) a nasazení programů
  13. Programovací jazyky a paradigmata, SWIG a práce se starším kódem
  14. Host z praxe: Michał Weiser (Experience Design Lead @ Novanta Inc.)
    BIO: Bioinformatik VUT, mix softwarového architekta, vývojáře, UX designera se zálibou v human computer interaction a více než šesti lety zkušeností s vývojem IT řešení ve firmách jako Oracle, NetSuite, OpenAir a GoodData. Momentálně pracující jako leader vývoje medicinských zařízení pro přenos videa na chirurgických sálech a také CTO pro fin-tech startup. Life hacker, fascinovaný grafikou, psychologií, který se zálibou optimalizuje vše od architektury cloudových systémů po nejmenší detaily osobního života. Ve volném čase neustále v pohybu, s knihou v ruce nebo audiobookem v uších.
    Přednáška na téma:
    To, co Vám ve škole zapomněli říct
    Abstrakt: Během studia trávíte většinu času programováním a studiem teorie informatiky, s magisterským titulem máte pocit, že o IT světě už víte úplně vše. V praxi zjistíte, že tyto ve škole naučené věci jsou jen součástí mnohem většího balíku zkušeností, které Vás dostanou do programátorského nebe. Pojďme se podívat, co vše budete potřebovat a jak se na svoji kariérní cestu můžete připravit. Nezapomeňte si psát, čeká Vás spousta tipů.
  15. V 1. a 2. týdnu zkouškového období prezentace výsledků projektů (obhajoby).
  16. Projekty 2018/2019:

    1. Definice testů (18 bodů)
      • Zadání
      • Tento projekt je individuální - vypracovává jej každý sám a případná spolupráce se trestá. V případě odhaleného plagiátorství je vyloučeno získat body za projekt a případné bonusové body pro zlepšení známky. Rovněž může být dán podnět k disciplinární komisi.
      • Nezveřejňujte svoje řešení (Github, Pastebin, Facebook, ...)! - vede to na nepříjemnosti, kdy je někdo využije a pak strávíte hodiny čekáním u místnosti, ve které budete prokazovat svoje autorství (předminulý rok tam čekaly desítky studentů).
    2. Projekt zaměřený na spolupráci v týmu (52 bodů) - obhajoba v 1. týdnu zkouškového období
      • Projekt bude oficiálně zadán na 3. přednášce. Důrazně se doporučuje na něm začít pracovat až po 1. přednášce a shlédnutí 3. přednášky (u té lze využít i záznam z minulého roku).
    3. Úkoly k procvičení - zejména pro 1. ročníky doporučeno vyzkoušet před půlsemestrálním testem

    Přednášky 2017/2018:

    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 (pptx s animacemi)
    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 (pro tisk - bez animací)
    6. (a) Sestavení programů, Make, (b) Cmake a Qmake
    7. (a) Uživatelská rozhraní, (b) Knihovny pro tvorbu GUI
    8. Debugging, bugtracking, QA a základy profilingu
    9. Půlsemestrální zkouška (mimo přednášku) a (omlouváme se za posun, ale hned po Velikonocích raději ne)
      Nasazení programů (vč. tvorby debianního balíku), tvorba instalátoru s využitím CPack (pro Linux i Windows) a tvorba instalátoru pro Windows
    10. Demonstrační cvičení letos odpadne kvůli státnímu svátku v posledním týdnu výuky - lze využít záznam z loňského roku. V případě většího zájmu studentů jej zrealizujeme v náhradním termínu mimo přednášky.
    11. Půlsemestrální zkouška (v pondělí 9. 4. 2018 od 20:00 v D105 - pokrývá prvních 8. přednášek) a
      Urychlování výpočtů, možnosti paralelizace a (pokročilý) profiling
    12. Programovací jazyky a paradigmata, SWIG a práce se starším kódem
    13. Přednáška pozvaného experta z firemní praxe
      • Michał Weiser
        BIO: Senior Interaction Design Engineer @ Oracle NetSuite
        Specifický mix front-end vývojáře a UX designera se zálibou v human computer interaction a více než pěti lety zkušeností s vývojem cloudových řešení ve firmách jako Oracle, NetSuite, OpenAir a GoodData. Momentálně pracující na Design Systemu pro produkt NetSuite. Life hacker, fascinovaný grafikou, psychologií, který se zálibou optimalizuje vše od architektury cloudových systémů po nejmenší detaily osobního života. Ve volném čase neustále v pohybu na kole, lyžích, bruslích, koloběžce...
      • Přednáška na téma: Programátor vs. vývojář
        Abstrakt:
        Během studia trávíte většinu času programováním a studiem teorie informatiky. Když pak přijde na praxi, všechny tyto znalosti budou potřeba. Ale zjistíte, že potřebujete mnohem více. Pojďme se podívat, jak vypadá svět velkých firem a co v něm budete potřebovat.
    14. V 1. týdnu zkouškového období prezentace výsledků projektů (obhajoby)

    Projekty 2017/2018:

    1. Definice testů (18 bodů)
      • Zadání
      • Tento projekt je individuální - vypracovává jej každý sám a případná spolupráce se trestá. V případě odhaleného plagiátorství je vyloučeno získat body za projekt a případné bonusové body pro zlepšení známky. Rovněž může být dán podnět k disciplinární komisi.
      • Nezveřejňujte svoje řešení (Github, Pastebin, Facebook, ...)! - vede to na nepříjemnosti, kdy je někdo využije a pak strávíte hodiny čekáním u místnosti, ve které budete prokazovat svoje autorství (minulý rok tam čekaly desítky studentů).
    2. Projekt zaměřený na spolupráci v týmu (52 bodů) - obhajoba v 1. týdnu zkouškového období
      • Projekt bude oficiálně zadán na 3. přednášce. Důrazně se doporučuje na něm začít pracovat až po 1. přednášce a shlédnutí 3. přednášky (u té lze využít i záznam z minulého roku).
    3. Úkoly k procvičení - zejména pro 1. ročníky doporučeno vyzkoušet před půlsemestrálním testem

    Přednášky 2016/2017:

    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 (pro tisk - méně animací)
    4. Systémy pro distribuovanou správu verzí, GIT (pptx s animacemi)
    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. (a) Sestavení programů, Make, (b) Cmake a Qmake
    7. (a) Uživatelská rozhraní, (b) Knihovny pro tvorbu GUI
    8. Debugging, bugtracking, QA a základy profilingu
    9. Půlsemestrální test a demonstrační cvičení
    10. Nasazení programů (vč. tvorby debianního balíku), tvorba instalátoru s využitím CPack (pro Linux i Windows) a tvorba instalátoru pro Windows
    11. Urychlování výpočtů, možnosti paralelizace a (pokročilý) 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
    14. V 1. týdnu zkouškového období prezentace výsledků projektů (obhajoby)

    Projekty 2016/2017:

    1. Definice testů (18 bodů)
    2. Projekt zaměřený na spolupráci v týmu (52 bodů) - obhajoba v 1. týdnu zkouškového období
    3. Úkoly k procvičení - zejména pro 1. ročníky doporučeno vyzkoušet před půlsemestrálním testem

    Přednášky 2015/2016:

    1. Úvod a praktická aplikace unixové filosofie při programování
    2. Testování softwaru
    3. Identifikace existujících komponent, využívání knihoven dostupných na různých platformách, programy pro sestavování, příklady: make, cmake, configure, SWIG, GTK - Glade
    4. IDE, sestavení a nasazení programů, příklady: projekty v installjammeru, Zdrojové soubory programu (k tvorbě balíku či instalátoru; Qt4; Java; Python) Komplet balík
    5. Generování programové dokumentace z kódu, plánování, sdílení dat v týmu (pro tisk bez animací)
      text k prezentaci
      ukázkový applet s vygenerovanou dokumentací
      video ke generování dokumentace (stručná ukázka místo té, co z technických důvodů nebyla na přednášce)
      video k MS Project
    6. Systémy pro distribuovanou správu verzí, GIT
      – Podrobnější přednáška z r. 2010 od M. Schmidta
      – The Git Community Book
      – Learn Git in 20 Minutes (video tutorial)
      – Git screencast (video s ukázkou založení repozitáře a práce s ním)
      – Steve Bennett – 10 things I hate about Git
    7. Odhalování chyb, profiling, debugging (2014/2015)
    8. Uživatelská rozhraní
    9. Půlsemestrální test (detaily k hodnocení a pokyny viz popis termínu v IS FIT)
    10. Programovací jazyky a paradigmata (příklady) (2014/2015)
    11. Urychlování výpočtů, možnosti paralelizace (příklady) (2014/2015)
    12. Přednáška pozvaných expertů z firemní praxe (pravděpodobně nebude povolen streaming ani záznam)
    13. Prezentace výsledků projektů (výběr ze souborů se zkušenostmi 2014/2015 a 2015/2016)

    Projekty 2015/2016:

    1. Definice testů a profiling (20 bodů) – zadání, zdrojový kód, deadline 29. března 2016 (dotazy k zadání pište primárně do fóra v IS FIT, projekt bude hodnotit RNDr. Petr Škoda)
    2. Projekt zaměřený na spolupráci v týmu (50 bodů)
    3. Úkoly k procvičení - zejména pro 1. ročníky doporučeno vyzkoušet před půlsemestrálním testem

    ivs.fit.vutbr.cz

    Server ivs.fit.vutbr.cz slouží k výuce předmětu IVS (Praktické aspekty vývoje software) na FIT VUT v Brně. Po zadání projektů bude sloužit k testování projektů a bude na něm možné vytvořit repozitáře pro týmové projekty.

    Přihlašovací údaje budou zapsaným studentům zaslány e-mailem začátkem 2. týdne semestru. Máte-li přihlašovací údaje a nemůžete se připojit, pište na dytrych@fit.vutbr.cz (pro rychlejší diagnostiku problému prosím zašlete IP adresu, ze které se připojujete).