Informace k předmětu IVS

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

Přednášky 2023/2024:

Streaming přednášek na YouTube

Projekty 2023/2024:

  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ík doporučeno vyzkoušet před půlsemestrálním testem

Přednášky 2022/2023:

Projekty 2022/2023:

  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ík doporučeno vyzkoušet před půlsemestrálním testem

Ostatní materiály

Přednášky 2021/2022:

  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 (demo)
  3. Týmová spolupráce, komunikace, sdílení dat v týmu, základy návrhu a plánování projektu
  4. GIT (systém pro distribuovanou správu verzí)
  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. Programovací jazyky a paradigmata, SWIG a práce se starším kódem
  12. Demonstrační cvičení: Viktor Malík, Petr Stodůlka a Pavel Odvody z firmy Red Hat: Advanced Git, otázky během přednášky můžete pokládat na sli.do
  13. Petr Zemek (Lead Software Engineerat at Avast): Vysoce kvalitní kód.

Projekty 2021/2022:

  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ík doporučeno vyzkoušet před půlsemestrálním testem

Přednášky 2020/2021:

  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. GIT (systém pro distribuovanou správu verzí)
  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. Demonstrační cvičení: Viktor Malík, Petr Stodůlka a Pavel Odvody z firmy Red Hat: Advanced Git
  12. Programovací jazyky a paradigmata, SWIG a práce se starším kódem. Přednáška bude na Youtube
  13. Petr Zemek (Lead Software Engineerat at Avast): Vysoce kvalitní kód. Přednáška je potvrzena a proběhne přes YouTube. Dotazy od studentů během přednášky budou možné přes komentáře na YouTube, potom po přednášce bude k dispozici po celý zbytek dne na Discordu (kanál #ivs-prednaska). Další možnost pro studenty, jak se ho zeptat na cokoliv, je přes https://github.com/s3rvac/AMA/ nebo emailem na petr.zemek@avast.com.

Projekty 2020/2021:

  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ík doporučeno vyzkoušet před půlsemestrálním testem

Přednášky 2019/2020:

  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. GIT (systém pro distribuovanou správu verzí)
  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í (z loňska; aktualizace možná později) (záznam z loňska - 1. část - doporučuji), (b) Knihovny pro tvorbu GUI (aktualizovaná prezentace - loňská je níže)
  8. Debugging, bugtracking, QA a základy profilingu (streamovalo se přes YouTube, odkaz v e-mailu)
  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 (bude streamováno přes YouTube, dotazy přes Discord nebo chat na YouTube)
  10. Urychlování výpočtů, možnosti paralelizace a (pokročilý) profiling (bude streamováno přes YouTube, dotazy přes Discord nebo chat na YouTube)
  11. Demonstrační cvičení: Viktor Malík, Petr Stodůlka a Pavel Odvody z firmy Red Hat: Advanced Git (bude streamováno přes YouTube)
  12. Programovací jazyky a paradigmata, SWIG a práce se starším kódem - přednáška je předtočená v záznamu, přednášející bude v úterý od 10:00 do 12:00 online na Discordu odpovídat na dotazy.
  13. Petr Zemek (Lead Software Engineerat at Avast): Pull requesty, revize kódu a vysoce kvalitní kód. Přednáška je potvrzena a proběhne přes YouTube na tomto odkazu. Dotazy od studentů během přednášky budou možné přes komentáře na YouTube, potom po přednášce bude k dispozici po celý zbytek dne na Discordu (kanál #ivs-streaming). Další možnost pro studenty, jak se ho zeptat na cokoliv, je přes https://github.com/s3rvac/AMA/ nebo emailem na petr.zemek@avast.com.
  14. Projekty 2019/2020:

    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ý i 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ík doporučeno vyzkoušet před půlsemestrálním testem

    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í na tvorbu GUI
      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 + záznam z přednášky s ukázkou 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

      Přednášky 2014/2015:

      Přednášky 2013/2014:

      Přednášky 2012/2013:


      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).