Ahoj! Jsme moc rádi, že máš zájem zúčastnit se ostravských PyLadies a naučit se základy programování v Pythonu!
Tento kurz bude probíhat trochu jinak než ty předchozí. Bude to kurz týmový.
Každý pátek vám pošleme seznam studijních materiálů a domácích projektů pro daný týden. Do středy budete mít čas si materiály projít. Materiály jsou textové, ale velká část z nich je doplněna o video, které tě tématem velmi detailně provede. Každou středu se sejdeme a na srazu bude možnost prokonzultovat to, co nebylo jasné, odpovědět na vaše zvídavé dotazy, pomoct s domácími projekty atp. To, že máme prezenční srazy neznamená, že vám ve zbytku týdne nepomůžeme. V průběhu celého kurzu (a i po jeho ukončení) vám budou k dispozici koučové. To jsou lidé, kteří prošli kurzem před vámi a nebo už pracují jako programátoři/programátorky. Na vypracování domácích projektů budete mít čas do neděle. (A v pátek vám přijdou další úkoly.)
Kurz nestojí žádné peníze. Ale místo toho stojí čas a úsilí.
A to jak Tvůj čas, který si musíš vyhradit, aby ses něco naučil/a, tak čas náš – všech dobrovolníků, kteří kurz dávají dohromady a kteří vám s ním budou pomáhat.
Prosím, respektuj to. Jestli si nemůžeš vyhradit dost času, nepřihlašuj se a uvolni místo někomu, kdo svůj čas investovat může.
Na to, aby ses naučil/a základy programování, budeš potřebovat zhruba tři měsíce. Každý týden se podíváš na nová videa a ve zbytku týdne si nabyté znalosti budeš zkoušet. Připrav se na to, že tím zkoušením strávíš minimálně osm hodin týdně. Podle toho kolik už znáš to ze začátku může být míň, ale časem určitě přitvrdíme.
Přihlášeným týmům přijde odkaz na takzvané „odevzdávátko“, web kam můžete po přihlášení nahrát řešení domácích úkolů. To je povinné. Ne kvůli nám – když je neodevzdáte, tak nám to, upřímně, jenom ulehčí práci. Povinné je to kvůli Tobě. Programovat se nenaučíš jen sledováním videí nebo čtením materiálů, ale potřebuješ si to sám/sama vyzkoušet. A kromě toho některé koncepty ve videích vůbec nebudou – budeš na ně v rámci úkolů muset přijít sám/sama, nebo se zeptat.
Takže dělej úkoly a když něco nebude jasné, tak se ptej. A když to jasné bude, ale napadne Tě zajímavá otázka, i kdyby třeba trochu odbíhala od tématu, ptej se taky!
(Ale kdybyste se někdy chtěli zeptat, jestli vadí že nestíháte úkol, tak tohle je otázka spíš na vás, ne na nás. Vy se to chcete naučit; vy musíte vědět jak moc vám vadí, že nestíháte.)
Ve středy nebude probíhat žádný oficiální výklad celého obsahu lekce. Probereme domácí projekty z minula a dovysvětlíme, co nebylo jasné. Ano, teoreticky si obsah lekce můžete přečíst až ve středu na srazu, ale na srazu bude spousta lidí, která se rozhodla vyhradit si svůj čas na to, aby vás naučila programovat a je škoda toho nevyužít.
Už nějakou dobu učíme prezenční kurzy. Myslíme si, že to nejdůležitější co takový kurz nabízí je motivace: když je každou středu sraz který nejde odložit, je složitější se na to jeden týden vykašlat, než když je celý kurz kdykoli k dispozici. A po jednom vynechaném týdnu je jednoduché vynechat další týden, a pak další, a tak dál. Doufáme, že v týmu bude takové vynechávání složitější.
Další co prezenční kurz přináší jsou lidi. Na začátku potkáš na jedné straně lidi, kteří se učí to samé co ty, a na druhé lidi, co tě to chtějí naučit. Ke konci kurzu máš z obou skupin kamarády; za pár let třeba kolegy. S online kurzem je tohle složité, ale doufáme, že týmy a prezenční setkání to aspoň trochu vynahradí.
Nevadí, sice na úkoly budeš sám/sama, ale účast v kurzu ti zakazovat nebudeme. Máme za sebou mnoho kurzů a tak víme, že se jejich obsah dá bez problémů zvládnout i individuálně. Jen to v týmu bude větší zábava se silnější motivací. Pokud by ses chtěl/a spojit do týmu s někým, kdo také nemá tým, bude možnost na začátku kurzu.
Preferovali bychom, kdybys byl/a z okolí. Ale opět, v účasti na kurzu ti bránit nebudeme. Přijdeš sice o osobní setkání, a tak to bude složitější z hlediska motivace. O rady od koučů ale nepřijdeš, videohovory jsou také řešení.
Přihlášeným týmům přijde odkaz na Slack, kde se rojí jak zkušení programátoři tak nováčci. Každý v rámci svých možností rád pomůže.
Tuhle diskusi využívej. Ptát se je zdaleka to nejužitečnější, co můžeš udělat, aby ses naučil/a programovat. Dělají to všichni. Programování je tak široký obor, že v něm nikdo neví všechno. Na všech úrovních je důležité vědět, koho se zeptat a jak se dobře ptát. A tohle ptaní je jako jakákoli jiná schopnost: jde natrénovat. Takže trénuj.
Kurz záměrně obsahuje několik míst, která jsou nejasná nebo příliš složitá, a u kterých se budete muset zeptat. Můžeš se samozřejmě zeptat zkušených kamarádů nebo zkusit najít odpověď na internetu, ale nic z toho nepředčí kurzovou diskuzi, kde se všichni snažíme šít odpovědi na míru přímo vám. Dobře odpovídat je nakonec taky schopnost, a my bychom si ji rádi natrénovali.
Pokud nežijete v rámci týmu v jedné domácnosti, je dobré domluvit se na pravidelné videohovory přes nějakou službu, která umožňuje sdílet obrazovku: Jitsi, Google Meet, Zoom a podobně. Bohužel to nejde jinak, podobně jako u sportu nebo hry na hudební nástroj, si musíš všechno pořádně vyzkoušet, abys získal/a praxi.
Jednou týdně, pokud to opatření dovolí, se budeme setkávat osobně a budeme probírat dotazy ke kurzu a k probírané látce. Setkávat se budeme ve společnosti Tieto, vždy ve středu na 2 hodiny. Prosím využijte této příležitosti, zeptat se osobně. Byli bychom neradi, kdybychom tam celé 2 hodiny mlčeli, protože by nikdo neměl dotaz a nic by ho nezajímalo …
Další část ceny za kurz bude zpětná vazba. Děláme kurzy proto, abychom vylepšil materiály, podle kterých se programování dá naučit. Na oplátku Tě prosíme, aby ses po každé lekci zamyslel/a a napsal/a, co se Ti líbilo, co nelíbilo, co jsi pochopil/a a co ještě třeba úplně ne. Pomůže to kurz dál vylepšovat.
A samozřejmě, když narazíš na něco, co se dá spravit hned – třeba chybějící odkaz nebo překlep – tak to nahlas co nejdřív, nečekej na zpětnou vazbu za celý týden.
Budou to základy programování, neboli to, co budeš potřebovat v jakémkoli odvětví, kde je programování potřeba – ať už se rozhodneš pro datovou analýzu, automatizaci a správu systémů, vývoj a testování webových nebo grafických aplikací, strojové učení, robotiku, a tak dále a tak podobně.
My budeme programovat v jazyce Python, který se učí relativně snadno a dá se i dobře uplatnit v praxi. Jestli ale pokukuješ po jiném jazyce, nevěš hlavu: koncepty, které se naučíš v Pythonu, snadno využiješ i v jiných jazycích – ať už je to Rust, C, Java, Javascript, nebo nějaký jiný. Podobně jako jazyků je hodně oblastí, kde programování využiješ.
V tomhle kurzu bude většina ukázek ve formě her, které budou (doufejme) aspoň trochu zábavné pro všechny. Pro většinu z vás budou zároveň nepraktické a možná až infantilní, ale to nevadí – můžeme Tě ujistit, že koncepty a techniky co se naučíš na hrách, využiješ ve všech ostatních oborech.
A to mě přivádí k dalšímu nutnému varování: po začátečnickém kurzu z Tebe bude začátečník. Nebo začátečnice. Když se budeš dva až tři měsíce snažit, dostaneš dost znalostí a zkušeností na to, aby Ti dával smysl nějaký pokročilejší kurz – ať už to bude statistika na analýzu dat, Javascript na weby, nebo informatika na návrh efektivních algoritmů.
Cíl tohohle kurzu je Ti dát základy, propojit Tě s komunitou a nakonec Tě nasměrovat na další cestu.
Jinými slovy, nečekej, že po tomhle kurzu nastoupíš do nějaké firmy jako programátor. To je bohužel za tři měsíce dost nerealistické. Netvrdíme, že to nejde, ale nepočítej s tím. Pokud práci výhledově chceš, je tenhle kurz důležitý, ale není to jediná věc co budeš potřebovat. Doporučujeme kouknout na web junior.guru, kde jsou hezky popsány další kroky.
Stejně tak nečekej kurz informatiky (angl. computer science), tedy teoretických a matematických principů, na kterých počítače a programy fungují. Rozdíl mezi tímhle kurzem a tím, co se učí na vysoké škole, je zhruba jako mezi autoškolou a vyučením se na automechanika.
A taky nečekej, že se naučíš dělat webovky nebo trénovat neuronové sítě. Na obojí existují jiné kurzy, ale u obojího se Ti základy programování budou hodit.
Tak. Neodradilo tě to? Pojďme si povědět, co budeme očekávat my.
Kromě času a motivace, což bude to nejdůležitější, budete potřebovat základní vybavení a znalosti.
Každý bude potřebovat vlastní počítač s operačním systémem Linux, Windows nebo macOS. Máš-li jiný systém, jako Android nebo ChromeOS, tak máš jako začátečník nejspíš smůlu: známe sice lidi, kteří takový systém teoreticky umí nastavit, ale neznáme nikoho, kdo by ho pak reálně na programování používal.
Ideální je na kurz mít dvě obrazovky: na jedné budeš sledovat to, co uvidíš na videu, a na druhé si to můžeš rovnou zkoušet. Máš-li obrazovku navíc, připoj si ji k laptopu. Máš-li chytrou televizi nebo velký tablet, pusť si YouTube na ní. Nemáš-li ani jedno, nejlépe zainvestuj do monitoru. Nepotřebuješ žádné skvělé funkce jako věrné podání barev nebo rychlou odezvu – to je na na filmy a hry, ne na kancelářskou práci. Rozumný monitor stojí zhruba dva tisíce, což je míň než typický programovací kurz. A jestli budeš programovat dál, obrazovku navíc určitě využiješ.
Nedoporučujeme videa sledovat na mobilu nebo na jiné malé obrazovce. Ve většině videí bude spousta textu střední velikosti. A ty ho budeš muset číst.
Kromě obrazovky se vyplatí mít přístup k tiskárně. V průběhu kurzu Vám dáme ke stažení několik taháků, které si můžete vytisknout a mít po ruce. Nejsme ve škole; není potřeba se znalosti drtit nazpaměť. Co si nezapamatuješ časem a opakováním, to není důležité nosit v hlavě, tahák nebo internet stačí.
Takže potřebuješ počítač, obrazovku a přístup k tiskárně.
Tenhle kurz je pro úplné začátečníky. Takže lidi, co ještě nikdy nezkoušeli programovat. Pokud už nějaké kurzy nebo pokusy za sebou máš, budeš se (minimálně ze začátku) nudit.
Zvaž, jestli je to kurz pro Tebe.
Co potřebovat budeš, jsou základy ovládání počítače. Potřebuješ umět vytvořit a najít soubor nebo adresář (složku). Potřebuješ umět nainstalovat nový program.
A poslední, co budeš potřebovat, jsou základy matematiky ze základky: třeba co je to dělení se zbytkem nebo obsah čtverce. Detaily nejsou potřeba, vzorečky se dají najít na Wikipedii. Spíš potřebuješ vědět, že když máš pokoj tři krát čtyři metry, tak se tyhle čísla dají nějak zkombinovat a zjistíš výměru podlahy.
To by bylo vybavení a znalosti, které budeš potřebovat. Kromě toho budeš mít ještě tři povinnosti: zpětnou vazbu, diskusi a domácí úkoly.
Tak, teď víš, jak bude kurz probíhat a co k němu potřebuješ. Než začneme, dám Ti ještě pár tipů na to, jak se na výuková videa dívat.
Jak už jsme říkali, pusť si video na jedné obrazovce a na druhé si zkoušej všechno, co můžeš. Hned jak to zmíníme, popadni klávesnici a zkoušej. Chceš procvičit prsty, ne jen vstřebávat teoretické informace. Video jde zastavit – buď klikneš myší nebo na YouTube mezerníkem. Na některých kombinacích systému, prohlížeče a klávesnice je dokonce tlačítko "pauza", které video zastaví nebo spustí aniž by byl prohlížeč aktivní. Doporučuju ho zkusit najít. Takže když nestíháš, dej si pauzu a dožeň výklad. Když se ztratíš moc, můžeš si otevřít textovou verzi lekce – v té se mnohem líp hledá. Odkaz bude vždycky v materiálech hned vedle odkazu na video. Video jde zrychlit a zpomalit pomocí kláves > a < nebo vybráním rychlosti z menu. Takže jestli Ti nesedí rychlost výkladu, změň to.
Celkově je kurz poměrně časově náročný. Mezi jednotlivými srazy je zapotřebí pracovat i samostatně na domácích projektech, které pomáhají osvojit si nově probrané téma. Zvaž proto prosím, jestli budeš mít na PyLadies v následujících měsících dost času. Výsledné dovednosti za to ale určitě stojí. :)
Jestli Ti to přijde jako dobrý nápad, dej dohromady tým a přihlas se!