<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://cw.fel.cvut.cz/b232/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/b232/feed.php">
        <title>CourseWare Wiki courses:b2b99ppc:tutorials</title>
        <description></description>
        <link>https://cw.fel.cvut.cz/b232/</link>
        <image rdf:resource="https://cw.fel.cvut.cz/b232/lib/tpl/bulma-cw/images/favicon.ico" />
       <dc:date>2026-04-18T21:41:03+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/01?rev=1708411805&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/02?rev=1708951776&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/03?rev=1708951804&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/04?rev=1708951827&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/05?rev=1708951862&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/06?rev=1711581650&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/07?rev=1708951957&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/08?rev=1708951983&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/09?rev=1713369082&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/10?rev=1713998652&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/11?rev=1714599909&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/12?rev=1708952052&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/13?rev=1716298748&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/14?rev=1708952074&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/start?rev=1710837791&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://cw.fel.cvut.cz/b232/lib/tpl/bulma-cw/images/favicon.ico">
        <title>CourseWare Wiki</title>
        <link>https://cw.fel.cvut.cz/b232/</link>
        <url>https://cw.fel.cvut.cz/b232/lib/tpl/bulma-cw/images/favicon.ico</url>
    </image>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/01?rev=1708411805&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-20T07:50:05+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:01</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/01?rev=1708411805&amp;do=diff</link>
        <description>1. Úvodní cvičení

Seznámení s programovacím prostředím

Při programování v rámci předmětu lze používat libovolný editor, který umožňuje zvýrazňování syntaxe (gedit, gVim, sublime text, atd), a překládat z příkazové řádky v terminálu. Budeme používat kompilátor</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/02?rev=1708951776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:49:36+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:02</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/02?rev=1708951776&amp;do=diff</link>
        <description>2. 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/b232/courses/b2b99ppc/tutorials/03?rev=1708951804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:50:04+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:03</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/03?rev=1708951804&amp;do=diff</link>
        <description>3. 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/b232/courses/b2b99ppc/tutorials/04?rev=1708951827&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:50:27+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:04</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/04?rev=1708951827&amp;do=diff</link>
        <description>4. 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/b232/courses/b2b99ppc/tutorials/05?rev=1708951862&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:51:02+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:05</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/05?rev=1708951862&amp;do=diff</link>
        <description>5. Š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/b232/courses/b2b99ppc/tutorials/06?rev=1711581650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-28T00:20:50+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:06</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/06?rev=1711581650&amp;do=diff</link>
        <description>6. Vlákna v C++

Podklady pro cvičení

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: 

Template třídy pro hru [ Logic]

Vznik vlákna

Vzniká vytvoření instance třídy</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/07?rev=1708951957&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:52:37+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:07</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/07?rev=1708951957&amp;do=diff</link>
        <description>7. 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/b232/courses/b2b99ppc/tutorials/08?rev=1708951983&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:53: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/b232/courses/b2b99ppc/tutorials/08?rev=1708951983&amp;do=diff</link>
        <description>8. 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/b232/courses/b2b99ppc/tutorials/09?rev=1713369082&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-17T17:51:22+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:09</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/09?rev=1713369082&amp;do=diff</link>
        <description>9. 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/b232/courses/b2b99ppc/tutorials/10?rev=1713998652&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-25T00:44:12+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:10</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/10?rev=1713998652&amp;do=diff</link>
        <description>10. 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.

Podklady ke cvičení

[Template pro Kresleni]

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/b232/courses/b2b99ppc/tutorials/11?rev=1714599909&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-01T23:45:09+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:11</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/11?rev=1714599909&amp;do=diff</link>
        <description>11. Qt - síťové služby

Weather map

Na adrese &lt;https://openweathermap.org&gt; lze získat informace o současném počasí a pomocí API lze data číst. Data jsou uložena ve formátu JSON a je třeba je v QT dekódovat, aby je bylo možné použít. 

&lt;https://api.openweathermap.org/data/2.5/weather?q=prague&amp;appid=9015878572d5a56d22bafb7d1e71c92e&gt;

API Key: 9015878572d5a56d22bafb7d1e71c92e</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/12?rev=1708952052&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:54:12+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:12</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/12?rev=1708952052&amp;do=diff</link>
        <description>12. 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ř. BTC. Pro získání ceny kryptoměny existuje několik webových API, zde použijeme API cryptocompare.com.

Základ programu je podobný jako ve cvičení, kde jsme získávali informace 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/b232/courses/b2b99ppc/tutorials/13?rev=1716298748&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-21T15:39:08+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:13</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/13?rev=1716298748&amp;do=diff</link>
        <description>13. Qt - Osciloskop

Cvičení zaměřené na komunikaci mezi Qt a externím zařízením v podobě Nuclea po sériové lince. Nucleo se zde chová jako generátor signálu posílaný po sériové lince s konfigurací:

Verze Qt 6 už má v sobě zabudovanou knihovnu sériové linky, kterou lze přidat přes hlavičkový soubor</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/14?rev=1708952074&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-26T13:54:34+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:14</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/14?rev=1708952074&amp;do=diff</link>
        <description>14. Qt - Backup</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/start?rev=1710837791&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-19T09:43:11+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:b2b99ppc:tutorials:start</title>
        <link>https://cw.fel.cvut.cz/b232/courses/b2b99ppc/tutorials/start?rev=1710837791&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>
