Cvičení

Předmětový Discord

Oficiálním zdrojem organizačních informací a místem pro diskusi nejasností k zadání úkolů zůstává předmětové diskusní fórum v IS MU.

Discord slouží jen jako náhrada pro organizaci cvičení a konzultací.

Pravidla

  • Autentizované role

    Organizátoři předmětu mají role, díky kterým je odlíšíte od studentů:

    • Commrade, Lecturer (organizátoři předmětu)

    • Consultant

    • Tutor

    • Moderator

  • Dejte si pozor, komu posíláte kód

    Za žádných okolností NEPOSÍLEJTE svoje kódy úkolů studentům nebo jiným osobám, které nemají žádnou z výše uvedených rolí. Na porušení tohoto pravidla se může nahlížet jako na opisování bez ohledu na to, zda k opisování skutečně dojde.

  • Přezdívky

    Vyučující vystupují na Discordu pod svým jménem. Doporučujeme studentům, aby učinili stejně.

    Pokud chcete svůj účet používat anonymně, je to v pořádku, požadujeme však alespoň slušné a důstojné chování a vhodnou přezdívku hodnou studenta nebo studentky vysoké školy.

    Pro diskusi bez těchto omezení doporučujeme neoficiální fakultní Discord, zejména kanály #shitposting nebo (pokud se cítíte drsně) #general.

  • Chovejte se slušně

    Nadávky, urážky, osočování nebo jiné nevhodné chování může být potrestáno podle závažnosti dočasným nebo trvalým zablokováním přístupu. Taky prosíme, abyste případné ohnivé výměny názorů (zejména nesouvisející s náplní předmětu) raději otevírali na jiných serverech (např. ve výše odkazovaném neoficiálním fakultním Discordu).

Připojení

  • Pokud ještě nemáte účet, vytvořte si jej v mobilní aplikaci Discord nebo ve webovém rozhraní kliknutím na tlačítko Open Discord in your Browser.

    • Po vytvoření účtu nezapomeňte na potvrzovací e-mail, jinak vám Discord účet časem zruší.

    • Pro opětovné přihlášení skrz webové rozhraní použijte tlačítko Login v pravém horním rohu webového rozhraní. Tlačítko Open Discord in your Browser totiž vyrobí nový účet.

  • K předmětovému Discordu se připojíte kliknutím na tento odkaz, nebo vyberte ve svém klientovi možnost Add a Server v levém panelu → Join a Server → do pole napište ckPt8cVZtT a klikněte Join.

Základy používání

Discord má poměrně intuitivní ovládání,

  • Přezdívku pro server si můžete nastavit kliknutím na název serveru v levém rohu pod odkazem Change nickname.

  • Kategorie a kanály naleznete na levé straně. V kategorii Cvičení najděte kanál pro svoji skupinu.

    • Doporučujeme vypnout notifikace pro ostatní skupiny. Klikněte pravým tlačítkem myši na jinou skupinu a vyberte Mute ChannelUntil I turn it back on.

    • Skupin je sice moc, ale toto stačí nastavit pouze jednou.

  • V textu zpráv můžete používat Markdown.

Náplň cvičení
Informace a materiály ke cvičení v konkrétním týdnu naleznete na stránce Cvičení.

Před cvičením

Na cvičení se řeší praktické příklady zaměřené na tému v daném týdnu. Cvičící může podle časových možností zpakovat nějaké klíčové části přednášky a vysvětlit nejasnosti, očekává se však vlastní příprava. Zejména se předpokládá, že studeni před cvičením

  • viděli záznam přednášky pro daný týden,

  • vypracovali bodovaný odpovědník.

Kompletní obsah přednášky se na cvičení neopakuje.

Průběh cvičení

  • V hlavní části cvičení se zadávají příklady z materiálů.

    Očekává se aktivní práce na zadaných příkladech.

  • Cvičící upozorňují na použití dobrých programovacích návyků. Využijte jejich přítomnost ke konzultaci problémů.

  • Pokud je zveřejněno nové zadání domácího úkolu, může cvičící zadání vysvětlit na cvičení. Zadání si nejlépe přečtěte již před cvičením a na cvičení se zeptejte na věci, kterým nerozumíte.

Vývojové přostředí

Studenti mohou používat prostředí dle vlastního uvážení. Předpokládají se pouze následující nástroje (podle OS) nebo jejich ekvivalenty:

Linux
  • Git klient

  • Překladač GCC

  • doporučeno GDB, CMake, Valgrind

  • doporučeno Integrované vývojové prostředí

    např. QtCreator (s CMake), CLion

Mac OS
  • Git klient

  • Překladač GCC

  • doporučeno GDB, CMake, Valgrind

    Valgrind vyžaduje XCode CLI Tools.

  • doporučeno Integrované vývojové prostředí

    např. QtCreator (s CMake), XCode, CLion

Microsoft Windows
  • Git klient

  • Překladač ekvivalentní GNU C Compiler

    požaduje se plná podpora C99

  • doporučeno Integrované vývojové prostředí

    např. QtCreator (s CMake), Visual Studio, CLion

  • doporučeno Windows Subsystem for Linux

    Pokud máte Windows 10, vyzkoušejte Windows Subsystem for Linux, díky kterému získáte téměř stejné prostředí jako na Linuxových stanicích.

  • alternativa Vzdálená práce na Aise

    Pokud máte starší Windows bez WSL, zkuste WinSCP, PuTTY nebo Windows 10 OpenSSH Client

Clang a jiné překladače

Překlad domácích úkolů používá pro překlad GCC. Z toho důvodu výrazně nedoporučujeme používat jiné překladače, protože se mohou lišit v detekci chyb nebo při výpisech varování.

CLion od JetBrains

Pokud jste na jiných předmětech (např. IB111 Základy programování) používali nástroje společnosti JetBrains (PyCharm), můžete zkusit používat CLion od stejné společnosti.

KontrCoins

Plnohodnotné body ze cvičení, které cvičící udělovali v minulých letech, od semestru Jaro 2021 nahrazují KontrCoins (± měkké body v jiných předmětech).

KontrCoins uděluje cvičící za aktivitu na cvičení, dopracování bonusových částí cvičení a další aktivity, které nejsou předepsané v pravidlech pro hodnocení předmětu.

Protože bodový zisk se mezi cvičícími obvykle výrazně liší, KontrCoins se nezapočítavají do součtu bodů potřebných na splnění zápočtových podmínek.

KontrCoins se na konci semestru přepočítají na plnohodnotné body, které lze použít k vylepšení úspěšného hodnocení zkoušky (tj. známku EB).

Mechanizmus přepočtu KontrCoins na body bude upřesněn během semestru podle toho, jak velké budou rozdíly mezi seminárními skupinami. Předběžně předpokládáme, že půjde o nějakou normalizaci.

Odpovědníky

Organizační pokyny

Na začátku semestru bude zpřístupněn odpovědník z organizačních pokynů. Tento odpovědník není bodovaný a studenti jej mohou vyplnit opakovaně. Doporučujeme odpovědník vypracovat již před prvním cvičením.

Bez úspěšného vyplnění odpovědníku nebude studentům povoleno odevzdávání domácích úkolů.

Detekce splnění odpovědníku probíhá automaticky každý den v časech 11:00 a 23:00. Žádostem o manuální povolení odevzdávání nebude vyhověno. Tedy pokud odpovědník vyplníte méně než hodinu před koncem termínu pro odevzdávání úkolu, nebude odevzdání umožněno vůbec.

Odpovědník z přednášky

Od druhého týdne semestru bude před začátkem týdne (v pátek, nejpozději v sobotu) zveřejněn odpovědník z látky probírané na přednášce v témže týdnu.

Pokyny

  • Odpovědník bude dostupný nejpozději v sobotu před týdnem, na který se téma odpovědníku vztahuje.

  • Odpovědník lze vypracovat do pátku 24:00 v týdnu, na který se téma odpovědníku vztahuje.

  • Odpovědníků z přednášek bude 10.

  • Za každý odpovědník lze získat -3 až 3 body.

  • Na vypracování odpovědníku bude 6 minut.

  • Odpovědník bude mít 6 otázek a nanejvýš 1 bonusovou otázku.

    Každá otázka bude mít více možností, právě jedna bude správná.

První odpovědník z přednášky tedy bude dostupný v sobotu na konci prvního týdne semestru. Lze jej vypracovat kterýkoliv den ve kterémkoliv čase, nejpozději však do pátku 24:00 na konci druhého týdne semestru.

Bodování

  • Každá správná odpověď bude hodnocena +0.5 body.

  • Každá nesprávná odpověď bude hodnocena -0.5 body.

    Bonusové otázky penalizované nejsou.

  • Nezodpovězené otázky budou hodnocené 0 body.

Zpětná vazba

K domácím úkolům a na závěr semestru budou zpřístupněné odpovědníky pro sběr zpětné vazby. Vyplnění těchto odpovědníků bude hodnoceno bonusovými body.

Zápočtový odpovědník
Pro odpovědník na zápočtovém testu platí speciální pravidla, které naleznete na stránce Hodnocení předmětu.

Absence a nahrazování

Povoleny jsou nanejvýš tři studijním oddělením neomluvené absence.

Náhrada cvičení

Pro náhradu neomluvené absence na cvičení je zapotřebí vyučujícímu seminární skupiny odevzdat vypracované cvičení z daného týdne nejpozději 48 hodin od začátku nahrazovaného cvičení. Způsob odevzdání lze domluvit z cvičícím (např. Git, e-mail, úschovna v ISu, …).

Účast na jiném cvičení ve stejném týdnu není zakázána, nelze jí však nahradit absenci na vlastním cvičení.

Miniúkoly

Kromě materiálů ke cvičení bude každý týden zveřejněná sada jednoduchých úkolů, které mají za cíl procvičit základní koncepty z přednášky a pomoci s vypracováním domácího úkolu.

Miniúkoly lze vypracovávat nezávisle na cvičení a nejsou hodnocené. Ve stažené sadě naleznete testovací vstupy i vzorové řešení.