Späť na blog
Vzdelávanie

Hra GalaxyCodr učí programovať deti od 8 rokov

Skillmea
17.09.2021
9 minút čítania
Hra GalaxyCodr učí programovať deti od 8 rokov

Veľký tresk našej galaxie

Prácou so žiakmi sme získali cenné skúsensti. Z nich sme čerpali pri tvorbe video kurzov programovania pre deti. Vo videách účastníkom predstavíme postup, podľa ktorého si dokážu naprogramovať vlastné projekty. Naším zámerom však je, aby deti neboli len pasívnymi divákmi, ale aby samé aktívne tvorili riešenia problémov pri programovaní.
Rozhodli sme sa preto vytvoriť vzdelávaciu hru. Inšpiráciu sme našli napríklad v aktivitách Hour of Code alebo hre Run Marco, na ktorú sme pozerali ako na nášho duchovného súpera. Vo svete však existuje viacero podobných projektov. Väčšina z nich sa však venuje len úplným základom a to je pohyb alebo orientácia robota. My sme chceli ísť viac do hĺbky. Na prvý pohľad sme chceli zaujať príjemnou grafikou, vtipným príbehom a animovanými filmami.

Už od samého začiatku sme náš projekt testovali s deťmi. Žiakom sme predviedli náčrty postáv a nechali sme ich hlasovať. Vybrali si vzhľad hlavného hrdinu, vesmírnu raketu alebo príšerky do albumu. Keďže som zberateľský typ, hneď na začiatku som chcel deti motivovať zbieraním. Podobne, keď som ako školák kupoval samolepky pokémonov do nálepkového albumu.

Prvá verzia hry, ktorú sme testovali so žiakmi, vznikla ešte ako prototyp v prostredí Scratch. Popravde Scratch doteraz využívame pri tvorbe podkladov a návrhu nových mechaník. Na obrázku nižšie si pozrite malú ukážku.
Simulujeme to, ako budú fungovať, predtým než sa pustíme do ich programovania a implementácie do hry. Počas vývoja sme upustili od viacerých návrhov. Napríklad, pôvodne sme našu hru pomenovali Galacticco. Chceli sme deti odmeňovať predmetmi, ktorými by si zveľaďovali svoju virtuálnu izbu alebo vylepšovali vesmírnu raketu. To by bola domovská základňa nášho hrdinu. Do finálnej podoby sa nedostal ani dizajn úrovní pod vodou alebo medzi oblakmi. Vulkanickej planéty plnej lávy sa však možno ešte v budúcnosti dočkáme. 

Popis hry GalaxyCodr v skratke 

Hra je rozdelená na niekoľko planét. Každá z nich sa venuje nejakej problematike programovania. Obsahuje 20 základných príbehových úrovní. Pre odvážnych je určených 5 náročnejších bonusových úrovní. Každá planéta má vlastné príbehové videá a graficky odlišné prostredie.

Úrovne tvoria cesty zložené z políčok. Cieľom je navigovať postavičku Spike na cieľové políčko. Riešením je algoritmus zložený z pokynov teda príkazov, ktoré majú tvar blokov. Zkladáme ich dokopy podobne ako pri stavebnici. Programujeme spôsobom uchop, presuň. a umiestni. Poradie inštrukcií je veľmi dôležité, pretože Spike vykonáva príkazy postupne. Každý level obsahuje didaktický cieľ. Ktorý keď žiaci splnia dostanú víťazný pohár. Na splnenie cieľa na prvých úrovňiach sa postačí dostať do cieľa. Neskôr sa ciele prispôsobia problematike, ktorej sa na danej úrovne venujeme.
Zábavný fakt: Prvé dve planéty Sandy a Roj meteoritov, ktorý obieha okolo planéty, sme spojili do jedného celku. Tieto dva akty boli zverejnené a dlhý čas dostupné na hranie. Spolu s ďalšími planétami prichádzame aj so súťažou. Chceli sme, aby hráči hrali niečo nové a neboli znudení opakovaním úrovní. Tak sme sa rozhodli spojiť pôvodné dva celky dokopy. Zároveň sme navrhli novú sadu úloh. Je mierne náročnejšia. Uvidíme, ako sa nám toto rozhodnutie osvedčí. Hráči sa tak po prejdení prvej planéty môžu tešiť na nový obsah tvorený 4 novými planétami a teda 80 levelmi.

Kurikulum planét

1. Planéta: Sandy 

Na povrchu planéty sa naučíme: pohyb postavičky, postupnosť príkazov, vstupné parametre a cyklus.
Začíname s bežnými príkazmi ako choď dopredu alebo otoč sa. Riešenie niektorých úrovní nabáda opakovať časti kódu pomocou príkazu opakuj. Všimnite si, že do príkazov vieme písať rôzne čísla.
Vo vesmíre sa naučíme: orientácia na dráhe a časovanie.
Dráha je kvôli meteoritom rozdelená na niekoľko samostatných častí. Tie sú poprepájané pomocou portálov. Pozor, východy z portálu môžu byť otočené iným smerom ako ich vstupy! Premávku vo vesmíre podobne ako aj u nás pomáhajú riadiť semafory. Musíme si naplánovať, pri ktorom semafore budeme čakať a ako dlho. Prípadne musíme hľadať cestu, po ktorej sa dostaneme najrýchlejšie do cieľa. Na získanie víťazného pohára je potrebné prejsť level za určitý počet ťahov. Každý krok dopredu ako aj čakanie nás stojí drahocenný ťah.

2. Planéta: Terra

Naučíme sa: cyklus s ne-určeným počtom opakovaní a podmienky.
Cesta sa nám zdá príliš dlhá. Nebudeme počítať políčka. Budeme opakovať kráčanie pokiaľ sa nedostaneme do cieľa. Sem tam musíme odbočiť alebo sa vyhnúť prekážke. Aby sme vedeli kedy, tak sa na to potrebujeme opýtať. Tieto otázky skladáme pomocou podmienok, napríklad: Ak je cesta vpravo, odboč doprava. Na začiatku ich budeme mať predpripravené, neskôr si ich budeme musieť poskladať z jednotlivých dielikov.

3. Planéta: Crystal 

Naučíme sa: premenné a vstupné parametre.
Cestu nám blokujú rôzne uzavreté zátarasy alebo nefunkčné portály. Na ich spojazdnenie potrebujeme určitý počet kryštálov vhodnej farby. Tie sú našťastie všade okolo nás. Budeme ich zbierať, počítať a používať.

4. Planéta: Votan

Naučíme sa: súradnice.
Celá plocha je pokrytá ľadom až na pár zasnežených políčok. Práve ich polohu musíme zistiť. Je zložená z písmen a čísel. Keď zistíme správnu polohu, môžeme sa po ľade na políčko šmyknúť.

5. Planéta: Zombie IX

Naučíme sa: programovať viacero postáv a udalosti.
V ceste nám stojí zavretá brána. Niekde musí byť páka, ktorá ju otvorí. Nedočiahneme na ňu. Pomôcť nám môžu okolo sa potulujúci roboti. Ich program je však poškodený. Sú hlúpejší ako zombie, ktoré sú nám v pätách. Pomocníkov potrebujeme naprogramovať. Musíme im dať znamenie, aby v správnej chvíli otvorili bránu. Tak, aby nás pustili ďalej, ale aby zombie zostali vonku.

Nové možnosti a súťaž s Kauflandom

Hraním hry môžeme plniť rôzne úspechy, za ktoré dostanete odmeny pre svoj účet. Môžeme si upraviť obrázok a rámček avatara, pridať pred svoju hernú prezývku titul ako napríklad "kráľ galaxie". Na stránke hry máme pripravenú aj pomoc pre učiteľov. Tí majú možnosť založiť si učiteľský účet. V ňom môžu vytvárať triedy, kam si vás pomocou kódu môžu pridať a sledovať tak váš postup hrou. 
Vďaka spolupráci s Kauflandom sme hráčom sprístupnili nový obsah. V Kauflande si môžete zakúpiť len za 1 euro nálepkový album. Za každých 20 Eur nákupu získate jeden balíček obsahujúci 5 náhodných nálepiek do albumu a 1 QR kód. Pomocou QR kódu môžete získať ďalší balíček, ale tentoraz do digitálneho albumu. Dvojnásobná radosť z otvárania. 
Tento balíček si v predajni môžete zakúpiť aj samostatne za 0,5 Eur. Ak sa vám podarí zozbierať celý digitálny album a dokončíte prvú planétu, víťazné poháre  nepotrebujete, môžete sa zapojiť do súťaže o herný notebook. Digitálnych hrdinov môžete získať aj hraním hry. Ak si vo svojom profile vyplníte školu, automaticky ju zapíšete do súťaže o IT učebňu.
Viac informácií o súťaži a hre GalaxyCodr nájdete na webe.
Skillmea
🥇 Sme jednotka v online vzdelávaní na Slovensku.

Na našom webe nájdeš viac ako 600 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 ťa zaujímať

Frontend vs Backend vs Fullstack a ako sa na to pozerám ja
Vzdelávanie
20.08.2021
Jaroslav Beňo

Frontend vs Backend vs Fullstack a ako sa na to pozerám ja

Pri riešení a vývoji aplikácii si vieme vývoj rozdeliť na dve hlavné časti – front end a back end. Front end je v podstate to čo vidíš očami – to s čím sa používateľ ako prvým stretne (počas vysokej školy ma pucoval jeden profesor, že človek, čo kliká našu aplikáciu je používateľ a nie užívateľ). Následne back end je všetko vzadu, čo bežný používateľ nevidí, čo sa deje na pozadí, zväčša je to spracovanie dát, komunikácia s databázou a podobne.  Po internete kolujú desiatky memes, v ktorých sa tieto rozdiely medzi frontendom a backendom zobrazujú. Pozri si zopár z nich: [Image] Dúfam, že máš teraz akú takú hrubú predstavu o tom, čo je frontend a čo backend. Ako sa nám snažia podsunúť tieto meme obrázky, backend nemusí byť a nemal by byť škaredý a zle napísaný špagetový kód, práve naopak. Napriek tomu, že backend používateľ nevidí, mal by fungovať parádne. Pozrime sa teraz na to z pohľadu reálnej aplikácie.  Reálna aplikácia Uvažujem nad webovou aplikáciou, ktorá bude napojená na databázu. Ako prvé potrebujem poznať, čo sa má v aplikácii diať, čo má aplikácia robiť, aké sú podmienky, čo sa má kedy zobrazovať a tak podobne.   Na túto úlohu sú vyhradení špecialisti ako analytik, ktorý analyzuje aplikáciu z pohľadu používania a takzvanej business logiky. Teda napríklad banková aplikácia má inú business logiku a podobne aplikácia na správu používateľov má inú logiku. Potom nastúpi architekt, ktorý povie, v čom sa bude programovať frontend, v čom back end a všetko navrhne technicky.  Následne prichádza na scénu frontend programátor a backend programátor. Alebo čoraz viac populárny fullstack programátor.  Úloha front end developeraFrontend developer má za úlohu pripraviť obrazovky – UI – user interface podľa požiadaviek. Napríklad potrebuje zobraziť všetky transakcie na bankovom účte. Pripraví si obrazovku. Použije HTML + CSS na výzor stránky plus JavaScript na funkcionalitu. Použije najčastejšie jeden z populárnych frameworkov – podľa zadania architekta – Angular, Vue, React. Okrem toho by frontend vývojári mali ovládať frameworky ako Bootstrap, Foundation a ďalšie, ktoré zaistujú skvelo vyzerajúci obsah bez ohľadnu na zariadenie, na ktorom si daný obsah prezeráte. Ak potrebuje dáta, tak podá požiadavku na backend programátora alebo analytik pripraví úlohu pre back end programátora. Frontendista následne potom zobrazí dáta, ktoré mu poskytol backend.  “Frontend developer je zodpovedný za interiérový dizajn domu, ktorý postavil backend developer.” Úloha back end developeraBack end developer pripraví databázu, pripraví si kód na získanie dát z databázy a napojenie dát do programu. Následne pripraví službu na poskytnutie dát do okolitého sveta. Nie všetko, čo je v databáze chceme zobrazovať na obrazovke, len to čo je treba. Služba býva hlavne REST rozhranie (REST api), ktoré vyzerá ako klasická url adresa na webovú stránku, no namiesto web stránky vráti dáta v požadovanom tvare. Napríklad vráti zoznam bankových transakcií daného používateľa v tvare JSON.   Ako backendista by si mal poznať jazyk SQL na komunikáciu s databázou. Potom záleží v akom jazyku je backend napísaný – Java, C#, Python, Ruby a podobne. Potom každý jazyk má frameworky, ktoré pomáhajú pri práci.  Úloha full stack developeraIdeálna kombinácia je vedieť aj front end aj back end. Fullstack developer si pripraví obrazovku a ak potrebuje dáta, tak si ich vie aj sám pripraviť. Podľa môjho názoru je dobre vedieť aj front aj backend, ale trpí tým hĺbka znalostí problematiky.   Zručnosti a znalosti fullstack developerov sú potrebné vo všetkých fázach procesu webového vývoja, počnúc fázou plánovania projektu, správou databáz, vytváraním používateľských rozhraní až po štruktúrovanie údajov a riešenie kritických potrieb. Fullstack vývojári preto musia porozumieť všetkým úrovniam webových stránok a tomu, ako web funguje. Na záver možno povedať, že učenie sa viacerých webových jazykov a technológií je pravdepodobne najlepšia cesta. Je však dobré mať na pamäti tento prístup: osvojte si najpoužívanejšie a najpopulárnejšie technológie/jazyky, pretože čím väčšiu podporu pre svoj web/produkt/službu máte, tým lepšie. Backend developer pozná do hĺbky problémy, ktoré môžu vzniknúť s databázou, pozná lepšie všetky procesy na pozadí.  Frontend developer ovláda lepšie javascriptový framework, vie ako spraviť veci efektívnejšie. Fullstack developer nemusí čakať, kým mu pripravia dáta na backende a vie si všetko lepšie manažovať.
Data Science: ktorým jazykom začať?
Vzdelávanie
11.08.2021
Skillmea

Data Science: ktorým jazykom začať?

Aj ty rozmýšľaš o tom, že sa naučíš data science, ale nevieš, kde začať? Dostávame otázky na to, s ktorým data science jazykom začať ako s prvým. Preto sme pripravili tento blog, v ktorom ti zosumarizujeme nami navrhovaný postup učenia sa data science. V článku nájdeš tipy na jazyky dátovej vedy od našich lektorov Mira Beku, ktorý spravil populárny online kurz Python Data Science a od Mareka Čecha, ktorý vytvoril kurz so zameraním na SQL dátovú analýzu. Veríme, že tento článok ti pomôže vybrať ten správny data science jazyk.[Image] Správny jazyk pre tvoje Data Science cielePredtým, ako si vyberieš konkrétny jazyk, by si si mal(a) položiť niekoľko otázok a zodpovedať na ne. Sú to najmä tieto: Na akých projektoch chceš pracovať? Aké témy ťa zaujímajú? Do ktorých odvetví chceš ísť? Odpovede na tieto otázky ti pomôžu určiť jazyk, ktorý sa budeš musieť naučiť. Niektoré odvetvia vyžadujú znalosť konkrétneho jazyka, je to najmä z dôvodu, že budeš pracovať s preverenými modelmi daného odvetvia, ktoré sú vytvorené pomocou určitého jazyka. Dobrým postupom je aj opýtať sa dátových vedcov z odvetvia, ktoré ťa zaujíma, na jazyky, ktoré používajú a čím odporúčajú začať. Nižšie v článku nájdeš niekoľko facebookových a iných skupín z regiónu Slovenska a Česka, ktoré ti odporúčame. “TL;DR: Najčastejšie používané jazyky v dátovej vede sú Python, R a SQL. Toto sú aj nami odporúčané jazyky, ktorými začať, pokiaľ máš v úmysle stať sa dátovým vedcom. ” Pri výbere akéhokoľvek z data science jazykov však v podstate neurobíš chybu, nakoľko keď sa naučíš extrahovať poznatky a dáta pomocou jedného jazyka, nebude pre teba problém naučiť sa iný jazyk. Všestranný dátový vedec by mal byť schopný "skákať" medzi jazykmi. Najobľúbenejšie Data Science jazykyV tomto stručnom prehľade ti predstavíme najobľúbenejšie Data Science jazyky a na čo slúžia. Dobrou správou je, že Python, R aj SQL majú rozsiahle ekosystémy a komunity, takže tieto jazyky sú vhodné pre takmer všetky úlohy dátovej vedy. Python Python je univerzálny moderný programovací jazyk, vieš ním robiť weby aj programovať robotov. Medzi programátormi je obľúbený pre svoju stručnú a ľahko čitateľnú syntax. Dobre sa teda číta a je možné sa ho veľmi rýchlo naučiť - je teda skvelou voľbou pre výučbu programovania. Vďaka množstvu výkonných knižníc a balíkov môže Python implementovať mnohé zo štatistických modelov a výpočtov potrebných pre dátovú vedu. Je to tiež jeden z najlepších jazykov na získavanie (scraping) údajov z webu. Veľa firiem a organizácií používa Python na data science, pretože ich programátori už používajú Python aj na iné účely. Python tiež používa intuitívnu a jednoduchú syntax, takže je vhodný pre začiatočníkov na učenie sa dôležitých všeobecných konceptov programovania, ako sú napr. funkcie. Miernou nevýhodou Pythonu ako prvého jazyka pre data science je, že základná inštalácia Pythonu neobsahuje štatistické funkcie, takže si budeš musieť stiahnuť všetky potrebné balíčky, aby si mohol začať s data science v Pythone. Keď si však všetko nastavíš, Python sa dá ľahko naučiť. Zopár zaujímavých a odporúčaných balíčkov pre Python: • Data manipulácia: pandas a NumPy • Vizualizácia: Matplotlib a seaborn • Testovanie hypotéz a modelovanie: SciPy, scikit-learn, statsmodels Lektor Miro Beka odporúča aj Jupyter notebook, ktorý je podľa neho "skvelý nástroj ako pracovať s Python datas cience, pretože programátor vie priamo v ňom vykonávať všetky funkcie, zobrazovať grafy a obrázky, prípadne importovať existujúce jupyter notebooky. Keďže python nemá natívne IDE, kde by všetky tieto veci fungovali out of the box, jupyter notebook slušne dopĺňa Python prostredie o potrebné nástroje." Programovací jazyk R R je štatistický programovací jazyk vytvorený pre analýzu údajov, vizualizáciu údajov a dátovú vedu. Dodáva sa s komplexným súborom vstavaných štatistických funkcií a metód. R je dobrá voľba, ak si nováčik v oblasti dátovej vedy, ale už máš základné znalosti o všeobecných konceptoch programovania. Dátové štruktúry, typy premenných a analytické nástroje v R sú jednoduché a navrhnuté špeciálne pre dátovú vedu. Na začiatku nemusíš byť zaneprázdnený syntaxou alebo viacerými rôznymi knižnicami. So základnou inštaláciou R budeš mať prístup k mnohým funkciám dátovej vedy, ako sú lineárne regresie alebo t-testy, a vytvárať peknú grafiku a vizualizácie. R sa tiež dobre kombinuje s RStudio - integrovaným vývojovým prostredím (IDE) - ktoré uľahčuje spustenie kódu R a kontrolu výstupu. Medzi niekoľko užitočných balíkov, o ktorých by si mal vedieť pri učení jazyka R, patria: • Zbierka data science balíčkov: tidyverse • Data manipulácia: dplyr (nachádza sa aj v tidyverse) • Vizualizácia: ggplot2 (nachádza sa aj v tidyverse) • Regresia: caret SQLSQL je jazyk, ktorý umožňuje programátorom komunikovať s databázami a spravovať údaje, ktoré obsahujú. Bežne sa používa na dopytovanie a úpravu údajov uložených v relačnej databáze. Dátoví vedci zvyčajne extrahujú údaje z databázy pomocou jazyka SQL a potom ich importujú do R alebo Pythonu na analýzu. Bez ohľadu na to, aký jazyk sa pre analýzu údajov naučíš, SQL je dôležité naučiť sa, ak chceš sťahovať údaje z databáz. Znalosť jazyka SQL ti umožňuje pracovať s databázami PostgreSQL, SQLite, MySQL a ďalšími relačnými databázami. Syntax základných dotazov je v rôznych databázach podobná, takže SQL je na tento účel univerzálnym jazykom. Ak sa chceš dozvedieť viac o rôznych typoch databáz, pozri si tento online kurz o MySQL a SQLite. Lektor Marek Čech hovorí o SQL ako o vstupnej bráne do odborov súvisiacich so správou dát, či už sa jedná o dáta science, dáta analýzu alebo napríklad business intelligence. Je nielen univerzálnym jazykom pre komunikáciu s databázami a získavanie dát z nich, ale ponúka aj veľké množstvo vstavaných funkcií, vďaka ktorým je používateľ veľmi rýchlo a jednoducho schopný robiť pomerne komplexné operácie. "Začať svoju cestu k práci s dátami jazykom SQL by som práve preto odporučil aj ľuďom, ktorí nemajú predchádzajúce skúsenosti s programovaním či "kódovaním". Človek sa tak naučia písať jednoduché aj zložité otázky, vytvárať databázové schémy, indexy či procedúry, a všeobecne pochopí, ako tok dát a ich čistenie / transformácie bežne prebieha." hovorí ďalej Marek Čech. Jazyk SQL je možné využiť naozaj v akomkoľvek odbore. Poznať ho teda znamená otvorené dvere do lokálnych podnikov i nadnárodných korporácií snáď vo všetkých odvetviach. A keď sa človek rozhodne svoje znalosti rozšíriť o ďalšie jazyky, bude sa mu znalosť SQL stále hodiť pri pátraniach na zdrojové dáta a často aj pre najrôznejšie dáta analytické operácie či poskytovanie dát "businessovým" používateľom - teda napr. Manažment firmy. Ďalšie data science jazykyV závislosti od toho, do akého odvetvia nakoniec pôjdeš, sa možno budeš musieť naučiť konkrétny jazyk pre dátovú vedu. V nasledujúcom zozname jazykov sa dozvieš viac o tom, na čo sa používajú. C/C ++: C aj C ++ vyžadujú silné znalosti základov programovania a učenie týchto jazykov môže trvať dlhšie. V kombinácii s Pythonom alebo R je možné C/C ++ použiť na rýchlejšie a efektívnejšie výpočty datasetov. JavaScript: JavaScript je super nástroj na vývoj interaktívnych data vizualizácií na webe s knižnicami ako D3.js. JavaScript tiež podporuje knižnice strojového učenia ako TensorFlow.js. MATLAB: Ideálny pre pokročilé numerické výpočty a na riešenie zložitých matematických a štatistických problémov. MATLAB sa v akademickom prostredí široko používa na vyučovanie matematiky, fyziky a inžinierstva. Julia: Novší programovací jazyk navrhnutý pre numerickú analýzu a výpočtovú vedeckú analýzu. Je to užitočné pre aplikácie vo fyzike, chémii, astronómii, strojárstve, bioinformatike a ďalších oblastiach. Scala: Výkonný jazyk, ktorý dokáže spracovať veľké množstvo údajov. Scala beží na Java Virutal Machine, čo znamená, že sa dobre integruje s programami napísanými v Jave. SAS: Vytvorený pre pokročilú analytiku, obchodnú inteligenciu a prediktívnu analýzu. SAS sa bežne používa v zdravotníctve, bankovníctve a poisťovníctve. Stata: Používa sa v ekonomickom výskume, verejnej politike a sociálnych vedách. Stata je navrhnutá pre čokoľvek od jednoduchej deskriptívnej analýzy po komplexné štatistické modelovanie. Ďalšie vzdelávanie v data sciencePokiaľ chceš byť v kontakte s ľuďmi z fachu, pozri si týchto zopár užitočných odkazov. Toto sú slovenské Facebook skupiny, ktoré sa zaoberajú dátovou vedou: • PyData Slovakia & Bratislava 👉 https://www.facebook.com/groups/1813599648877946/ • R Slovakia 👉 https://www.facebook.com/groups/931707906955080/ Pycon konferencia v Bratislave je organizovaná dobrovoľníkmi a dobrovoľníčkami z občianskeho združenia SPy o.z. zameraného na šírenie jazyka Python a ďalších open sourcových technológií a myšlienok. Pycon má špecializovaná časť, ktorá sa volá Edu Summit a je zameraná na vyučovanie programovania na základných a stredných školách. Viac info nájdeš na webe Pyconu. Pythonu sa venuje aj konferencia Python Day Bratislava. Je to československá konferencia, na ktorej si vypočuješ prednášky od popredných českých a slovenských odborníkov zo sveta Pythonu. Ročník 2021 bol organizovaný online. Machine Learning Prague je najväčšia európska konferencia o Machine Learningu, AI a Deep Learningu. Ročník 2022 bude v marci, viac info na stránke konferencie. 
Krátky úvod do SQL
Vzdelávanie
25.06.2021
Skillmea

Krátky úvod do SQL

Úvod do databázyNa internete, v mobilných aplikáciách vo webových aplikáciách potrebujeme dáta – informácie. Tieto informácie musia byť niekde uložené. My si budeme rozprávať o SQL databázach. Sú to systémy, ktoré majú v sebe uložené dáta vo forme tabuliek. Z týchto tabuliek následne tieto dáta čítame a zobrazujeme používateľom.  Pozrime sa na príklad. Majme databázu – informácie o škole. V tejto databáze máme informácie o triedach, učiteľoch alebo aj o žiakoch.  Začnime s triedami. Aké máme informácie o triede? Trieda má názov, kapacitu, číslo miestnosti, označenie či je interaktívna a podobne. Tieto označenia by boli názvy stĺpcov v tabuľke. Riadky v tabuľke sú následne reálne dáta.  Názov tabuľky: Class[Image] V databáze budeme mať viacero tabuliek, podľa požiadaviek. Môžeme mať všetko v jednej tabuľke, ale ako to potom rozdelíme? Nad takýmto uvažovaním treba myslieť dopredu. Analýza a návrh tabuliek ide ruka v ruke s praxou. Neboj sa toho, teraz je potrebné hlavne, aby si získal prax a to ide ruka v ruke s chybami.   Úvod do SQLV počítačovom svete máme viacero typov databáz. My si niečo povieme o SQL teda o Structured Query Language. V preklade niečo ako štruktúrovaný dopytový jazyk. Query teda dopyt je príkaz – žiadosť – dopyt na databázu. Žiadame o vrátenie dát, o úpravu dát, vloženie alebo o zmazanie dát.  Databáza je samostatný systém, ktorý môže byť na tvojom počítači alebo na vzdialenom počítači. Na túto databázu potom pošleme dopyt. Dopyt pošleme formou SQL príkazov, ktoré majú určitú štruktúru.  SQL syntaxSQL nie je case sensitive, teda sa nerozlišujú veľké a malé písmená. Napriek tomu sa príkazy píšu najmä veľkými písmenami. Príkazy vieme písať aj na viacero riadkov, ale musia byť ukončené bodkočiarkou. SELECT * FROM Class; Alebo:  SELECT * FROM Class;Samozrejme zmysel to dáva len ak je komplikovanejší príkaz.  Názvy stĺpcov a tabuliek píšeme malými písmenami. Ak je názov zložený z viacerých slov, tak slová oddelíme znakom _ podtržník. Je to odporúčaný spôsob pre lepšiu čitateľnosť. Názvy môžu obsahovať aj čísla. Pri vymýšľaní názvov sa pokús vyhnúť množným číslam. Názvy majú byť krátke a výstižné.  Názvy nesmú byť totožné s kľúčovými slovami, ako je napríklad slovo SELECT / select. DatabázaVytváranie databázyDatabázu vieme vytvoriť aj pomocou príkazu ak sa napojíme na inštaláciu databázového systému, napríklad MySQL.  Príkaz by vyzeral nasledovne:  CREATE DATABASE Class;  Alebo ju vytvoríme po pripojení sa na databázový systém z databázovej aplikácie. Tých je viacero. MySQL workbench, DBiever alebo SQuirrel. Aj programovacie vývojové prostredia sa vedia pripojiť na databázu ako napríklad IntelliJ IDEA Ultimate edition. Všetky poskytujú prostredie na správu a prezeranie databáz.  Databázu vieme aj zmazať: DROP DATABASE Class; Premenovať: RENAME DATABASE Class TO new_class_name;  Vytváranie tabuliekTeraz, keď sme vytvorili databázu, tak si môžeme vytvoriť tabuľky. Znovu vieme použiť prostredie na správu databáz, ale my si ukážeme postup pomocou príkazu. Pozrime sa na príklad: CREATE TABLE Class ( id int, name varchar(255), capacity int, room_number int, interactive boolean );Čo sme napísali? Na začiatok máme príkaz CREATE TABLE Class, kde vravím, že chcem vytvoriť tabuľku s menom Class. Následne medzi zátvorky napíšeme zoznam stĺpcov – tučným písmom naznačené (id, name ...). Vedľa názvov stĺpcov máme špecifické príkazy pre dané databázové systémy. Jedno je však spoločné – za názvom stĺpcu nasleduje typ údaju – musíme zašpecifikovať, či je to číslo, či je to text, či je to boolean a podobne.  Špecifikovanie dátových typov sa môže líšiť podľa toho, akú databázu používame. Základné typy sú podobné a niektoré rovnaké.  Napríklad text zašpecifikujem ako varchar – v zátvorke je dĺžka počtu znakov, teraz som povedal, že názov môže mať dĺžku len 255 znakov. Páčil sa vám článok? V nasledujúcom článku sa pozrieme na ďalšie SQL príkazy.

Nezmeškaj info o nových kurzoch a špeciálnych ponukách