Cílem kursu je připravit studenta na tvorbu rozsáhlejšího software dle zadání a prověřit schopnosti týkající se algoritmizace a programování. Během dvou semestrů student vypracuje program podle zadání, který v letním semestru obhajuje před komisí. Komise hodnotí funkčnost programu, uživatelské rozhraní a provedení (strukturu) programu. Komise kladně přihlíží k dodatečným (nezhoubným) schopnostem programu, které nebyly explicitně vyžadovány. Úspěšná obhajoba projektu před komisí je nutnou podmínkou pro udělení zápočtu za předmět „projektový seminář“ v letním semestru.
Během dvou semestrů jsou studentům na seminářích přednášeny partie, které jim mají usnadnit vypracování projektu. Jedná se zejména o přehled metod analýzy problému, návrhu programu a jeho vnitřní architektury a metody tvorby uživatelského rozhraní. Předběžný rozvrh na tento semestr je následující:
| 14.2. | Outrata (programování GUI) |
| 21.2. | Outrata (programování GUI) |
| 28.2. | Outrata (programování GUI) |
| 7.3. | Keprt (programování GUI) |
| 14.3. | Keprt (programování GUI) |
| 21.3. | Keprt (programování GUI) |
| 28.3. | Keprt (programování GUI) |
| 11.4. | Dostál (HIG) |
| 18.4. | Dostál (HIG) |
| 25.4. | Keprt (sockety) |
| 2.5. | Keprt (sockety) |
| 9.5. | rezerva |
| 16.5. | rezerva |
Všichni studenti vypracovávají různé modifikace téhož problému (například různé varianty šachových koncovek). Všichni studenti mají společné požadavky pro udělení zápočtu pro zimní i letní semestr (viz dále). Zadání jsou mezi studenty rozdělena losem na začátku semestru. Každý student tak má přidělenu jednu modifikaci problému a svého zadavatele, který odpovídá za udělení (případně neudělení) zápočtu za zimní semestr a je studentovi během obou semestrů k dispozici jako konzultant.
Studentům byla přidělena následující témata a zadavatelé. Seznam studentů byl vzat ze systému STAG, pokud v seznamu nejste uvedeni, kontaktujte V. Vychodila. Pokud potřebujete kontaktovat zadavatele, preferujte prosím jeho konzultační hodiny.
Jezdcové koncovky -- jezdec zabrání pěšci v dosažení dámy (Krupka)
Věžové koncovky (Vychodil)
Pěšcové koncovky -- král slabší strany brání soupeřovu pěšci v dosažení dámy (Dvořák)
Střelec proti jezdci (Sklenář)
Střelcová koncovka se stejnobarevnými střelci -- střelec a pěšci proti střelci a pěšcům (Dostál)
Dámské koncovky (Outrata)
Střelcová koncovka s různobarevnými střelci -- střelec a pěšci proti střelci a pěšcům (Keprt)
Student musí vypracovat projekt v souladu se zákony a úmluvami platnými v ČR. Vypracování projektu a jeho licenční politika musí zaručit možnost elektronické archivace na katedře informatiky a dalšího (případného) využití v akademické sféře.
Studentům je ponechána volnost co se týče vytvoření programu; program však musí být během obhajoby spustitelný na počítačích dostupných na katedře a student musí dát k dispozici kompletní zdrojové kódy programu. Pokud studenti chtějí použít při programování nějaké nestandardní knihovny či komponenty, smějí tak učinit pouze se souhlasem zadavatele.
Zápočet za zimní semestr uděluje zadavatel poté, co mu student předvede první funkční verzi programu, která splňuje dále uvedené požadavky. Zadavatel studentovi udělí zápočet po posouzení předloženého programu. Zápočet za zimní semestr je možné získat do termínu stanoveného fakultou.
Požadavky na první funkční verzi (zimní semestr):
Zápočet za letní semestr je udělen poté, co je projekt úspěšně obhájen před komisí (viz dále). Před samotnou obhajobou je třeba projekt odevzdat (viz dále).
Požadavky na hotový program (letní semestr):
Hotový projekt musí být odevzdán nejpozději jeden týden před termínem (každé) obhajoby. Projekt se odevzdává v elektronické podobě. Součástí odevzdaného projektu musí být:
Projekt musí být odevzdán jako celek včetně všech zdrojů. Studenti jsou odpovědní za to, že všechny soubory v odevzdaném projektu jsou odevzdány bez přítomnosti nadbytečných nebo patologických podprogramů a dat (virů, trojských koní, programů porušujících soukromí a podobně).
Technické detaily odevzdání projektu budou oznámeny v letním semestru.
Student obhajuje projekt ve vymezeném čase před komisí. Na obhajobu projektu je potřeba dostavit se s časovým předstihem tak, aby si student včas připravil jeho prezentaci. Při obhajobě projektu musí dát student k dispozici programátorskou dokumentaci projektu v tištěné podobě.
Komise hodnotí provedení projektu a dodržení (případně odchýlení se od) požadavků (pro letní semestr, viz výše). Každý student musí být schopen prokázat originalitu projektu a své autorství (například tak, že rozumí použitým algoritmům či architektuře programu, orientuje se ve zdrojových kódech programu, a podobně).
O tom, zda-li je studentovi za projekt udělen zápočet, rozhoduje komise v neveřejném hlasování. Za triviální projekty a plagiáty zápočet nelze získat. Pokud studentovi není udělen zápočet, student se může pokusit o obhajobu v jiném termínu (poté co odstraní nedostatky). Počet opakování obhajoby není omezen.