Nauč se Python > Kurzy > Týmový začátečnický kurz Pythonu > Instalace > Úvod

Ahoj!

Já jsem Petr a rád bych vás naučil programovat.

To možná znělo jako bych ti vykal, což jsem nechtěl. Já se chci bavit neformálně. Ale vás bude víc. Zakládám totiž týmový kurz – jestli se chceš přihlásit, sežeň si kamaráda, kolegyni, sourozence nebo náhodného kolemjdoucího.

A pak se přihlašte na týmový kurz Pythonu pro úplné začátečníky, který začne na konci února 2021!

Týmy

Proč je kurz týmový?

Už nějakou dobu učím prezenční kurzy. Myslím si, že to nejdůležitější co takový kurz nabízí je motivace: když je každé pondělí 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ám, ž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ám že týmy to aspoň trochu vynahradí.

Proč do toho jdu já?

Asi sedm let zpátky jsem zkusil učit programování. A docela se mi to zalíbilo. Od té doby piluju začátečnický kurz, aby byl co nejužitečnější a nejpřehlednější. Pilně testuju na lidech, abych si ověřil že to celé má smysl. A podle zpětné vazby i podle kolegů, kteří si i díky tomuhle kurzu našli práci, myslím že to smysl má.

Myšlenka kurz natočit na video nás napadla už dávno, ale takové video vyžaduje úplně jiný přístup – když se podíváte na záznamy z prezenčních kurzů, zjistíte že když jste tam nebyli, učí se podle nich docela špatně. Takže až teď, když jsou lidi zakázaní, je čas na YouTube. Snad se to povede.

Cena

Častá otázka ohledně kurzů je: co to stojí? Tady je odpověď trochu složitá.

Kurz nestojí žádné peníze. Ale místo toho stojí čas a úsilí.

A to jak váš čas, který si musíte vyhradit, abyste se něco naučili, tak čas náš – všech dobrovolníků, kteří kurz dávají dohromady a kteří vám s ním budou pomáhat.

Prosím, respektujte to. Jestli si nemůžete vyhradit dost času, nepřihlašujte se a uvolněte místo někomu, kdo svůj čas investovat může.

A kolik že toho času bude?

Čas

Na to, abyste se naučili základy programování, budete potřebovat zhruba tři měsíce. Každý týden se podíváte na nová videa a ve zbytku týdne si nabyté znalosti budete zkoušet. Připravte se na to, že tím zkoušením strávíte minimálně osm hodin týdně. Podle toho kolik už znáte to ze začátku může být míň, ale časem určitě přitvrdíme. Pokud nežijete v rámci týmu v jedné domácnosti, domluvte 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íte všechno pořádně vyzkoušet, abyste získali praxi.

Říká se, že na učení je ideální tzv. model 70-20-10, kdy 70% času strávíš procvičováním, 20% navazováním mezilidských vztahů (což v tomhle kurzu budou hlavně diskuze v rámci týmu a s ostatními účastníky), a jen 10% mají zabrat formální lekce. Nám lekce zaberou dvě hodiny týdně; zbytek si dopočítej.

Zpětná vazba

Další část ceny za kurz bude zpětná vazba. Já kurzy dělám proto, abych vylepšil materiály, podle kterých se programování dá naučit. Videokurz dělám proto, abych se naučil dělat videa, která vám v programování pomůžou. Na oplátku vás prosím, abyste se po každé lekci zamysleli a napsali, co se vám líbilo, co se vám nelíbilo, co jste pochopili a co ještě třeba úplně ne. Pomůže to kurz dál vylepšovat.

A samozřejmě, když narazíte na něco, co se dá spravit hned – třeba chybějící odkaz nebo překlep – tak to nahlaste co nejdřív, nečekejte na zpětnou vazbu za celý týden.

Veřejný přístup

Takže: čas a zpětná vazba.

Jestli vám cena přijde příliš vysoká, nezoufejte – materiály budou veřejné. Videa budou na YouTube, plnohodnotné textové verze všech lekcí i zadání úkolů plánuju dát volně k dispozici a do budoucna je udržovat. Teoreticky tak můžeš kurz absolvovat i bez přihlášení, ale můžu tě ujistit, že bez 1) týmu a 2) vyhrazeného času budeš mít mnohem, mnohem menší šanci uspět.

Co očekávat

A když uspěješ, co se v tomhle kurzu vlastně naučíš?

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 o i dobře uplatnit v praxi. Sám ho v práci používám. 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š. A tak jsem zanevřel na „praktické“ ukázky z tvého oboru. Někomu přijde analýza DNA zajímavá, ale někomu zase nudná – a u zpracování obrazu to může být úplně naopak.

Takže v tomhle kurzu bude většina ukázek ve formě her, které budou (doufejme) aspoň trochu zábavné pro všechy. Pro většinu z vás budou zároveň nepraktické a možná až infantilní, ale to nevadí – můžu 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š 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.

Co neočekávat

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é. Neříkám ž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čuju kouknout na web junior.guru, kde jsou hezky popsány ty další.

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 od vás budu očekávat.

Co očekáváme od vás

Kromě času a motivace, což bude to nejdůležitější, budete potřebovat základní vybavení a znalosti.

Vybavení

Každý z vás 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ám sice lidi, kteří takový systém teoreticky umí nastavit, ale neznám nikoho, kdo by ho pak reálně na programování používal.

Jestli máš pochybnosti, projdi si úvodní lekci. Když se ti podarí všechno nainstalovat, zbytek kurzu pak zvládneš taky.

Ideální je na kurz mít dvě obrazovky: na jedné budeš sledovat to, co budu vykládat, 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čuju videa sledovat na mobilu nebo na jiné malé obrazovce. Ve většině videí nebudu ukazovat koronavous, ale spoustu textu zhruba téhle 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ám 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ě.

Znalosti

A co znalosti?

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. Jestli máš pochybnosti, projdi si úvodní lekci – ta je z tohoto pohledu nejsložitější; všechno ostatní pak bude relativně jednoduché.

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, o které už jsem mluvil, diskusi a domácí úkoly.

Diskuse

Přihlášeným týmům přijde odkaz na Discord, 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.

Domácí úkoly

Přihlášeným týmům taky 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 mně – když to neodevzdáte, tak mně to, upřímně, jenom ulehčí práci. Povinné je to kvůli vám. Programovat se nenaučíte jen sledováním videí; potřebujete si to sami vyzkoušet. A kromě toho některé koncepty ve videích vůbec nebudou – budete na ně v rámci úkolů muset přijít sami, nebo se zeptat.

Takže dělejte úkoly a když něco nebude jasné, tak se ptejte. A když to jasné bude, ale napadne vás zajímavá otázka, i kdyby třeba trochu odbíhala od tématu, ptejte 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.)

Tipy a triky – YouTube

Tak, teď víš, jak bude kurz probíhat a co k němu potřebuješ. Než začneme, dám vám ještě pár tipů na to, jak se na tahle videa dívat.

  1. Jak už jsem říkal, pusť si video na jedné obrazovce a na druhé si zkoušej všechno, co můžeš. Hned jak to zmíním, popadni klávesnici a zkoušej. Chceš procvičit prsty, ne jen vstřebávat teoretické informace. 70-20-10.
  2. 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ň mě. Když se ztratíš moc, můžeš si otevřít textovou verzi lekce – v té se mnohem líp hledá. Odkaz bude vždycky v popisku.
  3. Video jde zrychlit a zpomalit pomocí kláves > a < nebo vybráním rychlosti z menu. Takže jestli ti nesedí, jak rychle mluvím, změň to.

Jdete do toho?

Jestli vám to přijde jako dobrý nápad, dejte dohromady tým a přihlaste se! Odkaz na přihlášky najdete v popisku videa. Neváhejte příliš dlouho – kapacita je bohužel omezená.

Ahoj! Snad se uvidíme na první lekci.


Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.