ZÁKLADY PROGRAMOVÁNÍ
Nauč se přemýšlet jako vývojář. Získej pevné základy programování, na kterých můžeš stavět svou kariéru v IT.
ONDŘEJ SCHEJBAL
Software Engineer
Microsoft
-
Porozumíš principům programování a naučíš se je prakticky aplikovat.
-
Osvojíš si práci s GitHubem pro verzování a spolupráci na kódu.
-
Naučíš se jazyk C#, vytvářet aplikace a ladit chyby.
-
Získáš zkušenosti s vývojovými nástroji a principy nutnými pro vývojáře.
- Zarezervujte si své místo
O KURZU
- TIMELINE:
Připravujeme
- ČEKÁ TĚ:
14 LEKCÍ
- FORMÁT
ŽIVĚ ONLINE
I když jsi nikdy nenapsal*a jediný řádek kódu, tento kurz tě provede vším potřebným pro tvou programátorskou cestu. Naučíš se pracovat s proměnnými, funkcemi, podmínkami a cykly – stavebními prvky každého programu. Budeš tvořit vlastní aplikace v C#, osvojíš si verzování kódu v Gitu a práci v profesionálním
vývojovém prostředí.
Kurz je pro tebe, pokud chceš
PLAT NA POZICI


Program
-
1. lekce
Teoretický úvod do programování a jeho praktické aplikace 1
- Historie programování: Základy vývoje programovacích jazyků, klíčové momenty a milníky
- Vývoj jazyka C#: Původ, evoluce, a význam jazyka C# v moderním vývoji software
- Základní pojmy: Hardware vs. software, bit vs. byte, front-end vs. back-end
- Proces spuštění kódu: Jak počítač interpretuje a provádí kód
- Překladač, binární kód, assembler: Co jsou a jak dohromady přetváří zdrojový kódu do strojového kódu
Výstupy z lekce: Dokážeš popsat historii a vývoj jazyka C#, rozumíš základním pojmům v IT, jako jsou hardware, software, bit a byte. Chápeš rozdíl mezi front-endem a back-endem a rozumíš tomu, jak stroj zpracovává informace zadané programátorem nebo uživatelem.
-
2. lekce
Teoretický úvod do programování a jeho praktické aplikace 2
- Použití programování v praxi: Praktické aplikace programování v různých odvětvích
- Porovnání programovacích jazyků: Nejčastější použití (hry, webové aplikace apod.), výhody a nevýhody různých jazyků (např. C#, Python, Java, JavaScript)
- Složitost různých programovacích jazyků: Náročnost učení a vhodnost pro začátečníky
- Různé způsoby užití programování: embedded systémy, low-code platformy, hry, webové služby, aplikace
- Co je to algoritmus? Základy algoritmického myšlení a význam algoritmů
Praktické cvičení: Vyhledej a sepiš krátkou historii jazyka C# a jeho klíčové vlastnosti. Jednoduše popiš proces od napsání kódu po jeho vykonání strojem. Porovnej dva různé programovací jazyky (např. Python vs. C#) z hlediska jejich použití a výhod/nevýhod.
Výstupy z lekce: Rozumíš programovacím jazykům a jejich vhodnosti pro odlišné úlohy. Chápeš různé úrovně aplikace i programování a dokážeš porovnat programovací jazyky na teoretické úrovni.
-
3. lekce
Git a verzovací systémy
- Co je Git a .git: Základní principy verzování kódu
- Praktické využití Gitu: Proč a jak se Git používá v týmech a projektech
- Rozdíl mezi .git a GitHub: Místní verzování vs. cloudové sdílení a spolupráce
- Vytvoření a naklonování repozitáře: založení repozitáře na GitHubu a práce s ním
- Základní příkazy pro práci s Gitem: init, clone, add, commit, push, pull, merge atd.
- Řešení konfliktů a pokročilé příkazy: merge konflikty, cherry-pick, rebase, revert, apply specific commit
Praktické cvičení: Vytvoř nový repozitář na GitHubu, proveď několik commitů a pushni je na server. Vyzkoušej si řešení merge konfliktu pomocí příkazů v Gitu.
Výstupy z lekce: Dokážeš používat Git pro verzování svého kódu, založit a spravovat repozitář na GitHubu, řešit konflikty při sloučení větví a ovládáš základní i pokročilé příkazy Gitu.
-
4. lekce
Konzolová aplikace a základy jazyka C#
- Co je konzolová aplikace? Základy konzolových aplikací a jejich použití
- Vytvoření a spuštění konzolové aplikace v C#: Vytvoření základní aplikace krok za krokem
- Úvod do jazyka C#: Základní syntaxe, proměnné a datové typy
- String a práce s řetězci: Základní operace s textovými daty
Praktické cvičení: Vytvoř jednoduchou konzolovou aplikaci, která vypíše „Hello World!“ a provede několik základních operací, jako je sčítání dvou čísel a práce s řetězci. Experimentuj s různými datovými typy a proměnnými.
Výstupy z lekce: Umíš vytvořit a spustit konzolovou aplikaci v C#, znáš základní syntaxi jazyka, dokážeš definovat proměnné, datové typy a pracovat s řetězci v C#.
-
5. lekce
Funkce, operátory a podmíněné příkazy
- Funkce v C#: Definice, argumenty, návratové typy, volání funkcí
- Aritmetické a logické operátory: Použití +, −, *, /, %, Logické operátory AND, OR, NOT
- Podmíněné příkazy if-else: Jak omezit exekuci kódu pouze na určité podmínky
- Základy orientace v projektu: Co je to namespace a jak pracovat s externími knihovnami (using statement)
Praktické cvičení: Napiš funkci, která bere dvě čísla jako argumenty a vrací jejich součet. Vytvoř program, který používá podmíněné příkazy pro kontrolu vstupu uživatele.
Výstupy z lekce: Umíš vytvářet a používat funkce v C#, rozumíš použití aritmetických a logických operátorů, umíš používat podmíněné příkazy k řízení toku programu a pracovat s číselnými proměnnými. Víš, co je to namespace, k čemu se hodí ve větších projektech a jak do projektu přidat a použít externí knihovny.
-
6. lekce
Cykly a kolekce
- Typy kolekcí: Array, List, Dictionary, Set a jejich použití
- Cykly v C#: for, foreach, while – kdy použít jaký cyklus a proč
- Složitost výpočtů: Základní porozumění efektivitě algoritmů a operací s kolekcemi
- Debuggování v C#: Jak zastavit a kontrolovat aplikaci během běhu
Praktické cvičení: Vytvoř program, který iteruje přes pole a vypíše všechny jeho prvky. Použij různé typy cyklů k provedení stejné operace s různými kolekcemi.
Výstupy z lekce: Dokážeš používat různé typy kolekcí a iterovat nad nimi, chápeš efektivitu různých algoritmů a operací a umíš používat debuggovací nástroje k odhalení chyb v kódu.
-
7. lekce
Objektově orientované programování
- Úvod do OOP: Co je třída, objekt a struktura v C#
- Konstruktory a přístupové modifikátory: Jak vytvořit a používat konstruktory; rozdíly mezi public, private, protected, internal
Praktické cvičení: Vytvoř jednoduchou třídu „Auto“ s vlastnostmi jako „rychlost“ a „váha“ a metodou „vypiš počet najetých kilometrů“. Experimentuj s přístupovými modifikátory na různých vlastnostech a metodách třídy.
Výstupy z lekce: Rozumíš základům OOP v C#, umíš definovat třídy a objekty, rozumíš jejich použití a ovládáš přístupové modifikátory včetně jejich významu.
-
8. lekce
Dědičnost, polymorfismus a rozhraní
- Dědičnost a polymorfismus: Jak vytvořit hierarchii tříd, co je to polymorfismus a jak ho využít
- Abstraktní a virtuální metody: Rozdíly a použití
- Rozhraní (interface): Co je rozhraní a jaké jsou jeho výhody
Praktické cvičení: Vytvoř hierarchii tříd „Zvíře“ a „Pes“, kde „Pes“ dědí od „Zvíře“ a přidává specifické metody. Implementuj rozhraní „ISearchable“ a použij ho v několika třídách.
Výstupy z lekce: Dokážeš implementovat dědičnost a polymorfismus, chápeš rozdíl mezi abstraktními a virtuálními metodami a umíš používat a implementovat rozhraní.
-
9. lekce
Workshop
- Procvičování klíčových konceptů probrané látky
- Práce na praktických projektech
- Ukázky kódu a prostor pro otázky
Výstupy z lekce: Dokážeš aplikovat probrané koncepty v praxi, řešit konkrétní problémy pomocí naučených dovedností a máš jasnější představu o tom, jak jednotlivé koncepty propojit v reálných projektech.
-
10. lekce
Pokročilé techniky (LINQ, anonymní funkce)
- Enums a jejich použití: K čemu se enums používají a jak je implementovat
- LINQ (Language Integrated Query): Jak efektivně pracovat s kolekcemi dat
- Anonymní funkce: Definice a použití, zejména v kombinaci s LINQ
Praktické cvičení: Vytvoř příklad, který používá výčtový typ k reprezentaci dní v týdnu a LINQ k filtrování kolekce dat. Napiš program, který využívá anonymní funkce pro jednoduché operace na kolekcích.
Výstupy z lekce: Dokážeš používat enums a chápeš jejich uplatnění, umíš používat LINQ pro práci s kolekcemi a definovat i používat anonymní funkce.
-
11. lekce
Práce s výjimkami a serializace objektů
- Výjimky a jejich zpracování: Jak výjimky vznikají, jejich typy a jak je efektivně ošetřit
- Serializace objektů: Co je serializace a jak se používá
Praktické cvičení: Vytvoř program, který čte data ze souboru a ošetřuje případné výjimky (např. když soubor neexistuje). Implementuj serializaci a deserializaci jednoduchého objektu do/z JSON formátu.
Výstupy z lekce: Dokážeš identifikovat a zpracovávat výjimky v kódu, rozumíš procesu serializace a jejímu použití a umíš implementovat serializaci a deserializaci objektů.
-
12. lekce
Asynchronní programování
- Základy paralelního výpočtu: Procesy, vlákna a jejich správa
- Asynchronní programování (async/await): Jak provádět asynchronní operace v C#
- Praktické příklady asynchronního kódu: Ukázky, jak napsat asynchronní metody a použít je v aplikacích
Praktické cvičení: Vytvoř jednoduchou aplikaci, která provádí asynchronní volání na webovou službu. Experimentuj s různými scénáři, kde asynchronní operace může zlepšit výkon aplikace.
Výstupy z lekce: Rozumíš základům paralelního a asynchronního programování, umíš implementovat asynchronní operace v C# a dokážeš psát efektivní asynchronní kód pro reálné aplikace.
-
13. lekce
Testování jednotek a integrací
- Úvod do testování: Význam a typy testování (jednotkové vs. integrační)
- Praktické příklady testů: Arrange-Act-Assert princip
- Psaní testovacích scénářů: Jak napsat a spouštět testy pro různé scénáře
Praktické cvičení: Napiš několik jednotkových testů pro funkce, které jsi napsal*a v předchozích lekcích. Vytvoř integrační test pro komplexnější část aplikace, která kombinuje více modulů.
Výstupy z lekce: Dokážeš vytvářet jednotkové a integrační testy pro svůj kód, rozumíš významu testování, umíš zvýšit kvalitu kódu pomocí testů a zvládáš psát a spouštět testy, které zajišťují stabilitu a správnost aplikace.
-
14. lekce
Porovnání jazyků a další směřování
- Porovnání C# s dalšími jazyky: Syntaxe, použití, a vhodnost pro různé úkoly (Java, C++, Python, JS)
- Doporučení pro další studium: Algoritmy a efektivita kódu, další pokročilé koncepty, směrování kariéry a další materiály
- Kam dál? Jak se dále vzdělávat, doporučené kurzy a materiály
Praktické cvičení: Dobrovolný závěrečný úkol, který kombinuje probrané techniky jazyka C#.
Výstupy z lekce: Rozumíš rozdílům mezi C# a jinými programovacími jazyky, víš, jak se dále vzdělávat a jaké kroky podniknout pro rozvoj dovedností, a umíš si vybrat další oblasti studia podle svých zájmů a potřeb trhu.
VZDĚLÁNÍ S r_d
-
1
Personalizovaný feedback od špičkových lektorů
-
2
Real use cases
-
3
Praktická cvičení
-
4
Discord komunita
-
5
Certifikát
-
6
Doživotní záznamy
Lektor
Ondřej Schejbal
Software Engineer
-
Působí jako Software Engineer v Microsoftu, kde se specializuje na návrh a vývoj webových služeb. Zaměřuje se na architekturu systémů a integraci cloudových řešení.
-
Má zkušenosti z firem AspectWorks, Seyfor a Avast, kde pracoval na vývoji Salesforce řešení pro klienty. Díky tomu rozumí propojení byznysových potřeb s technologickými možnostmi.
-
V Microsoftu se věnuje nejen vývoji, ale také mentoringu juniorních programátorů. Pomáhá jim pochopit klíčové principy IT a usnadňuje jim cestu do světa vývoje.
REZERVUJTE SI SVÉ MÍSTO!
🔹Naším cílem je vytvořit co nejoptimálnější prostředí pro učení pro naše účastníky, proto prosím berte na vědomí, že u některých kurzů může být omezený počet míst!
📌Po registraci budete přesměrováni na krátký dotazník, ve kterém se zeptáme na vaše zkušenosti.
