Team projects

Pravidla pro týmové projekty informatických magisterských programů

Studijní plány informatických studijních programů nabízejí studentům od ak.r. 2020/2021 možnost účasti v týmovém projektu. Hlavním smyslem těchto projektů je získání zkušeností s prací v týmu při řešení softwarově orientovaného projektu. V programech Informatika - Softwarové a datové inženýrství, Informatika - Softwarové systémy, Informatika - Vizuální výpočty a vývoj počítačových her je týmový projekt povinný, v programech Informatika - Umělá inteligence, Informatika - Jazykové technologie a počítačová lingvistika je povinně volitelný. Týmový projekt se nabízí ve třech variantách, ze kterých si student vybírá jeden - Softwarový projekt, Výzkumný projekt a Firemní projekt. V Softwarovém projektu tým studentů samostatně realizuje větší softwarové dílo. Výzkumný projekt umožňuje studentovi zapojit se do stávajících výzkumných projektů na fakultě a stát se dočasně členem již existujícího týmu, v rámci něhož realizuje dílčí výzkumně-softwarový úkol. Firemní projekt umožňuje studentovi realizovat týmový softwarový projekt ve firemním prostředí za podmínek srovnatelných s ostatními typy projektů. Hlavním výsledkem všech typů týmových projektů je softwarové dílo splňující požadavky na spolehlivost, obecnou použitelnost, efektivitu a kvalitu zdrojových kódů. Je doporučeno projekt začít během prvního roku navazujícího magisterského studia, nejpozději začátkem druhého roku studia.

Projektová komise

Každý studijní program má ustanovenou vlastní projektovou komisi (dále jen Komise). Kontaktní emailové adresy Komisí jednotlivých studijních programů a garantujících kateder jsou:

Následující text platí pro výše zmíněné programy kromě programu Vizuální výpočty a vývoj počítačových her, který má pravidla vlastní.

Role v projektu

V rámci řešení projekty jsou stanoveny následující role.

Řešitel / řešitelé
Student, nebo studentský tým řešící projekt. V případě, že je řešitelů více je jeden zvolen jako zástupce, dále jen řešitel, pro komunikaci s komisí.
Supervizor
Vědecký nebo pedagogický pracovník nebo doktorand typicky z katedry garantující studentův studijní program, případně jiný člen informatické sekce schválený příslušnou komisí. Průběžně kontroluje práci na projektu, poskytuje členům týmu konzultace a při obhajobě práci na projektu hodnotí. Supervizor projektu může zastávat i roli konzultanta (typicky u výzkumných projektů).
Konzultant
Projekt může mít jako konzultanta libovolného člena informatické sekce, případně (se souhlasem Komise) externí osobu (mimo MFF UK). Konzultant je zodpovědný za odbornou (doménovou) část projektu. V případě Firemního projektu je konzultant povinný a typicky externí.
Oponent
Po odevzdání projektu je Komisí určen oponent, který se podrobně seznámí s odevzdaným projektem a sepíše posudek pro účely obhajoby.

Vlastní řízení projektu vykonává buď supervizor nebo konzultant, v případě Softwarového projektu může řízení vykonávat řešitel.

Záměr projektu

Záměr každého projektu musí být schválen Komisí. Záměr Komisi předkládá řešitel projektu co nejblíže začátku projektu. Záměry lze Komisi zasílat kdykoliv během akademického roku. Předložený záměr Komise posoudí a rozhodne o jeho schválení, neschválení, nebo nutnosti doplnění.

Z projektového záměru musejí být zřejmé cíle a očekávané výsledky projektu, jeho hlavní součásti, základní použité technologie a celková pracnost. Typický rozsah záměru jsou 2-3 strany a je doporučeno vyjít ze vzoru projektového záměru. Záměr musí obsahovat zejména následující:

Součástí záměru může být návrh na pozdější předložení specifikace nebo na jinou formu odevzdání projektu. Případné návrhy musí být řádně vysvětleny.

Konkrétní podoba záměru může být upravena v rámci konkrétního typu projektu, Firemní projekt.

Specifikace projektu

Po schválení projektového záměru je třeba do stanoveného data předložit komisi detailní technickou specifikaci, dále jen specifikaci. Předloženou specifikaci Komise posoudí a rozhodne o jejím schválení, neschválení, nebo nutnosti doplnění. Termín předložení specifikace stanoví komise, typicky do 2 měsíců od schválení záměru projektu. Je vhodné vyjít ze vzoru specifikace projektu.

Specifikace musí obsahovat zejména následující:

Práce na projektu

Řešení projektu probíhá v součinnosti řešitele(ů) se supervizorem a případně konzultantem. Projekt je časově omezen na 9 měsíců od schválení záměru projektu Komisí do jeho odevzdání. V případě nedodržení termínu může projektový tým před uplynutím termínu požádat Komisi o prodloužení s podrobným uvedením důvodů nedodržení termínu, aktuálního stavu projektu a odhadu doby potřebné na dokončení. K žádosti o prodloužení se musí vyjádřit také supervizor projektu. Na prodloužení termínu není nárok.

Pro vlastní vývoj je nutné průběžně používat repository / verzovací nástroj, ze kterého bude při obhajobě zřejmý průběh prací na projektu a podíl jednotlivých členů týmu. Primárně by měl být používán MFF GitLab, lze nicméně použít např. veřejný GitHub.

Odevzdávání projektu

Projekt se odevzdává v elektronické podobě typicky jako odkaz na Git repositář, nebo jeho archiv. Součástí odevzdání musí být zejména:

Součástí odevzdání může být také průvodní dokument, naopak report o průběhu projektu nelze považovat za odevzdání projektu.

V případě, že součástí odevzdávaného projektu nemůže být spustitelné softwarové dílo, musí být způsob prezentace díla součástí záměru a specifikace.

Odevzdané materiály Komise využívá pouze pro účely obhajoby projektu. Komise materiály nikde nezveřejňuje ani je nijak nevyužívá.

Obhajoba projektu

Obhajoba probíhá před Komisí, účastní se jí řešitel(é), supervizor a oponent jmenovaný Komisí. Pokud není Komisí řečeno jinak, tak účast konzultantů není vyžadována. Místo a čas konání určí komise po odevzdání projektu zpravidla v průběhu semestru nebo zkouškového období. Obhajoba je veřejná.

Typická obhajoba začíná zhruba 12 minutovou prezentací řešitele. Následuje vyjádření vedoucího a shrnutí posudku oponenta. Na případné výtky a připomínky může řešitel reagovat. Poslední částí veřejné části obhajoby je veřejná diskuse.

Komise důrazně doporučuje včasné předvedení prezentace vedoucímu projektu za podmínek blízkých prezentaci před komisí.

Zápis zápočtu do studijního informačního systému

V případě obhájení projektu je studentům udělen zápočet za odpovídající předmět dle druhu projekty. V případě uznaného zvýšeného rozsahu práce lze udělit zápočet i za předmět NPRG072 Zvýšený rozsah projektu. V případě neobhájení projektu určí Komise nejpozdější termín odevzdání opravené a doplněné verze. Projekt má možnost jedné opravné obhajoby. Je vhodné formální zápis předmětu provést až před odevzdáním projektu.


Varianty projektů

Následující sekce popisují specifika jednotlivých projektů.

Softwarový projekt (NPRG069)

Jedná se o týmový softwarově orientovaný projekt tří až pěti, výjimečně šesti, studentů. Součástí odevzdání projektu k obhajobě musí být sestavitelné a spustitelné softwarové dílo včetně všech potřebných součástí (knihovny, datové a konfigurační soubory, apod).

Společné projekty studentů různých studijních programů jsou možné. Každý student je v rámci projektu povinen splnit požadavky toho programu, který studuje. V takovém případě studenti zasílají projektový záměr Komisi příslušné tomu studijnímu programu, který je dle jejich názoru v navrhovaném projektu dominantní. Projekt jako celek, zejména jeho schvalování a obhajoba, je posuzován společnou Komisí složenou po dohodě garantů ze zástupců příslušných studijních programů.

Pokud se některý z členů projektového týmu dostatečně neúčastní prací na projektu nebo neplní pokyny supervizora, může supervizor navrhnout Komisi jeho vyloučení z projektu. Komise v případě vyloučení studenta z projektového týmu může na návrh supervizora přizpůsobit podmínky projektu vzhledem k redukovanému týmu.

Výzkumný projekt (NPRG070)

Participace studenta, případně i několika studentů, na typicky dlouhodobějším výzkumném projektu garantující katedry (případně se souhlasem Komise i na softwarově orientovaném projektu jiné katedry inf. sekce). Student pracuje na zadaném dílčím úkolu v rámci výzkumného projektu a úzce spolupracuje s dalšími řešiteli, typicky členové výzkumné skupiny/katedry a doktorandi. Softwarovým výstupem Výzkumného projektu se typicky předpokládá nástroj (resp. sada nástrojů propojená do pipeline) pro experimenty související s doménou výzkumu a jeho aplikace (realizace experimentů).

Obhajoba projektu

Kromě obhajoby projektu se očekává i využití dosažených výsledků pro publikační účely, například jako součást článku, či softwarové řešení použitelné pro výzkum. V rámci obhajoby by měl student toto očekávané využití představit.

Firemní projekt (NPRG071)

Účast studenta na týmovém softwarovém projektu v prostředí firmy. Preferované jsou firmy zapojené do Partnerského programu MFF. Se souhlasem Komise lze firemní projekt vypracovat i ve spolupráci s jinou firmou. V tom případě je povinností studenta dodat Komisi podrobnější informace o firmě, projektu, do kterého by měl být student zapojen, a konzultantovi a jeho roli ve firmě.

Student se v rámci firmy zúčastní práce na rozsáhlejším softwarovém díle, kde bude mít na starosti jasně vymezenou část s předem specifikovanými výsledky a výstupy. Zodpovědnost za domluvu s firmou a za přípravu projektového záměru je na straně studenta.

Záměr

Projektový záměr předkládaný Komisi ke schválení musí u Firemního projektu navíc:

  • firemního konzultanta, jeho roli ve firmě a kontakty na něj (nesmí být ve střetu zájmů)
  • věcné zadání schválené firemním konzultantem
  • firemní kontext, rozsah, roli studenta, způsob zapojení do týmu ve firmě
  • formu odevzdání projektu a jeho prezentace k obhajobě
  • souhlas firmy s odevzdáním práce a její prezentací u obhajoby

Nelze zpětně uznat již uskutečněné ad-hoc projekty / stáže / práci ve firmě.

Není nezbytně nutné odevzdat kompletní spustitelný produkt, to v řadě případů není technicky nebo organizačně možné. Student ve spolupráci s firmou ale musí umožnit supervizorovi a oponentovi projektu detailní seznámení se s funkčností studentem vytvořeného díla, všemi jím vytvořenými součástmi a funkčnost při obhajobě demonstrovat.

Odevzdávání projektu

Součástí odevzdání projektu musí být kompletní zdrojový kód projektu a úplná dokumentace v rozsahu stanovené v komisí schváleném záměru firemního projektu.

Odevzdané materiály Komise využívá pouze pro účely obhajoby projektu. Komise materiály nikde nezveřejňuje ani je nijak nevyužívá.


Specifika studijních programů

Kromě společných obecných požadavků mají jednotlivé studijní programy na týmové projekty některé specifické požadavky.

Informatika - Softwarové a datové inženýrství

Softwarový nebo převážně softwarově orientovaný projekt zpracovávaný dle zásad softwarového inženýrství. Za část projektu je možné považovat aplikaci data-science, metod strojového učení, HCI, zpracování big data (včetně multimedií), a další aplikace.

Informatika - Softwarové systémy

Preferují se projekty z oblasti systémového programování, programovacích jazyků, softwarových nástrojů, softwarových architektur a podobně - tedy projekty, které se nějakou svou částí zabývají fungováním software a softwarových systémů (oproti projektům, kde je softwarová část standardní a přínos leží v její aplikaci).

Informatika - Vizuální výpočty a vývoj počítačových her

Viz vlastní pravidla tohoto programu.

Informatika - Umělá inteligence

Projekty zaměřené na umělou inteligenci a její aplikace, včetně projektů robotických. Příkladem mohou být projekty z oblasti automatického plánování, strojového učení, reprezentace znalostí, zpracování neurčité informace, robotických soutěží apod.

Informatika - Jazykové technologie a počítačová lingvistika

Projekty zaměřené na jazykové technologie a jejich využití zejména při zpracování přirozeného jazyka v jeho psané i mluvené formě, např. v překladových a dialogových systémech, pro extrakci informací z textu, mluvené řeči, případně z obrázků či videa. Projekty typicky využívají metod strojového učení či hybridních postupů kombinujících strojové učení a symbolické metody. Obdobné technologie lze v rámci projektů využít obecně pro zpracování velkého množství nestrukturovaných dat.