Projekt I. (ÚINF/PRO1a/15)

Vítame vás na stránkach druháckeho predmetu PRO1a.

Tento predmej je spirituálny nástupca predmetov PAZ1a a PAZ1c.

Hlavných cieľom predmetu je simulovať reálny vývoj väčšieho softvérového projektu v rozličných fázach vývoja. Študenti by sa mali naučiť pracovať ako softvérový vývojár vo „väčsom“ tíme vedenom ostrieľaným senior vývojárom, resp. tech lídom.

Projekty

V závislosti od počtu prihlásených študentov budú zverejnené zadania niekoľkých projektov od rôznych vyučujúcich – vedúcich projektov. Projekty sú vždy programátorského rázu. Študenti sa sami rovnomerne rozdelia do tímov na prvej vyučovacej hodine – jeden tím na jeden projekt.

Na rozdiel od predmetu PAZ1c sú tieto projekty výrazne odlišné spôsobom práce:

  • Projektové zadania sú dané vedúcim projektu. (v PAZ1c: študenti si vymýšlali zadanie)
  • Zadania môžu byť zdedené z minulého roka. Teda študenti môžu pracovať na už rozrobenom projekte. (v PAZ1c: zadania boli vždy nové)
  • Projekty sú riešené 4-6 člennými (+ líder) tímami. (v PAZ1c: študenti pracovali vo dvojiciach)
  • Práca na projekte má byť priebežná počas semestra. (v PAZ1c: projekty sa reálne riešili posledný mesiac)
  • Na konci semestra nie je žiadna skúška ani obhajoba. (v PAZ1c: študenti mali 1-2 obhajoby)
  • Vedúci projektu má priebežne interagovať so študentami. Slúži ako tzv. tím líder. (v PAZ1c: vyučujúci nezasahoval do priebehu prác, hodnotil iba výsledok)
  • Dôraz je na správne používanie gitu. (branches, rebase/merge, pull/merge requests, code reviews, …). (v PAZ1c: git bol voliteľný)
  • Vedúci hodnotí najmä prístup študenta k priebežných úlohám a code review. Vedúcim požadované opravy počas code review nutne nezhoršujú hodnotenie študenta (v rozumnej miere). (v PAZ1c: hodnotený bol hotový projekt ako celok)

Cieľom tohto predmetu nie je, aby študent vypracoval a obhájil iba „ďalšiu“ semestrálku. To bolo cieľom PAZ1c. Teraz je čas sa naučiť správne kooperovať vo vačšom tíme, povedzme 4-6 ľudí. Toto je typická veľkosť jedného tímu v reálnych projektoch pracujúcich na menšej aplikácií, resp. na väčších úzko prepojených komponentoch v masívnych aplikáciach.
Tieto projekty slúžia ako podporný nástroj a spoločná „téma“ na diskusiu a kooperáciu v rámci tímu.
Od tímu sa nemusí nutne očakávať úplné dokončenie projektu. Väčšie projekty sa tiahnu roky a ročníky si ich dedia, pričom každý ročník tento projekt posunie trocha ďalej.

Je nutné podotknúť, že projekty nemusia a pravdepodobne nebudú následovať prednášky.
Na projekte môžu byť použité technológie a programovacie jazyky, ktoré nie sú zahrnuté v prednáškach.
Prednášky majú najmä informatívny charakter.
Ich cieľom je ukázať výcuc niektorých typických moderných technológií a postupov, ktoré sa očakávajú od takmer každého softvérového vývojára. V tejto branži neexistujú jednotné, alebo univerzálne technológie a postupy. Každá odprednášaná téma má mnoho alternatív, ktoré môžu byť v závislosti od prípadu vhodnejšie ako to, čo je odprednášané. Nie je v možnostiach VŠ štúdia toto všetko obsiahnuť. Kvalitný programátor má byť versatílny – má byť schopný vybrať si najvhodnejší nástroj a rýchlo sa ho naučiť.

Hodnotenie

Hodnotenie (známka) sa získava priebežnou prácou na skupinovom projekte, ktorého zadanie určí vedúci projektu – cvičiaci. Hodnotenie je v réžii vedúceho projektu a každý projekt si určí vlastné pravidlá.

Zadanie určí vedúci projektu.

Účasť na výučbe

  • Účasť na 1. prednáške 12.2.2025 o 15:30 je povinná. Ospravedlnené budú iba vážne dôvody.
  • Účasť na ostatných prednáškach je nepovinná.
  • Účasť na projektových stretnutiach je povinná. Po priradení projektov budú stretnutia (zvyčajne online) dohodnuté s vedúcim projektu. Každý vedúci si so svojim tímom dohodne vzájomne vyhovujúci termín. Ak sa stretnutia nemôžete zo seriózneho dôvodu zúčastniť, dajte vedieť vedúcemu vášho projektu. Opakovaná neúčasť može a bude dôvodom na udelenie hodnotenia FX.