Programování v C++ - cvičení

2020/2021

David Bednárek

Hlavní stránka předmětu

Slajdy k cvičení

Distanční výuka

Cvičení budou probíhat v rozvrženém čase (čtvrtek 9:00) pod zoom ID 94596134714. Zoom passcode je uveden na Nástěnce předmětu v SISu (pro přihlášené uživatele).

Některé části cvičení budou nahrávány, odkazy na nahrávky budou umístěny zde.

datum video gitlab domácí úkol
1.10.2020
8.10.2020
15.10.2020 Argument Scanner
22.10.2020 cpp-life
29.10.2020
5.11.2020 Postfixový výraz s proměnnou
12.11.2020 +
19.11.2020
26.11.2020
3.12.2020 Jízdní řád
10.12.2020

Pro cvičení je zřízen SLACK kanál #nprg041-cpp-bednarek. Přístupové údaje shodné s přednáškou.

Prerekvizity

  • Před prvním cvičením
    • Nainstalujte si zoom-client, např. tak, že se přihlásíte k zoom ID 94596134714. Klient je nutný např. pro sdílení okna vašeho Visual Studia s vyučujícím (a ostatními účastníky cvičení), budete-li potřebovat asistenci.
    • Zajistěte si na svém počítači dostatečně novou verzi překladače C++, nejlépe s integrovaným prostředím pro editaci, překlad a ladění. Možná řešení jsou tato:
      • Windows
        • Visual Studio 2019 - na této platformě budou probíhat cvičení. Jako studenti UK máte nárok na verzi Enterprise zdarma - vstupte na portal.azure.com, zadejte email kzr@cuni.cz, budete přesměrováni na CAS, kde se přihlásíte údaji pro SIS. Vyhledejte Education. Zde můžete stáhnout Visual Studio Enterprise 2019 a další software. Slabší, ale dostačující verze Community je k dispozici zcela volně. Předchozí verze 2016 už nemusí pro všechny konstrukce probírané na přednášce/cvičení stačit.
        • Visual Studio Code - zdarma, ale neobsahuje překladač. Lze použít např. s open-source překladači gcc nebo clang - ty doporučuji instalovat nikoliv ve Windows verzich, ale ve WSL, se kterým umí VSCode pro Windows spolupracovat - viz sekce Linux.
      • Linux
        • gcc/g++ - standardní překladač C/C++ v každém Linuxu, bohužel často v zastaralé verzi. Pro předmět je nutná verze alespoň 7, nejlépe 9 nebo 10. Verzi 9 a někdy i 10 lze obvykle stáhnout pomocí apt/yum/..., pozor však na nastavení defaultu (update-alternatives).
        • clang - modernější překladač C/C++, obvykle s mírným náskokem před g++ v implementaci nových vlastností jazyka a s nepatrně lepší optimalizací kódu.
        • K tomu budete potřebovat vhodný editor, nejlépe IDE s build systémem. V Linuxu jich existuje řada, nezavrhujte ani Visual Studio Code.
    • Přihlaste se do gitlab.mff.cuni.cz - přihlášení probíhá přes CAS, údaje shodné se SIS. Vašim prvním příhlášením vznikne záznam, kterému pak cvičící přidělí potřebná práva, čímž vznikne prostor pro sdílení zdrojových kódů mezi vámi a vyučujícím.
  • Nejpozději před druhým cvičením
    • Přihlaste se do parg-mff.slack.com - k prvnímu přihlášení je nutný invite-link, který je uveden na Nástěnce předmetu v SISu (přístupný přihlášeným uživatelům). Zde se připojte k diskusním skupinám #nprg041-cpp-prednaska a #nprg041-cpp-bednarek, tím získáte možnost pokládat dotazy i mimo dobu přednášek a cvičení.
    • Přihlaste se do office.com - zadejte email kzr@cuni.cz, budete přesměrováni na CAS, kde se přihlásíte údaji pro SIS. Zde v aplikaci Stream později najdete videa z přednášek a cvičení.
    • Přihlaste se do recodex.mff.cuni.cz - přihlášení probíhá přes CAS, údaje shodné se SIS. Po přihlášení se připojte ke skupině "Programování v C++ (Čt, 09:00, SW2)", zde budete odevzdávat významnější domácí úkoly včetně bodovaných.
    • Nainstalujte si vhodný klient pro git a naučte se základy jeho ovládání.
      • The git Book
      • Windows
      • Linux
        • Git je dostupný ve všech distribucích Linuxu, stačí tedy něco jako sudo apt install git
    • Naklonujte si repozitoř s příklady, které budou předváděny na cvičení.
      • Zkuste otevřít cv.sln ve Visual Studiu, přeložit a spustit projekt cv1a.
      • Odvážní jedinci mohou zkusit nakonfigurovat připojení Visual Studia k WSL nebo jinému Linuxu a projekt cv1al.
    • V gitlabové skupině najdete své repozitoře sloužící pro ukládání domácích úkolů, zápočtového programu a dalších zdrojových kódů, o nichž chcete diskutovat se cvičícím.
      • Pokud svou repozitoř nevidíte, bude to tím, že nemá přidělená přístupová práva - pošlete email cvičícímu.
      • Otestujte funkčnost např. tím, že upravíte soubor README.md a provedete Commit and Push.

Pravidla pro cvičení a zápočty

V rámci cvičení budou zadány dva bodované domácí úkoly, jejichž výsledky ovlivní známku z předmětu.

Kromě toho budou zadávány další nebodované úkoly.

Domácí úkol č. 1 0..15 bodů -5 bodů za každý započatý týden zpoždění
Domácí úkol č. 2 0..25 bodů -10 bodů za každý započatý týden zpoždění
Praktická část zkoušky 0..60 bodů 50 bodů za plně funkční řešení, +/- 10 bodů za kvalitu zdrojových textů

Podmínky udělení zápočtu:

  • Úspěšné dokončení většiny nebodovaných domácích úkolů
  • Dohoda o tématu zápočtového programu do konce výuky v semestru.
  • Získání alespoň 50 bodů ze 2 bodovaných domácích úkolů a praktické části zkoušky
  • Odevzdání zápočtového programu na téma předem dohodnuté s cvičícím.

Udělení zápočtu není podmínkou k připuštění ke zkoušce.

Pravidla pro repetenty