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

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

Skillmea
17.09.2021
9 minut čtení
Hra GalaxyCodr učí programovat děti od 8 let

Velký třesk naší galaxie

Prací 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.
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 zkratce

Hra 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.
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 planet

1. 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: Terra

Naučí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: Votan

Naučí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 IX

Naučí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.

Nové možnosti a soutěž s Kauflandem

Hraní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.
Více informací o soutěži a hře GalaxyCodr najdete na webu.
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

Programování pro děti: průvodce pro rodiče a učitele
Vzdělávání
08.09.2021
Skillmea

Programování pro děti: průvodce pro rodiče a učitele

Programování pro děti je stále více oblíbenější. Není to překvapující, vzhledem k tomu, jak se společnost stala závislou na technologiích. Stále více lidí se zajímá o tuto 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. Naučit se programovat v mladém věku může dítěti zajistit celoživotní úspěch. Programování 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á, 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ě, než 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í. Některé vlády, například Velké Británie, Estonska a Finska zavedly nebo zvažují zavedení programování jako součást školních osnov pro děti ve věku 5 a více let. 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, má rádo kreslení, ukažte mu nástroje. Scratch díky, kterému můžete vytvářet animace, interaktivní příběhy, hry a pod. pomcí 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šu vzdelá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.
Data Science: kterým jazykem začít?
Vzdělávání
11.08.2021
Skillmea

Data Science: kterým jazykem začít?

I ty přemýšlíš o tom, že se naučíš data science, ale nevíš, kde začít? Dostáváme dotazy na to, s kterým data science jazykem začít jako s prvním. Proto jsme připravili tento blog, ve kterém ti shrnujeme nami navrhovaný postup učení se data science. V článku najdeš tipy na jazyky datové vědy od našich lektorů Mira Beku, který udělal populární online kurz Python Data Science a od Mareka Čecha, který vytvořil kurz se zaměřením na SQL dátovú analýzu. Věříme, že tento článek ti pomůže vybrat ten správný data science jazyk.[Image] Správný jazyk pro tvé Data Science cílePředtím, než si vybereš konkrétní jazyk, by sis měl(a) položit několik otázek a zodpovědět na ně. Jsou to zejména tyto: Na jakých projektech chceš pracovat? Jaká témata tě zajímají? Do kterých odvětví chceš jít? Odpovědi na tyto otázky ti pomohou určit jazyk, který se budeš muset naučit. Některá odvětví vyžadují znalost konkrétního jazyka, je to zejména z důvodu, že budeš pracovat s prověřenými modely daného odvětví, které jsou vytvořeny pomocí určitého jazyka. Dobrým postupem je i zeptat se datových vědců z odvětví, které tě zajímá, na jazyky, které používají a čím doporučují začít. Níže v článku najdeš několik facebookových a jiných skupin z regionu Slovenska a Česka, které ti doporučujeme. “TL;DR: Nejčastěji používané jazyky v datové vědě jsou Python, R a SQL. Toto jsou i námi doporučené jazyky, kterými začít, pokud máš v úmyslu stát se datovým vědcem. ” Při výběru jakéhokoli z data science jazyků však v podstatě neuděláš chybu, protože když se naučíš extrahovat poznatky a data pomocí jednoho jazyka, nebude pro tebe problém naučit se jiný jazyk. Všestranný datový vědec by měl být schopen „skákat“ mezi jazyky. Nejoblíbenější Data Science jazykyV tomto stručném přehledu ti představíme nejoblíbenější Data Science jazyky ak čemu slouží. Dobrou zprávou je, že Python, R i SQL mají rozsáhlé ekosystémy a komunity, takže tyto jazyky jsou vhodné pro téměř všechny úkoly datové vědy. Python Python je univerzální moderní programovací jazyk, umíš jím dělat weby i programovat roboty. Mezi programátory je oblíben pro svou stručnou a snadno čitelnou syntaxi. Dobře se tedy čte a lze se ho velmi rychle naučit – je tedy skvělou volbou pro výuku programování. Díky řadě výkonných knihoven a balíků může Python implementovat mnohé ze statistických modelů a výpočtů potřebných pro datovou vědu. Je to také jeden z nejlepších jazyků pro získávání (scraping) údajů z webu. Mnoho firem a organizací používá Python pro data science, protože jejich programátoři již používají Python i pro jiné účely. Python také používá intuitivní a jednoduchou syntaxi, takže je vhodný pro začátečníky k učení se důležitých všeobecných konceptů programování, jako jsou funkce. Mírnou nevýhodou Pythonu jako prvního jazyka pro data science je, že základní instalace Pythonu neobsahuje statistické funkce, takže si budeš muset stáhnout všechny potřebné balíčky, abys mohl začít s data science v Pythone. Když si ale všechno nastavíš, Python se dá snadno naučit. Pár zajímavých a doporučených balíčků pro Python: • Data manipulace: pandas a NumPy • Vizualizace: Matplotlib a seaborn • Testování hypotéz a modelování: SciPy, scikit-learn, statsmodels Lektor Miro Beka doporučuje i Jupyter notebook, který je podle něj "skvělý nástroj jak pracovat s Python data science, protože programátor umí přímo v něm vykonávat všechny funkce, zobrazovat grafy a obrázky, případně importovat stávající jupyter notebooky. Jelikož python nemá nativní IDE, kde by všechny tyto věci fungovaly out of the box, jupyter notebook slušně doplňuje Python prostředí o potřebné nástroje." Programovací jazyk R R je statistický programovací jazyk vytvořen pro analýzu dat, vizualizaci dat a datovou vědu. Dodává se s komplexním souborem vestavěných statistických funkcí a metod. R je dobrá volba, pokud jsi nováček v oblasti datové vědy, ale už máš základní znalosti o obecných konceptech programování. Datové struktury, typy proměnných a analytické nástroje v R jsou jednoduché a navrženy speciálně pro datovou vědu. Na začátku nemusíš být zaneprázdněn syntaxí nebo více různými knihovnami. Se základní instalací R budeš mít přístup k mnoha funkcím datové vědy, jako jsou lineární regrese nebo t-testy, a vytvářet pěknou grafiku a vizualizace. R se také dobře kombinuje s RStudio – integrovaným vývojovým prostředím (IDE) – které usnadňuje spuštění kódu R a kontrolu výstupu. Mezi několik užitečných balíčků, o kterých bys měl vědět při učení jazyka R, patří: • Sbírka data science balíčků: tidyverse • Data manipulace: dplyr (nachází se i v tidyversu) • Vizualizácia: ggplot2 (nachází se i v tidyversu) • Regrese: caret SQLSQL je jazyk, který umožňuje programátorům komunikovat s databázemi a spravovat údaje, které obsahují. Běžně se používá k dotazování a úpravě údajů uložených v relační databázi. Datoví vědci obvykle extrahují data z databáze pomocí jazyka SQL a poté je importují do R nebo Pythonu k analýze. Bez ohledu na to, jaký jazyk se pro analýzu dat naučíš, SQL je důležité naučit se, pokud chceš stahovat data z databází. Znalost jazyka SQL ti umožňuje pracovat s databázemi PostgreSQL, SQLite, MySQL a dalšími relačními databázemi. Syntaxe základních dotazů je v různých databázích podobná, takže SQL je pro tento účel univerzálním jazykem. Pokud se chceš dozvědět více o různých typech databází, podívej se na tento online kurz o MySQL a SQLite. Lektor Marek Čech mluví o SQL jako o vstupní bráně do oborů souvisejících se správou dat, ať už se jedná o data science, data analýzu nebo třeba business intelligence. Je nejen univerzálním jazykem pro komunikaci s databázemi a získávání dat z nich, ale nabízí také velké množství vestavěných funkcí, díky kterým je uživatel velmi rychle a snadno schopen provádět poměrně komplexní operace. „Začít svou cestu k práci s daty jazykem SQL bych právě proto doporučil i lidem, kteří nemají předchozí zkušenosti s programováním či „kódováním“. Člověk se tak naučí psát jednoduché i složité otázky, vytvářet databázová schémata, indexy či procedury, a obecně pochopí , jako tok dat a jejich čištění / transformace běžně probíhá." mluví dále Marek Čech. Jazyk SQL lze využít opravdu v jakémkoli oboru. Znát jej tedy znamená otevřené dveře do lokálních podniků i nadnárodních korporací snad ve všech odvětvích. A když se člověk rozhodne své znalosti rozšířit o další jazyky, bude se mu znalost SQL stále hodit při pátráních na zdrojová data a často i pro nejrůznější data analytické operace či poskytování dat "businessovým" uživatelům - tedy např. u vědy. Management firmy. Další data science jazykyV závislosti na tom, do jakého odvětví nakonec půjdeš, se možná budeš muset naučit konkrétní jazyk pro datovou vědu. V následujícím seznamu jazyků se dozvíš více o tom, k čemu se používají. C/C ++: C aj C ++ vyžadují silné znalosti základů programování a učení těchto jazyků může trvat déle. V kombinaci s Pythonem nebo R lze C/C++ použít pro rychlejší a efektivnější výpočty datasetů. JavaScript: JavaScript je super nástroj pro vývoj interaktivních data vizualizací na webu s knihovnami jako D3.js. JavaScript také podporuje knihovny strojního učení jako TensorFlow.js. MATLAB: Ideální pro pokročilé numerické výpočty a pro řešení složitých matematických a statistických problémů. MATLAB se v akademickém prostředí široce používá k vyučování matematiky, fyziky a inženýrství. Julia:Novější programovací jazyk navržený pro numerickou analýzu a výpočetní vědeckou analýzu. Je to užitečné pro aplikace ve fyzice, chemii, astronomii, strojírenství, bioinformatice a dalších oblastech. Scala: Výkonný jazyk, který dokáže zpracovat velké množství dat. Scala běží na Java Virutal Machine, což znamená, že se dobře integruje s programy napsanými v Javě. SAS: Vytvořen pro pokročilou analytiku, obchodní inteligenci a prediktivní analýzu. SAS se běžně používá ve zdravotnictví, bankovnictví a pojišťovnictví. Stata: Používá se v ekonomickém výzkumu, veřejné politice a sociálních vědách. Stata je navržena pro cokoli od jednoduché deskriptivní analýzy po komplexní statistické modelování. Další vzdělávání v data sciencePokud chceš být v kontaktu s lidmi z fachu, prohlédni si těchto pár užitečných odkazů. Toto jsou slovenské Facebook skupiny, které se zabývají datovou vědou: • PyData Slovakia & Bratislava 👉 https://www.facebook.com/groups/1813599648877946/ • R Slovakia 👉 https://www.facebook.com/groups/931707906955080/ Pycon konference v Bratislavě je organizována dobrovolníky a dobrovolnicemi z občanského sdružení SPy o.z. zaměřeného na šíření jazyka Python a dalších open sourcových technologií a myšlenek. Pycon má specializovaná část, která se jmenuje Edu Summit a je zaměřena na vyučování programování na základních a středních školách. Více info najdeš na webe Pyconu. Pythonu se věnuje i konference Python Day Bratislava. Je to československá konference, na které si poslechneš přednášky od předních českých a slovenských odborníků ze světa Pythonu. Ročník 2021 byl organizován online. Machine Learning Prague je největší evropská konference o Machine Learningu, AI a Deep Learningu. Ročník 2022 bude v březnu, více info na stránce konference.

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