Table of Contents

Semestrální práce

Tento úkol se odevzdává do BRUTE a budeme ho bodovat manuálně.

Přehled studentů a vybraných témat

Pro náhled do tabulky vybraných témat je nutné použít účet FEL (xxxxxxxx@fel.cvut.cz). Soukromý Gmail účet není akceptován!

Zadání

Zadání je stanoveno na základě domluvy studenta s cvičícím. Součástí zadání jsou i stručné požadavky na funkcionalitu programu.

Zadání je nutné domluvit s cvičícím co nejdřív, nejpozději do konce sedmého výukového týdne semestru. V případě odevzdání neschválené práce nemusí být tato akceptována, případně může být ohodnocena pouze minimem bodů.

Pro semestrální práci si lze vybrat jednu ze dvou možností:

Odevzdání, termín a hodnocení

Semestrální práce se odevzdává přes BRUTE a email cvičícímu. Program a dokumentace, které odevzdáváte, by měly být všechny v BRUTE, email pak slouží k notifikaci učitele, že jste připraveni semestrálku odevzdat. Doporučujeme semestrální práci průběžně ukládat na fakultní GitLab, do emailu pak přidejte i odkaz na něj včetně verze (commit hash nebo tag) semestrálky, kterou odevzdáváte. Předpokládá se, že s prací odevzdáte také testovací vstupy. Vzhledem k jejich velikosti je předpoklad je ponechat na GitLabu a do BRUTE odevzdat pouze zdrojový kód a dokumentaci.

Termín odevzdání je konec výukového období, tj. neděle 11. ledna 2026. Odevzdání je možné i později, ale již bude aplikována penalizace ve výšce poloviny bodů z možného bodového zisku.

Semestrální práce musí být odevzdána minimálně týden před termínem zkoušky, kterého se budete chtít účastnit.
Pokud máte zájem o předtermín, je nutné semestrální práci odevzdat do 14. prosince 2025. Nezapomeňte o svém záměru informovat cvičícího.

Za semestrální práci je možné získat až 20 bodů. Požadované minimum k zápočtu je 10 bodů.

Obecné požadavky na semestrální práci

Semestrální práce se skládá ze dvou částí - programu a dokumentace. Obe části jsou hodnoceny stejným počtem 10 bodů (dohromady 20 bodů).

Program (10 bodů) musí zahrnovat následující položky:

Komunikace s programem probíhá zásadně přes terminál. Pro výpisy lze využít základní sadu znaků ASCII a případně základní barvy.

Semestrální práce prezentuje vaše znalosti a dovednosti, které jste získali v průběhu semestru. Proto lze využívat pouze takové externí knihovny, které jsou v rámci semestru probírány - viz následující seznam. Využít lze také odpovídající knihovny jazyka C (místo <cstdio> odpovídající knihovnu stdio.h apod.). Pokud budete vytvářet jednotkové testy, můžete použít knihovnu “catch.hpp”.

<algorithm>           <array>               <atomic>              <chrono>
<condition_variable>  <climits>             <cmath>               <csignal>
<cstdarg>             <cstddef>             <cstdio>              <cstdlib>
<cstring>             <ctime>               <deque>               <exception>
<forward_list>        <fstream>             <functional>          <future>
<iomanip>             <iostream>            <iterator>            <list>
<map>                 <memory>              <mutex>               <queue>
<random>              <set>                 <stdexcept>           <string>
<sstream>             <thread>              <tuple>               <type_info>
<utility>             <vector>          

Semestrální práce, která bude obsahovat jiné než povolené knihovny nebude akceptována a je automaticky hodnocena 0 body.

Dokumentace (10 bodů) k semestrální práci má pevně danou strukturu:

Povolené formáty pro dokumentaci k semestrálce jsou: textový dokument (formát TXT), Markdown (README.md) nebo rozumné PDF.

Dokumentaci ponechte kvůli přehlednosti v základním adresáři vedle souboru main.cpp.

Poznámky k dokumentaci: