Zpět na blog
Vzdělávání

10 programátorských C++ úkolů pro začátečníky

Skillmea
07.10.2021
7 minut čtení
10 programátorských C++ úkolů pro začátečníky
Naučit se C++ není snadný úkol, když si však chceš uchovat své znalosti v dobré formě, vyžaduje to praxe. Jedna věc je naučit se základy programování v C++ a syntaxi jazyka, ale něco úplně jiného je použít tyto znalosti k tvorbě reálných programů v jazyce C++.

V tomto článku si řekneme, kde byste mohli použít jazyk C++ ve své další práci a proč je to stále používaný programovací jazyk. A také ti v článku přineseme 10 programátorských úkolů v C++, na kterých si jazyk procvičíš.

K čemu se používá C++?

C++ je jedním z nejpoužívanějších programovacích jazyků. Lepší otázkou by tedy mohlo být, k čemu se C++ nehodí? 🙂
C++ je nejčastěji zvolen kvůli své schopnosti efektivně provozovat velké aplikace. Můžete jej také použít k doladění toho, jak program používá svůj hardware. C++ naleznete v operačních systémech, vašich oblíbených multiplayer hrách, připojování na databáze a dokonce i v nových technologiích VR a AR. Kromě toho je C++ populární při tvorbě databázových aplikací, ve finančnictví a ekonomice, využívá se ve vestavěných systémech, real-time systémech, při zpracování velkého objemu dat, dále v robotice a kybernetice, v počítačové grafice (zpracování obrazu, grafický rendering) či komunikačních systémech.
Mnoho vývojářů si vybírá C++, neboť dokáže efektivně spouštět jejich programy. Komunita C++ vývojářů je také poměrně široká, umožňuje to jednodušší spolupráci a pomoc, když se člověk při něčem zasekne.

10 C++ úkolů pro začátečníky

Ke splnění úkolů použij libovolný editor, který ti vyhovuje. Stanov si cíl a časový horizont, ve kterém chceš úkoly splnit. Klidně udělej jeden úkol každý den, některé úkoly budou možná náročnější a zaberou více času. Začněme s úkoly.

1. Vypište „Hello world“ správu

V kterémkoli editoru, se kterým jste se rozhodli pracovat, zkontrolujte, zda můžete napsat kód, který zobrazí tento řetězec znaků. I když se to může jevit jako jednoduchý úkol, zamyslete se nad všemi způsoby, jakými budete chtít zobrazovat zprávy v budoucích programech, které vytvoříte.
Tisk chybových zpráv nebo potvrzovacích zpráv pro různé části kódu je důležitý při ladění programu. Mohou se také objevit výzvy nebo výsledky, které budete chtít vytisknout a sdílet s koncovým uživatelem.
Vypisování zprávy je dovednost, kterou budete používat poměrně často.

2. Vytvořte program, který sečte dvě celá čísla

Zjistěte, zda dokážete vytvořit program v jazyce C++, který načte dvě celá čísla ze vstupu klávesnice a sečte je. Výsledek by měl vrátit součet. Jedná se sice o základní kalkulátor, představte si ale jeho sílu ve velké databázi, kde byste pomocí smyček mohli přidávat obrovské množství údajů.
Bonusový úkol: Rozšiřte tento program o součet dvou matic (nezáleží, kolik bude mít prvků), abyste vytvořili pole součtových prvků.
Máte-li zájem pracovat ve finančním odvětví jako vývojář, pomocí programů, jako je tento, můžete vaší firmě vypočítat důležité údaje.

3. Napište program, který převádí pixely na centimetry

Měniče jednotek jsou malé pomocné nástroje. Můžete vytvořit program v jazyce C++, který bude zaznamenávat rozměry v pixelech a vyplivuje přesně stejné měření v centimetrech?
Pokud uvažujete o kariéře v oblasti datové vědy, budete muset být dobrý v čištění a formátování údajů. Konverze dat na jinou měrnou jednotku je dobrým praktickým testem.

4. Naprogramujte nástroj pro konverzi teploty

Podobně je užitečný program pro sestavení převodu teploty na jinou měrnou jednotku. Zjistěte, zda můžete vytvořit program, který bude měřit zadanou teplotu ve stupních Celsia a vrátí stejnou teplotu ve Fahrenheitu.

5. Vytvořte multiplikátor s pohyblivou řádovou čárkou

Vzhledem ke dvěma číslům s pohyblivou řádovou čárkou vytvořte program C++, který vám poskytne součin těchto dvou.
Chcete posunout věci na střední úroveň? Na této výzvě vsaďte tím, že povolíte libovolný počet vstupů (nebo jejich množství) a vrátíte součin všech vstupních čísel s pohyblivou řádovou čárkou.

6. Převeďte řetězec na všechna velká písmena

Můžete se rozhodnout, jak dlouhý nebo krátký bude váš vstupní řetězec. Tento program by měl brát zadaná malá písmena a převádět je na velká písmena.
Jedná se o velmi užitečný nástroj pro správu databáze nebo čištění dat.

7. Vytvořte kalkulačku, která bude počítat průměr

Napište program v jazyce C++, do kterého zadáte pole čísel a výstupem bude jejich průměr. Bonusem by mohla být kalkulačka, která jako vstup použije matici a poskytne průměr každého řádku nebo sloupce.

8. Vytvořte funkci, která zkrátí řetězec na 10 znaků

Můžete sestrojit funkci, která přijímá jako vstup řetězec a vrací zkrácenou verzi? Existuje mnoho aplikací pro ořezávání dat, takový nástroj umí odstranit chyby v databázi.
Například v údajích o adrese zákazníka by jakékoli PSČ, které má více než pět znaků, bylo nesprávné. Ořezávání celých souborů pomocí tohoto programu může pomoci udržet databáze se správnými údaji.

9. Naprogramujte program, který bude provádět třídění pole číselných prvků

Vzhledem k pole, řekněme, 10 čísel, můžete vytvořit program, který vrátí pole v číselném pořadí od nejmenšího čísla po největší? Seřazení dat je účinný způsob využití jazyka C++. Pokud vám vyhovuje malé pole, zkuste pracovat s větším – nebo dokonce s maticí. Třídící algoritmus necháváme na řešiteli.

10. Napište program, který počítá duplicitní položky pole

Při čištění dat je třeba odstranit duplicitní údaje. V této krátké úloze tedy vytvořte program, který vrátí počet prvků v poli, které jsou duplikáty.
Nezapomeňte každý den pracovat na svých programátorských dovednostech, abyste postupně dosáhli vytouženého cíle a stali se dobrými programátory.
Skillmea
🥇 Sme jednotka v online vzdelávaní na Slovensku.
Na našom webe nájdeš viac ako 300 rôznych videokurzov z oblastí ako programovanie, tvorba hier, testovanie softwaru, grafika, UX dizajn, online marketing, MS Office a pod. 
Vyber si kurz, ktorý ťa posunie vpred ⏩

Mohlo by tě zajímat

Hra GalaxyCodr učí programovat děti od 8 let
Vzdělávání
17.09.2021
Skillmea

Hra GalaxyCodr učí programovat děti od 8 let

Velký třesk naší galaxiePrací se žáky jsme získali cenné zkušenosti. Z nich jsme čerpali při tvorbě video kurzů programování pro děti. Ve videích účastníkům představíme postup, podle kterého si dokážou naprogramovat vlastní projekty. Naším záměrem však je, aby děti nebyly jen pasivními diváky, ale aby samy aktivně tvořily řešení problémů při programování. Rozhodli jsme se proto vytvořit vzdělávací hru. Inspiraci jsme našli například v aktivitách Hour of Code nebo hře Run Marco, na kterou jsme pohlíželi jako na našeho duchovního soupeře. Ve světě však existuje několik podobných projektů. Většina z nich se však věnuje jen úplným základům a to je pohyb nebo orientace robota. My jsme chtěli jít víc do hloubky. Na první pohled jsme chtěli zaujmout příjemnou grafikou, vtipným příběhem a animovanými filmy. Už od samého začátku jsme náš projekt testovali s dětmi. Žákům jsme předvedli náčrty postav a nechali jsme je hlasovat. Vybrali si vzhled hlavního hrdiny, vesmírnou raketu nebo příšerky do alba. Jelikož jsem sběratelský typ, hned na začátku jsem chtěl děti motivovat sbíráním. Podobně, když jsem jako školák kupoval samolepky pokémonů do nálepkového alba. První verze hry, kterou jsme testovali se žáky, vznikla ještě jako prototyp v prostředí Scratch. Popravdě Scratch dosud využíváme při tvorbě podkladů a návrhu nových mechanik. Na obrázku níže si prohlédněte malou ukázku.[Image] Simulujeme to, jak budou fungovat, než se pustíme do jejich programování a implementace do hry. Během vývoje jsme upustili od několika návrhů. Například, původně jsme naši hru pojmenovali Galacticco. Chtěli jsme děti odměňovat předměty, kterými by si zvelebovaly svůj virtuální pokoj nebo vylepšovaly vesmírnou raketu. To by byla domovská základna našeho hrdiny. Do finální podoby se nedostal ani design úrovní pod vodou nebo mezi oblaky. Vulkanické planety plné lávy se však možná ještě v budoucnosti dočkáme. Popis hry GalaxyCodr ve zkratceHra je rozdělena na několik planet. Každá z nich se věnuje nějaké problematice programování. Obsahuje 20 základních příběhových úrovní. Pro odvážné je určeno 5 náročnějších bonusových úrovní. Každá planeta má vlastní příběhová videa a graficky odlišné prostředí. Úrovně tvoří cesty složené z políček. Cílem je navigovat postavičku Spike na cílové políčko. Řešením je algoritmus složený z pokynů tedy příkazů, které mají tvar bloků. Skládáme je dohromady podobně jako u stavebnice. Programujeme způsobem uchop, přesuň. a umístí. Pořadí instrukcí je velmi důležité, protože Spike vykonává příkazy postupně. Každý level obsahuje didaktický cíl. Který když žáci splní dostanou vítězný pohár. Pro splnění cíle na prvních úrovních se postačí dostat do cíle. Později se cíle přizpůsobí problematice, které se na dané úrovně věnujeme. [Image] Zábavný fakt: První dvě planety Sandy a Roj meteoritů, který obíhá kolem planety, jsme spojili do jednoho celku. Tyto dva akty byly zveřejněny a dlouhou dobu dostupné na hraní. Spolu s dalšími planetami přicházíme také se soutěží. Chtěli jsme, aby hráči hráli něco nového a nebyli znuděni opakováním úrovní. Tak jsme se rozhodli spojit původní dva celky dohromady. Zároveň jsme navrhli novou sadu úkolů. Je mírně náročnější. Uvidíme, jak se nám toto rozhodnutí osvědčí. Hráči se tak po přejetí první planety mohou těšit na nový obsah tvořený 4 novými planetami a tedy 80 levely. Kurikulum planet1. Planeta: Sandy Na povrchu planety se naučíme: pohyb postavičky, posloupnost příkazů, vstupní parametry a cyklus. Začínáme s běžnými příkazy jako jdi dopředu nebo otoč se. Řešení některých úrovní vybízí opakovat části kódu pomocí příkazu opakuj. Všimněte si, že do příkazů umíme psát různá čísla. Ve vesmíru se naučíme: orientace na dráze a časování. Dráha je kvůli meteoritům rozdělena na několik samostatných částí. Ty jsou propojeny pomocí portálů. Pozor, východy z portálu mohou být otočeny jiným směrem než jejich vstupy! Provoz ve vesmíru podobně jako u nás pomáhají řídit semafory. Musíme si naplánovat, při kterém semaforu budeme čekat a jak dlouho. Případně musíme hledat cestu, po které se dostaneme nejrychleji do cíle. Pro získání vítězného poháru je třeba projít level za určitý počet tahů. Každý krok dopředu i čekání nás stojí drahocenný tah. 2. Planeta: TerraNaučíme se: cyklus s ne-určeným počtem opakování a podmínky. Cesta se nám zdá příliš dlouhá. Nebudeme počítat políčka. Budeme opakovat kráčení dokud se nedostaneme do cíle. Sem tam musíme odbočit nebo se vyhnout překážce. Abychom věděli kdy, tak se na to potřebujeme zeptat. Tyto otázky skládáme pomocí podmínek, například: Pokud je cesta vpravo, odboč doprava. Na začátku je budeme mít předpřipravené, později si je budeme muset poskládat z jednotlivých dílků. 3. Planeta: Crystal Naučíme se: proměnné a vstupní parametry. Cestu nám blokují různě uzavřené zátarasy nebo nefunkční portály. K jejich zjezdu potřebujeme určitý počet krystalů vhodné barvy. Ty jsou naštěstí všude kolem nás. Budeme je sbírat, počítat a používat. 4. Planeta: VotanNaučíme se: souřadnice. Celá plocha je pokryta ledem až na pár zasněžených políček. Právě jejich polohu musíme zjistit. Je složena z písmen a čísel. Když zjistíme správnou polohu, můžeme se po ledě na políčko uklouznout. 5. Planeta: Zombie IXNaučíme se: programovat několik postav a události. V cestě nám stojí zavřená brána. Někde musí být páka, která ji otevře. Nedosáhneme na ni. Pomoci nám mohou kolem se potulující roboti. Jejich program je však poškozen. Jsou hloupější než zombie, které jsou nám v patách. Pomocníky potřebujeme naprogramovat. Musíme jim dát znamení, aby ve správnou chvíli otevřeli bránu. Tak, aby nás pustili dál, ale aby zombie zůstali venku.[Image] Nové možnosti a soutěž s KauflandemHraním hry můžeme plnit různé úspěchy, za které obdržíte odměny pro svůj účet. Můžeme si upravit obrázek a rámeček avatara, přidat před svou herní přezdívku titul jako například „král galaxie“. Na stránce hry máme připravenou i pomoc pro učitele. Ti mají možnost založit si učitelský účet. V něm mohou vytvářet třídy, kam si vás pomocí kódu mohou přidat a sledovat tak váš postup hrou. Díky spolupráci s Kauflandem jsme hráčům zpřístupnili nový obsah. V Kauflandu si můžete zakoupit jen za 1 euro nálepkové album. Za každých 20 Eur nákupu získáte jeden balíček obsahující 5 náhodných nálepek do alba a 1 QR kód. Pomocí QR kódu můžete získat další balíček, ale tentokrát do digitálního alba. Dvojnásobná radost z otevírání. Tento balíček si v prodejně můžete zakoupit i samostatně za 0,5 Eur. Pokud se vám podaří sesbírat celé digitální album a dokončíte první planetu, vítězné poháry nepotřebujete, můžete se zapojit do soutěže o herní notebook. Digitální hrdiny můžete získat i hraním hry. Pokud si ve svém profilu vyplníte školu, automaticky ji zapíšete do soutěže o IT učebnu.[Image]Více informací o soutěži a hře GalaxyCodr najdete na webu.
Programování pro děti: Objevte zábavné a jednoduché programovací jazyky
Vzdělávání
08.09.2021
Skillmea

Programování pro děti: Objevte zábavné a jednoduché programovací jazyky

Programování pro děti je stále více oblíbenější a jeho význam roste. Není to překvapující, vzhledem k tomu, jak se naše společnost stala závislou na technologiích. Stále více lidí se zajímá o tuto cennou dovednost a ptá se: "Mohl bych se to také naučit?" I rodiče více věnují pozornost programování a snaží se k němu své děti vést, aby jim zajistili lepší budoucnost. Naučit se programovat v mladém věku může dítěti zajistit celoživotní úspěch a rozvoj kritického myšlení. IT kurzy pro děti se věnují už i učitelé na základních školách a existuje několik vzdělávacích programů, kurzů či nástrojů, které se snaží programování dětem co nejvíce přiblížit a usnadnit. V tomto článku přineseme náš pohled na programování pro děti: výhody, proč je tato počítačová dovednost v současnosti tak důležitá, a seznam nástrojů, díky kterým se vaše dítě umí naučit základy programování.[Image] V jakém věku mohou děti začít s programováním?Podle Piagetovy kognitivně-strukturální teorie vývoje, kterou vypracoval švýcarský psycholog Jean Piaget v roce 1971, jsou děti ve věku 5 let v předoperačním stadiu. V této fázi dítě začíná chápat svět pomocí mentálních reprezentací prostřednictvím slov a obrazů. Projevem reprezentativní funkce v poznávání je také oddálená imitace. Jedná se o schopnost napodobovat model s časovým odstupem. Dítě může například vidět jiné dítě, jak prolézá zábradlí. Vzpomene si na to druhý den a na základě představy, kterou si uchovalo, dokáže samo uvedené úkony podobným způsobem provést. Podle této teorie a dostupnosti moderních vzdělávacích nástrojů a technologií se mnozí odborníci shodují, že dítě se může začít učit programovat ve věku 5 let. Někteří rodiče mohou mít z tohoto věku obavy, a rozumíme těmto obavám. Základy programování je však možné vyučovat snadněji díky gamifikaci a moderním programovacím aplikacím, robotice a jejich nástrojům. Mnoho webových aplikací a stránek učí děti programovat pomocí blokového programování, což je zábavný a interaktivní způsob, jak se seznámit s tímto fascinujícím světem. Kromě toho, existují různé vzdělávací kurzy, které mohou podporovat nejen základy programování, ale i další rozvoj dovedností. Kromě toho, stále populárnější jsou rekvalifikační kurzy, které pomáhají nejen dospělým získat nové dovednosti v oblasti informačních technologií a programování. Díky těmto kurzům mohou lidé změnit svou profesní dráhu a adaptovat se na rychle se měnící trh práce, kde je znalost IT a programování stále více vyhledávaná. Tyto možnosti jsou dostupné nejen pro děti, ale i pro dospělé, kteří chtějí rozvíjet své schopnosti a držet krok s technologickými trendy. Jak vzbudit zájem vašeho dítěte o programování?Pokud se vaše dítě již zajímá o programování, tvorbu webů či vývoj her a aplikací, pravděpodobně nebudete muset udělat moc, abyste je k samotnému reálnému programování dovedli. V zásadě byste už jen našli vhodné online či offline kurzy, kroužky a podobně. Pokud však vaše dítě z počítačových věd (nebo i STEM předmětů - Science, Technology, Engineering, Mathematics) nadšené není, existuje několik způsobů, jak v nich vzbudit zájem. Kombinujte programování s jejich současnou vášní• Hračky a roboty Existuje spousta zábavných "offline" hraček, které pokrývají základy STEM a kódování. Existuje také mnoho programovatelných robotů. Můžeme zmínit populárního Ozobota nebo Makeblock mBot Robot Kit. Jsou to sety vhodné pro začátečníky v oblasti programování a umíte je programovat i pomocí rozhraní v notebooku či tabletu. NAO Robot je humanoidní robot, který je však velmi drahý, a tady ho vzpomínáme spíše jako zajímavost.[Image] • Stavebnice LEGO je lídrem v oblasti hraček pro začínající stavitele. S LEGO MINDSTORMS si můžete postavit a naprogramovat vlastního robota. Obsahuje také jednoduchou aplikaci s programátorským rozhraním, a takto umíte ovládat svého robota. Líbit by se vám mohl také LEGO BOOST Creative Toolbox, díky kterému se vaše dítě může naučit základy kódování, inženýrství a robotiky.[Image] • Kreslení, malování Pokud má vaše dítě umělecké vlohy a má rádo kreslení, ukažte mu nástroje. Scratch je platforma, díky které můžete vytvářet animace, interaktivní příběhy, hry a další pomocí blokového programování. Děti mohou do Scratch platformy nahrát vlastní obrázky, zvuky, pozadí a vytvářet tak unikátní projekty. Více o Scratch si přečtěte níže v článku. • Video hry (mobilní hry) Děti, které hrají počítačové a mobilní hry, by mohly mít zájem o jejich výrobu. Vášniví hráči se mohou naučit základní znalosti programování prostřednictvím velmi oblíbených počítačových her jako Minecraft a Roblox. Učte se programovat s nimiDěti chtějí být nezávislé, ale přesto mohou upřednostnit, kdyby jim byli rodiče nápomocni při začátcích v programování. Učí se něco nového a často se mohou na něčem zabrzdit, zaseknout, což může být velmi frustrující a demotivující. Když jim však pomohou rodiče, kterým důvěřují, učení se stane větší zábavou. Pokud tedy vaše dítě váhá s učením se programování, navrhněte mu, že se budete učit společně. Pokud nejste technicky zdatný rodič, nevadí, je to skvělá příležitost i pro vás naučit se něco nového a vzdělávat se.[Image] Jaký je nejlepší programovací jazyk pro děti?Moje cesta k programování začala na střední škole v prostředí Turbo Pascal. Na počítačích pro moji skupinu nebyla dostupná grafika. Tak zatímco druhá skupina kreslila autíčka, my jsme se snažili s tou modrou obrazovkou nějak komunikovat. Programovali jsme různé jednoduché výpočty a odpovědi. Po výměně učebny se pro nás finální zkouškou stal příklad naprogramovat nakreslení olympijských kruhů. Velkým vtipem byla moje příprava na maturitu. Před Vánocemi se nám pokazil počítač a oprava trvala celý zbytek školního roku. Programoval jsem pomocí tužky a starého sešitu. Spuštění programu probíhalo v mé hlavě s myšlenkami: „Teď by to asi mělo fungovat.“ Doba postoupila a digitální technologie jsou dostupnější. Úvodní nástroje do programování se skrývají za každým rohem. Jedním očkem můžete mrknout na naši vzdělávací hru GalaxyCodr. Vaše první kroky na cestě k programování jsou mnohem jednodušší. Ale kterou cestou se vydat?  Zkusím vám poradit podle mých zkušeností, nakolik jsem odučil nespočet kurzů, kroužků a webinářů programování pro děti. Scratch Junior (školka – 3. třída ZŠ) Začněme s těmi nejmladšími. Jim bych doporučil prostředí Scratch Junior. Je určeno pro smartphony nebo tablety. Vhodnější je ovšem tablet, díky jeho rozměrům obrazovky. Na které se vám bude s bloky lépe pracovat. Příkazy jsou ztvárněny bloky připomínajícími stavebnice. Z nich skládáte scénáře pro postavičky, způsobem uchop potáhni a pusti. Význam příkazů je znázorněn obrázky. Možná na začátku budete potřebovat pomoc rodičů, ale programovat v prostředí Scratch Junior by měly zvládnout i děti v předškolním věku. Scratch (4. – 8. třída ZŠ) Když trochu podrostete, můžete se pustit do prostředí Scratch. Tady začíná ta pravá zábava pro každého nadšence, který rád vymýšlí vlastní světy nebo chce tvořit hry. Opět programujeme blokovým systémem. Všechny příkazy máte dostupné a rozdělené do kategorií. Nachází se zde bohatá knihovna postav a pozadí. Nezklame nás ani docela slušný nástroj pro kreslení. Scratch běží ve webovém prohlížeči. Pokud si vytvoříte účet, můžete si vaše díla ukládat přímo online do cloudu. Tady přicházíme ke skvělé Scratch komunitě. Přímo na stránce naleznete obrovské množství zveřejněných projektů. Každý z nich si můžete vyzkoušet a prohlédnout jeho zdrojový kód. Můžeme se takto naučit, jak projekt funguje a případně se jím inspirovat. Jelikož programy tvoří uživatelé, jsou zde i slabší projekty s prosbou o pomoc, vtipné příběhy, zábavné hry a dokonce i mistrovská díla. Scratch má neskutečný potenciál! Můžete zde dokonce naprogramovat rekurzivní stromy, což je téma na vysoké školy. App Inventor (od 7. třídy ZŠ) Z „dospělejších“ programátorských nástrojů je k prostředí Scratch nejblíže App Inventor. Je to grafický programovací nástroj pro mobilní Android telefony. To znamená, že programujete pomocí bloků a různých komponentů. Programujete ve webovém prohlížeči. Můžete se přihlásit pomocí Gmail účtu a zdrojový kód projektů ukládat v cloudu. Naprogramované projekty si můžete spustit na vašem telefonu. Jednoduchou hru typu „Udeři prstem krtečka“ naprogramuje skoro každý. App Inventor je vhodný pro výuku programování, ale lze v něm vyvíjet i plnohodnotné mobilní aplikace. [Image] p5.js - JavaScript (od 7. třídy ZŠ)Moji cestu do „dospěláckého textového programování“ jsem započal v prostředí p5.js, které mi představil jeden kolega. Ahoj Majo 🙂 Prostředí běží online ve webovém prohlížeči. Přihlásit se můžete pomocí Gmail účtu a všechny projekty si přímo na něj uložit. Na psaní kódu používáme jazyk JavaScript. S tím, kde vzít ta správná slova, aby nám vznikl kód, si těžkou hlavu dělat nemusíte. Na stránce je bohatá Referenční knihovna s příkazy. Výhodou jsou příklady, které můžete upravit a tak experimentovat. Fanoušci vytvořili různé užitečné knihovny, které jsou dostupné přímo na stránce. Naše projekty můžeme pomocí webového odkazu poslat kamarádům, ať už se zdrojovým kódem nebo jen spuštěným projektem. Osobně můžu učitelům toto prostředí vřele doporučit! Důležité je zvolit správnou sadu jednoduchých a zajímavých projektů. Jak mám ve zvyku, k ověření našich „skillů“ můžeme využít hru Bludiště. Další nástrojeBěhem své praxe jsem se setkal s více jazyky a prostředími pro začátečníky v oblasti programování. Můžeme si je vzpomenout v „Síni slávy.“ Blockly Games Nabízí několik aktivit, ale mou oblíbenou je Maze. Tady vás čeká pár zajímavých bludišť. Programujete cestu do cíle pomocí bloků. Poslední úrovně vás mohou potrápit s větvením podmínek. CodeCombatChcete se naučit programovat hraním hry na hrdiny. V tomto RPG dobrodružství můžete procházet různými kobkami pomocí textového programování jako Phyton, JavaScript, C++ a tak dále. Hodina kódu (Hour of Code) Obsahuje početnou sadu aktivit zaměřených na programování pomocí bloků. Oblečené jsou v tematickém kabátě jako Minecraft, Star Wars, Angry Birds nebo Plants vs Zombies. Můžete zde najít také sbírku odkazů na další zajímavá prostředí. GalaxyCodrVraťme se zpět domov na Slovensko, kde startuje vesmírná raketa připravená na programátorské dobrodružství. V pěkném grafickém prostředí programujete cestu postavičky Tima pomocí bloků. Jeho cesta za záchranou kamaráda je podpořena vtipnými animacemi. Můžete se v brzké době těšit na pokračování příběhu a nové planety, které brzy přibudou. LEGOStavebnice LEGO nabízejí vícero robotů, které nejsou určeny pouze ke skládání. Jejich pomocí se můžeme učit programovat. Pro mladší je zde LEGO Boost a pro starší LEGO Mindstorms. Programujeme na tabletu nebo počítači pomocí bloků. VeterániKe starším veteránům v této oblasti patří prostředí pro děti jako Robot Karel, EasyLogo, Imagine nebo Baltík. Doporučit můžu i sadu aktivit na procvičení digitálních dovedností v prostředí Cirkus Šaše Tomáše nebo archiv soutěže iBobor. Na závěr mohu říci, že jsem určitě nezmínil všechno. Chtěl jsem se s vámi podělit o programátorská prostředí, se kterými mám osobní zkušenost. Máte-li tipy na další vzdělávací hry, aplikace či roboty, neváhejte se s nimi podělit v komentářích.
Frontend vs Backend vs Fullstack a jak se na to dívám já
Vzdělávání
20.08.2021
Jaroslav Beňo

Frontend vs Backend vs Fullstack a jak se na to dívám já

Při řešení a vývoji aplikací si umíme vývoj rozdělit na dvě hlavní části – front end a back end. Front end je v podstatě to co vidíš očima - to s čím se uživatel jako prvním setká (během vysoké školy mě pucoval jeden profesor, že člověk, co kliká naši aplikaci je uživatel a ne uživatel). Následně back end je vše vzadu, co běžný uživatel nevidí, co se děje na pozadí, většinou je to zpracování dat, komunikace s databází a podobně. Po internetu kolují desítky memes, ve kterých se tyto rozdíly mezi frontendem a backendem zobrazují. Prohlédni si pár z nich:[Image]Doufám, že máš teď tak hrubou představu o tom, co je frontend a co backend. Jak se nám snaží podsunout tyto meme obrázky, backend nemusí být a neměl by být ošklivý a špatně napsaný špagetový kód, právě naopak. Přestože backend uživatel nevidí, měl by fungovat parádně. Podívejme se nyní na to z pohledu reálné aplikace. Reálná aplikace Uvažuji nad webovou aplikací, která bude napojena na databázi. Jako první potřebuji znát, co se má v aplikaci dít, co má aplikace dělat, jaké jsou podmínky, co se má kdy zobrazovat a podobně. Pro tento úkol jsou vyhrazeni specialisté jako analytik, který analyzuje aplikaci z pohledu používání a takzvané business logiky. Tedy například bankovní aplikace má jinou business logiku a podobně aplikace pro správu uživatelů má jinou logiku. Potom nastoupí architekt, který řekne, v čem se bude programovat frontend, v čem back end a vše navrhne technicky. Následně přichází na scénu frontend programátor a backend programátor. Nebo stále více populární fullstack programátor. Role front end developeraFrontend developer má za úkol připravit obrazovky – UI – user interface podle požadavků. Například potřebuje zobrazit všechny transakce na bankovním účtu. Připraví si obrazovku. Použije HTML + CSS na vzhled stránky plus JavaScript na funkcionalitu. Použije nejčastěji jeden z populárních frameworků – podle zadání architekta – Angular, Vue, React. Kromě toho by frontend vývojáři měli ovládat frameworky jako Bootstrap, Foundation a další, které zajišťují skvěle vypadající obsah bez ohledu na zařízení, na kterém si daný obsah prohlížíte. Pokud potřebuje data, tak podá požadavek na backend programátora nebo analytik připraví úlohu pro back end programátora. Frontendista následně poté zobrazí data, která mu poskytl backend. “Frontend developer je zodpovědný za interiérový design domu, který postavil backend developer.” Role back end developeraBack end developer připraví databázi, připraví si kód pro získání dat z databáze a napojení dat do programu. Následně připraví službu na poskytnutí dat do okolního světa. Ne vše, co je v databázi chceme zobrazovat na obrazovce, jen to co je třeba. Služba bývá hlavně REST rozhraní (REST api), které vypadá jako klasická url adresa na webovou stránku, ale místo web stránky vrátí data v požadovaném tvaru. Například vrátí seznam bankovních transakcí daného uživatele ve tvaru JSON. Jako backendista bys měl znát jazyk SQL pro komunikaci s databází. Potom záleží v jakém jazyce je backend napsán – Java, C#, Python, Ruby a podobne. Potom každý jazyk má frameworky, které pomáhají při práci. Role full stack developeraIdeální kombinace je vědět jak front end, tak back end. Fullstack developer si připraví obrazovku a pokud potřebuje data, tak si je umí i sám připravit. Podle mého názoru je dobře vědět i frontu i backend, ale trpí tím hloubka znalostí problematiky. Dovednosti a znalosti fullstack developerů jsou potřebné ve všech fázích procesu webového vývoje, počínaje fází plánování projektu, správou databází, vytvářením uživatelských rozhraní až po strukturování údajů a řešení kritických potřeb. Fullstack vývojáři proto musí porozumět všem úrovním webových stránek a tomu, jak web funguje. Na závěr lze říci, že učení se více webových jazyků a technologií je pravděpodobně nejlepší cesta. Je však dobré mít na paměti tento přístup: osvojte si nejpoužívanější a nejpopulárnější technologie/jazyky, protože čím větší podporu pro svůj web/produkt/službu máte, tím lépe. Backend developer zná do hloubky problémy, které mohou vzniknout s databází, zná lépe všechny procesy na pozadí. Frontend developer ovládá lépe javascriptový framework, ví jak udělat věci efektivněji. Fullstack developer nemusí čekat, až mu připraví data na backendu a umí si vše lépe manažovat.

Nezmeškej info o nových kurzech a speciálních nabídkách