Jak začít programovat od nuly: praktický plán na 30 dní
Chceš se naučit programovat, ale nevíš, kde začít? Nemusíš mít talent na matematiku, znát deset technologií ani si hned vybrat obor na celý život. Potřebuješ jeden jazyk, pravidelný rytmus a malý projekt, na kterém si základy opravdu vyzkoušíš. Tento plán tě provede prvními 30 dny tak, aby na konci nezůstaly jen poznámky z tutoriálů, ale vlastní fungující program.
Realistický cíl prvního měsíce: Za 30 dní se nestaneš profesionálním vývojářem. Porozumíš ale základům, naučíš se rozdělit problém na menší kroky a dokončíš jednoduchý projekt bez slepého kopírování.
1. Co programování skutečně obnáší
Programování není hlavně psaní zvláštních slov do černého okna. Je to způsob, jak převést problém do přesných kroků, kterým počítač rozumí. Když stavíš program na evidenci výdajů, nejdřív si musíš ujasnit, jaká data ukládáš, co s nimi uživatel může dělat a co se má stát při chybném zadání. Teprve potom přichází syntaxe — pravidla, jak tyto kroky zapsat v konkrétním programovacím jazyce.
Na začátku budeš většinu času dělat čtyři věci:
- Číst cizí kód a snažit se předpovědět, co udělá.
- Psát malé části programu — podmínku, cyklus nebo funkci.
- Hledat chyby podle chybové hlášky a chování programu.
- Upravovat řešení, dokud nefunguje i pro nečekané vstupy.
Právě hledání chyb bývá pro začátečníky překvapení. Chyba ale není důkaz, že na programování nemáš. Je to informace o tom, kde se představa liší od skutečného chování programu. Zkušenější vývojář nedělá méně chyb proto, že všechno ví; umí je rychleji izolovat a ověřit.
2. Python, nebo C#? Jak vybrat první jazyk
Volba prvního jazyka není manželství na celý život. Základní principy — proměnné, podmínky, cykly, funkce, práce s daty a hledání chyb — přeneseš později do dalších jazyků. Rozhoduj se podle toho, co chceš během několika měsíců vytvářet.
Začni Pythonem, když…
chceš rychle psát čitelné programy a láká tě automatizace, práce s daty, serverová část webových aplikací (backend) nebo umělá inteligence.
- má úspornou a dobře čitelnou syntaxi,
- první užitečný malý program (skript) vytvoříš velmi brzy,
- nabízí velký výběr hotových balíčků (knihoven) a výukových zdrojů.
Začni C#, když…
tě lákají podnikové a desktopové aplikace na platformě .NET nebo tvorba her v nástroji Unity a chceš od začátku pevnější strukturu.
- kompilátor — nástroj, který před spuštěním kontroluje kód — tě včas upozorní na mnoho chyb,
- přirozeně tě vede k přesným datovým typům a přehlednému členění programu,
- je silně zastoupený ve firemním vývoji.
Pořád váháš? Pro tento 30denní plán zvol Python. S menším množstvím syntaxe se dřív dostaneš k řešení problémů. Jestli už ale víš, že chceš do .NET nebo Unity, C# je stejně dobrá první volba.
3. Připrav si prostředí — jednoduše, ne dokonale
Pro Python potřebuješ samotný jazyk a editor. Stáhni aktuální stabilní Python z python.org a při instalaci ve Windows zaškrtni možnost Add Python to PATH. Jako editor můžeš použít Visual Studio Code s oficiálním rozšířením Python.
V editoru vytvoř složku prvni-projekt, v ní soubor main.py a napiš:
jmeno = input("Jak se jmenuješ? ")
print(f"Ahoj, {jmeno}! Tvůj první program funguje.")
Ve VS Code otevři nabídku Terminál → Nový terminál. Ve spodním panelu napiš python main.py a stiskni Enter. Na některých Windows instalacích použij py main.py. Pokud systém příkaz nepozná, po instalaci Pythonu nejdřív zavři a znovu otevři VS Code. Jakmile program vypíše pozdrav, máš hotovo. Neinstaluj zatím rozsáhlé sady programátorských nástrojů (frameworky), databáze ani deset rozšíření — na první týdny je nepotřebuješ.
Než začneš: založ si jednoduchý studijní deník
- Po každém učení napiš dvě věty: co už funguje a kde ses zasekl.
- Ulož si jednu chybu, kterou jsi vyřešil, včetně její příčiny.
- Na konci týdne bez nápovědy vysvětli tři nové pojmy vlastními slovy.
4. Praktický plán na prvních 30 dní
Počítej s pěti studijními bloky týdně po 45 až 60 minutách. Jeden delší maraton o víkendu nenahradí krátký pravidelný kontakt s kódem — mezi lekcemi bys pokaždé znovu hledal, kde jsi skončil.
Základní stavební kameny
Nauč se číst jednoduchý program a měnit jeho chování.
- proměnné pro uchování hodnot a základní typy dat, jako jsou text a čísla,
- načtení vstupu od uživatele a vypsání výsledku,
- rozhodování pomocí podmínek
if,elifaelse, - opakování příkazů pomocí cyklů
forawhile.
Výstup týdne: hádání čísla nebo jednoduchá kalkulačka.
Data a vlastní funkce
Přestaň psát vše pod sebe a začni program skládat z menších částí.
- seznamy a slovníky pro uložení více hodnot,
- vlastní funkce — pojmenované části kódu — jejich vstupy (parametry) a výsledky (návratové hodnoty),
- kontrola, zda uživatel zadal správnou hodnotu (validace vstupu),
- čtení chybového výpisu (tracebacku) a hledání příčiny chyby (debugging).
Výstup týdne: seznam úkolů, který umí přidávat a vypisovat položky.
Projekt od návrhu k první verzi
Začni evidencí osobních výdajů. Nejprve napiš, co musí umět, a až potom kód.
- přidání částky a kategorie,
- výpis všech položek,
- součet výdajů,
- uložení dat do souboru.
Výstup týdne: malý program, který řeší skutečný problém.
Dokončení a sdílení
Projekt ukliď, otestuj a připrav tak, aby ho spustil i někdo jiný.
- rozdělení dlouhých částí do funkcí,
- ošetření chybného vstupu,
- soubor README s popisem projektu a návodem na spuštění,
- Git a nahrání projektu na GitHub.
Výstup týdne: první dokončený projekt do portfolia.
Git nemusíš ovládnout hned první den. Jakmile máš projekt, který stojí za uchování, projdi si náš návod Git a GitHub pro začátečníky. Naučíš se v něm první commit, nahrání repozitáře i vytvoření smysluplného README.
5. První projekt: evidence osobních výdajů
Dobrý první projekt má jasný vstup, viditelný výsledek a jde rozšiřovat po malých krocích. Evidence výdajů splňuje všechno: zadáš částku a kategorii, program data uloží a dokáže je shrnout.
Buduj projekt po vrstvách
- Verze 1: načti jednu částku a vypiš ji.
- Verze 2: ukládej více částek do seznamu a spočítej součet.
- Verze 3: ke každé částce přidej kategorii.
- Verze 4: vytvoř menu pro přidání a zobrazení výdajů.
- Verze 5: ulož data do textového souboru ve formátu JSON, aby zůstala i po vypnutí.
Začni opravdu malou verzí. Následující program umí načíst jednu částku, uložit ji do seznamu a vypsat součet:
vydaje = []
castka = float(input("Částka v Kč: "))
vydaje.append(castka)
celkem = sum(vydaje)
print(f"Celkem: {celkem:.2f} Kč")
float() převede zadaný text na desetinné číslo, append() přidá částku do seznamu a sum(vydaje) sečte všechna čísla v seznamu. Teprve až této malé verzi rozumíš a umíš ji upravit bez opisování, přidej kategorii, menu a ukládání do souboru.
Mezikrok 1: Přidej kategorie a menu
Každý výdaj teď uložíme jako slovník se dvěma údaji: castka a kategorie. Menu dovolí opakovaně přidávat položky, zobrazit souhrn nebo program ukončit.
vydaje = []
def pridej_vydaj(vydaje):
zadana_castka = input("Částka v Kč: ")
try:
castka = float(zadana_castka)
except ValueError: # zadaný text nejde převést na číslo
print("Zadej číslo, například 249.90.")
return
kategorie = input("Kategorie: ").strip()
if not kategorie:
kategorie = "Ostatní"
vydaje.append({"castka": castka, "kategorie": kategorie})
print("Výdaj je přidaný.")
def vypis_souhrn(vydaje):
if not vydaje:
print("Zatím nemáš žádné výdaje.")
return
celkem = 0
for vydaj in vydaje:
print(f"{vydaj['kategorie']}: {vydaj['castka']:.2f} Kč")
celkem += vydaj["castka"]
print(f"Celkem: {celkem:.2f} Kč")
while True:
volba = input("\n[P]řidat, [S]ouhrn, [K]onec: ").lower()
if volba == "p":
pridej_vydaj(vydaje)
elif volba == "s":
vypis_souhrn(vydaje)
elif volba == "k":
break
else:
print("Vyber P, S nebo K.")
Očekávaný výstup v terminálu:
[P]řidat, [S]ouhrn, [K]onec: p Částka v Kč: 249.90 Kategorie: Jídlo Výdaj je přidaný. [P]řidat, [S]ouhrn, [K]onec: p Částka v Kč: 80 Kategorie: Doprava Výdaj je přidaný. [P]řidat, [S]ouhrn, [K]onec: s Jídlo: 249.90 Kč Doprava: 80.00 Kč Celkem: 329.90 Kč
Tato verze funguje, ale položky existují jen v paměti programu. Po jeho ukončení se ztratí.
Mezikrok 2: Ulož výdaje do souboru
Teď přidáme soubor vydaje.json. Funkce nacti_vydaje() načte starší položky při spuštění a uloz_vydaje() je po každé změně uloží na disk. Krátké komentáře přímo v kódu vysvětlují důležité řádky.
import json
from pathlib import Path
SOUBOR = Path("vydaje.json")
def nacti_vydaje():
if not SOUBOR.exists(): # při prvním spuštění soubor ještě neexistuje
return []
text = SOUBOR.read_text(encoding="utf-8")
return json.loads(text)
def uloz_vydaje(vydaje):
text = json.dumps(vydaje, ensure_ascii=False, indent=2)
SOUBOR.write_text(text, encoding="utf-8")
def pridej_vydaj(vydaje):
zadana_castka = input("Částka v Kč: ")
try:
castka = float(zadana_castka)
except ValueError: # zadaný text nejde převést na číslo
print("Zadej číslo, například 249.90.")
return
kategorie = input("Kategorie: ").strip()
if not kategorie: # prázdná kategorie dostane výchozí název
kategorie = "Ostatní"
vydaje.append({"castka": castka, "kategorie": kategorie})
uloz_vydaje(vydaje) # po každé změně přepíše soubor na disku
print("Výdaj je uložený.")
def vypis_souhrn(vydaje):
if not vydaje:
print("Zatím nemáš žádné výdaje.")
return
celkem = 0
for vydaj in vydaje:
print(f"{vydaj['kategorie']}: {vydaj['castka']:.2f} Kč")
celkem += vydaj["castka"]
print(f"Celkem: {celkem:.2f} Kč")
vydaje = nacti_vydaje() # načte dříve uložené položky
while True:
volba = input("\n[P]řidat, [S]ouhrn, [K]onec: ").lower()
if volba == "p":
pridej_vydaj(vydaje)
elif volba == "s":
vypis_souhrn(vydaje)
elif volba == "k":
break
else:
print("Vyber P, S nebo K.")
Očekávaný výsledek po ukončení a novém spuštění: dříve zadané výdaje zůstanou uložené a příkaz S je znovu vypíše.
python main.py [P]řidat, [S]ouhrn, [K]onec: s Jídlo: 249.90 Kč Doprava: 80.00 Kč Celkem: 329.90 Kč
Na tomto jednom programu si procvičíš vstup, podmínky, cyklus, seznamy, slovníky, funkce, práci se souborem i ošetření chyby. Potom si polož otázky: Co se stane při záporné částce? Jak zobrazit součet po kategoriích? Jak smazat chybnou položku? Každá odpověď je malé rozšíření projektu.
6. Jak používat AI, aby tě programovat opravdu naučila
AI asistent může vysvětlit chybu, vytvořit další cvičení nebo zkontrolovat tvůj postup. Když ale necháš celý projekt vygenerovat jedním zadáním pro AI (promptem), získáš hotový kód, aniž pochopíš, jak jeho jednotlivé části spolupracují. Program poběží, ale při první změně nebudeš vědět, kde začít.
Drž se jednoduchého pravidla: nejdřív vlastní pokus, potom nápověda, nakonec vysvětlení vlastními slovy.
„Napiš mi celý projekt.“
AI udělá většinu rozhodnutí za tebe. Výsledek může fungovat, ale netrénuješ rozklad problému ani samostatné hledání chyb.
„Dej mi jednu nápovědu.“
„Chci sečíst částky ve slovnících v seznamu. Neukazuj celé řešení; polož mi otázku, která mě navede k dalšímu kroku.“
Dobré je také nechat si vygenerovat tři testovací vstupy, požádat o vysvětlení konkrétní chybové hlášky nebo si nechat položit kontrolní otázky. Podrobněji rozebíráme zdravé používání AI v článku Proč se má cenu učit programovat i v době AI a Vibe codingu.
7. Sedm chyb, které začátek zbytečně zpomalují
- Střídání jazyků každý týden. První měsíc zůstaň u jednoho. Jazyk změň až podle cíle, ne podle dalšího videa na YouTube.
- Sledování tutoriálů bez psaní. Po každých deseti minutách výkladu něco změň, spusť a zkus rozbít.
- Příliš velký první projekt. Sociální síť nebo e-shop obsahují desítky problémů. Začni programem, který zvládneš popsat pěti větami.
- Kopírování chyb bez jejich čtení. Přečti poslední řádek chybového výpisu (tracebacku), najdi číslo řádku a popiš očekávaný stav.
- Snaha zapamatovat si všechnu syntaxi. Profesionálové běžně používají dokumentaci. Pamatuj si princip a nauč se přesně hledat detail.
- Čekání na motivaci. Pravidelných 45 minut je spolehlivějších než nárazové nadšení.
- Porovnávání se s hotovými projekty. Porovnávej dnešní kód s tím, co jsi napsal minulý týden.
Když se zasekneš: zmenši problém. Ověř jednu proměnnou pomocí print(), spusť jen jednu funkci a připrav nejmenší vstup, na kterém chyba vznikne. Hledání chyb (debugging) není poslední záchrana — je to běžná součást programování.
8. Co dělat po prvních 30 dnech
Po měsíci už dokážeš vysvětlit svůj projekt, samostatně upravit jednu funkci a podle chybové hlášky hledat příčinu. Nemusíš psát vše zpaměti. Důležitější je, že rozumíš toku programu a dokážeš ověřit, zda změna funguje.
Další měsíc projekt rozšiř o filtrování kategorií, měsíční rozpočet nebo export do tabulkového souboru CSV. Přidej několik automatických testů — krátkých kontrol, které ověří, že funkce vracejí správné výsledky. Potom vytvoř druhý malý projekt, tentokrát bez přesného návodu — třeba převodník souborů, kvíz nebo nástroj na plánování úkolů.
Chceš začít s vedením a zpětnou vazbou?
V kurzu Programování v Pythonu a Vibe coding projdeš základy na praktických úlohách, naučíš se využívat AI jako pomocníka a budeš stavět projekty do portfolia. Pokud tě láká svět .NET a aplikací, podívej se na kurz Staň se programátorem v C#.
Zdroje a další studium
- The Python Tutorial — oficiální průvodce jazykem Python
- Getting Started with Python in VS Code — instalace prostředí a první spuštění
- Prohlídka jazyka C# — oficiální úvod od Microsoftu
- Git a GitHub pro začátečníky — první repozitář a projekt na GitHubu