Programovací projekt Mgr. Jakub Večeřa

Cílem předmětu je poskytnout a rozvíjet dovednosti, které souvisí se zapojením do již běžícího softwarového projektu. Studenti by si v rámci tohoto kurzu měli vyzkoušet zejména spolupráci s dalšími programátory, navázání na předchozí práci jiných programátoru a také práci s reálnou infrastrukturou pro správu projektů.

Hlavní náplní předmětu je zpracování projektu, který představuje novou ucelenou funkcionalitu, která je součástí již existujícího softwarového celku.

Charakter projektu

U vlastního tématu, by se mělo jednat o běžící projekt, na kterém pracuje více osob.
U projektů komerčního charakteru je forma spolupráce nechána na individuální domluvě.
U žádného projektu by se nemělo jednat o opravy chyb, lokalizaci, pouhé úpravy konfigurace.

Postup při řešení projektu

  1. Student či studentka si zvolí téma a svou volbu oznámí vedoucímu semináře na email jakub.vecera01@upol.cz.
  2. Pokud se nejedná o vlastní téma, dostane student či studentka kontakt na osobu, mentora, která mu nebo jí, poskytnete podrobnější vysvětlení a případně další informace.
  3. V případě, že bude zvolené téma v pořádku (je stále volné, odpovídá povaze předmětu), vypracuje student či studentka návrh projektu. Návrh projektu by měl být text v rozsahu cca půl strany A4, ze kterého bude patrné, co bude předmětem projektu.
  4. Po schválení projektu vedoucím semináře, se může student či studentka pustit do vypracování projektu. Nejzazší termín na vypracování projektu je do konce zimního semestru. V případě spolupráce s firmami je vhodnější domluvit dřívější termín.
  5. Zápočet bude udělen
    • po předložení závěrečné zprávy, cca půl strany A4 shrnující práci na projektu,
    • a doložení, že projekt byl skutečně zpracován, např. odkazem na repozitář, předvedením programu.

Témata projektů

Seznam témat se připravuje. Jako inspirace slouží následující témata z předchozích ročníků.

  1. Rozšíření MolMeDB (více projektů, open-source, UPOL).
  2. Rozšíření NextCloud (více projektů, open-source, UPOL):
    • Plugin do NextCloud, pro usnadnění zakládání adresářů pro odevzdávání závěrečných prací.
  3. Rozšíření bakalářské práce Upolníček:
    • Implementace automatického testování úkolů a nějaké rozumné zpracování výsledků.
  4. Plugin do nějakého vývojového prostředí pro systém Upolníček, který by umožňoval odevzdávat úkoly přímo z IDE.
  5. Projekty v C#
    1. Unity - více témat. Contribution guide: https://docs.unity3d.com/2020.1/Documentation/Manual/ContributingToUnity.html
    2. AvaloniaUI - více témat. [https://github.com/AvaloniaUI/Avalonia]
    3. Testovací framework XUnit - více témat
    4. Testovací framework NUnit - více témat
      Jeden z příkladů: Sjednocení kódu pro konverzi typů [https://github.com/nunit/nunit/issues/3219]
    5. MoneyFox (sestavování rozpočtu) - Implementace dynamických kategorií k filtrům [https://github.com/MoneyFox/MoneyFox/issues/2741]
    6. TerraFX - Implementace XAudio2 nebo WASAPI pro audio přehrávač na Windows [https://github.com/terrafx/terrafx/issues/108]
    7. TerraFX - Implementace systému pro kameru [https://github.com/terrafx/terrafx/issues/105]
  6. Rozšíření Pandoc - Způsob zadání pozice caption ve výstupu LaTeX. [https://github.com/jgm/pandoc/issues/5116]
  7. Rozšíření Linear - synchronizace github issues. [https://github.com/linear/linear/issues/227]
  8. Rozšíření Godot Engine:
  9. Při projevení zájmu - vymyšlení tématu v Common Lispu.
  10. Doplňky do PDF prezentačního nástroje Pympress [https://github.com/Cimbali/pympress]
    • Pamatování kreslení (highlight) napříč slajdy a možnost jeho uložení a načtení do/ze souboru
    • Schovávání a interaktivní změna velikosti softwarového laseru
    • Volně editovatelné anotace (poznámky)

Je možné si zvolit vlastní téma.


Stránka byla převzata od Dr. Krajči a Mgr. Vyjídáčka

Správce stránky: Jakub Večeřa