<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://cw.fel.cvut.cz/b212/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://cw.fel.cvut.cz/b212/feed.php">
        <title>CourseWare Wiki courses:b2b99ppc:tutorials</title>
        <description></description>
        <link>https://cw.fel.cvut.cz/b212/</link>
        <image rdf:resource="https://cw.fel.cvut.cz/b212/lib/tpl/bulma-cw/images/favicon.ico" />
       <dc:date>2026-04-20T07:40:51+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/01?rev=1614158996&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/02?rev=1614086782&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/03?rev=1615487754&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/04?rev=1615487680&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/05?rev=1616059506&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/06?rev=1613416887&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/07?rev=1613416776&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/08?rev=1613416743&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/09?rev=1618219295&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/10?rev=1649322017&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/11?rev=1618219284&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/12?rev=1620708556&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/13?rev=1620935436&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/14?rev=1618219103&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/start?rev=1645091915&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://cw.fel.cvut.cz/b212/lib/tpl/bulma-cw/images/favicon.ico">
        <title>CourseWare Wiki</title>
        <link>https://cw.fel.cvut.cz/b212/</link>
        <url>https://cw.fel.cvut.cz/b212/lib/tpl/bulma-cw/images/favicon.ico</url>
    </image>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/01?rev=1614158996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-24T10:29:56+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:01</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/01?rev=1614158996&amp;do=diff</link>
        <description>1. Nástroje - git, make

Verzovací systém Git

Cílem cvičení je seznámit se s nástroji, které usnadní vývoj větších projektů: verzovací systém git a sestavovací program make.

Úkoly

V následujících bodech se řiďte návodem Instalace a nastavení GITu.
SSH
Pro porobnější seznámení s Gitem doporučujeme knihu</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/02?rev=1614086782&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-23T14:26:22+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:02</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/02?rev=1614086782&amp;do=diff</link>
        <description>2. Profilování kódu

Na začátku cvičení se vrátíme k verzovacímu systému Git a vyzkoušíme si vytváření a spojování větví. Potřebné příkazy najdete třeba na stránce GIT (2/2) - přehled základních příkazů

Analýza volání funkcí

Pro analýzu volání funkcí použijeme následující kód:</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/03?rev=1615487754&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-11T19:35:54+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:03</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/03?rev=1615487754&amp;do=diff</link>
        <description>3. Třídy a objekty

Ve cvičení se seznámíme se základy tvorby tříd a objektů v C++. 

Vzorové příklady najdete buď v repozitáři v adresáři tut03.

Deklarace třídy

Třídu lze v C++ deklarovat pomocí klíčových slov class a struct.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/04?rev=1615487680&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-11T19:34:40+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:04</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/04?rev=1615487680&amp;do=diff</link>
        <description>4. Standardní knihovna C++

Ve cvičení se seznámíme se zástupci sekvenčních a asociativních kontejnerů. 

Vzorové příklady najdete buď v repozitáři v adresáři tut04.

Sekvenční kontejner

Typickým zástupcem sekvenčního kontejneru je</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/05?rev=1616059506&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-18T10:25:06+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:05</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/05?rev=1616059506&amp;do=diff</link>
        <description>5. Přetížené operátory

Třída Vektor

Cílem tohoto cvičení je implementovat třídu s podobnou funkcionalitou, jako má sekvenční kontejner std::vector. Třída bude obsahovat dynamicky alokované pole, které se bude podle potřeb realokovat a poskytne rozhraní v podobě přetížených operátorů pro přístup k jednotlivým prvkům struktury.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/06?rev=1613416887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-15T20:21:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:06</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/06?rev=1613416887&amp;do=diff</link>
        <description>6. Šablony funkcí a tříd, lambda funkce

Online záznam: YouTube

Vzorové příklady najdete v repozitáři tutorials v adresáři tut05



git pull
cd tut05



Alternativně lze najít kódy také v archivu: 

Šablony funkcí

Syntaxe šablony je následující</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/07?rev=1613416776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-15T20:19:36+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:07</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/07?rev=1613416776&amp;do=diff</link>
        <description>7. Vlákna v C++

Vzorové příklady najdete v repozitáři tutorials v adresáři tut06



git pull
cd tut06



Alternativně lze najít kódy také v archivu: 

Vznik vlákna

Vzniká vytvoření instance třídy std::thread. Běh samotného vlákna bez další funkcionality by nebyl příliš užitečný, proto je argumentem konstruktoru je v minimální variantě ukazatel na funkci, která bude ve vlákně spuštěna.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/08?rev=1613416743&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-15T20:19:03+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:08</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/08?rev=1613416743&amp;do=diff</link>
        <description>8. Dědění, virtuální metody

Ve cvičení se seznámíme s jednoduchými příklady dědění. 

Bázová třída

Příklad z minulého cvičení lze velmi pěkně zobecnit tak, že Kocka i Mys budou potomky jedné bázové třídy Zviratko. Tato třída má dva atributy,</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/09?rev=1618219295&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-12T11:21:35+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:09</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/09?rev=1618219295&amp;do=diff</link>
        <description>9. Qt - úvod, kompilace, komponenty

Zdrojové kódy příkladů jsou k dispozici na gitlabu. 

Kompilace aplikace

Tato sekce je zaměřena na programování v operačních systémech MS Windows. V ostatních majoritních OS bude postup velmi podobný (některé programy se budou jmenovat jinak). Předpokládá se použití kompilátoru</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/10?rev=1649322017&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-07T11:00:17+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:10</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/10?rev=1649322017&amp;do=diff</link>
        <description>10. Qt - komunikace komponent

V rámci frameworku QT spolu komponenty komunikují pomocí signálů a slotů. Signály jsou emitovány komponentami (např. při interakci s jejdnotlivých komponent s myší), sloty jsou metody tříd, které ošetřují reakce komponenty na signály. V první fázi seznamování s QT si vystačíme se signály, které mají komponenty vestavěné (typicky to bude signál</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/11?rev=1618219284&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-12T11:21:24+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:11</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/11?rev=1618219284&amp;do=diff</link>
        <description>11. Qt - kreslení

Cílem cvičení je ukázat, jak je možné v QT kreslit grafická primitiva. Využijeme k tomu zejména třídu QPainter, která umožňuje kreslení do jednotlivých GUI komponent.

Při práci s třídou QPainter využijeme skutečnosti, že při vykreslování komponent a takových změnách v aplikaci za běhu, které mohou ovlivňovat grafickou podobu (např. změna velikosti okna), je automaticky volána metoda</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/12?rev=1620708556&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-11T06:49:16+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:12</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/12?rev=1620708556&amp;do=diff</link>
        <description>12. Qt - síťové služby

MQTT komunikace

Aby bylo možné využívat v QT komunikaci pomocí MQTT protokolu, je třeba 
Qt for Automation:-)
Instalace QtMgtt

Zdrojový kód knihovny QtMqtt je k dispozici na GitHub. Je vhodné stáhnout si starší verzi, novější verze mají problém s kompilací oproti QT 5.1x (pro naše potřeby neobsahují novější verze knihovny žádnou funkcionality navíc, klidně můžeme pracovat s nejstarší dostupnou stabilní verzí). Uvedený postup je pro prostředí Windows, v…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/13?rev=1620935436&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-13T21:50:36+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:13</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/13?rev=1620935436&amp;do=diff</link>
        <description>13. Qt - databáze

Cvičení je zaměřeno na vytvoření jednoduché databazáze, do které se ukládá aktuální cena některé z kryptoměn, např. doge. Pro získání ceny kryptoměny existuje několik webových API, zde použijeme API cryptonator.com.

Základ programu je podobný jako ve cvičení, kde jsme získávali informace o covidové situaci nebo o aktuálním počasí. Zde je kód umístěn do třídy, kterou budeme dále rozšiřovat.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/14?rev=1618219103&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-12T11:18:23+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:14</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/14?rev=1618219103&amp;do=diff</link>
        <description>14. Qt - multimédia</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/start?rev=1645091915&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-17T10:58:35+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:start</title>
        <link>https://cw.fel.cvut.cz/b212/courses/b2b99ppc/tutorials/start?rev=1645091915&amp;do=diff</link>
        <description>Cvičení

Účast na cvičení je povinná. Cvičení slouží k praktickému osvojení programovacích dovedností. 

Příklady ze cvičení a přednášek jsou průběžně zveřejňovány v repozitáři na fakultním gitlabu.

Použití GITu v učebně 402</description>
    </item>
</rdf:RDF>
