Skip to content

Latest commit

 

History

History
187 lines (151 loc) · 6.51 KB

File metadata and controls

187 lines (151 loc) · 6.51 KB

MIT licence Stav testů logo Běží na SauceLabs

futurecoder (Česká Verze)

futurecoder je 100% bezplatný, interaktivní kurz určený pro samouky, kteří se chtějí naučit programovat v jazyce Python. Je navržen speciálně pro úplné začátečníky.

Celá platforma je pečlivě navržena tak, aby minimalizovala frustraci začátečníků, vedla je krok za krokem a přitom je efektivně naučila samostatně řešit programátorské problémy. Cílem je zpřístupnit programování co nejširšímu počtu lidí.

Tento repozitář je kompletně lokalizovanou českou verzí platformy.


🌟 Klíčové vlastnosti

Kurz je plně interaktivní „kniha“, která vyžaduje, aby uživatel pro postup dál spouštěl kód v přiloženém editoru nebo shellu:

full

Studenti řeší praktické úkoly nebo zkoušejí spouštět ukázkový kód. V mnoha případech jsou udržováni v pozoru tím, že mají předpovědět výstup programu v jednoduchém kvízu s výběrem možností: Kód v každém kroku je kontrolován automaticky. V případě potřeby si student může nechat zobrazit drobné nápovědy, které ho postupně navádějí ke správnému řešení:

predict_output

hints

Pokud jsou studenti opravdu bezradní, mohou si nechat řešení odhalit kousek po kousku: Nebo mohou v některých krocích řešit tzv. *Parsonsův problém*, kde musí poskládat rozházené řádky správného řešení do správného pořadí a odsazení:

solution

parsons

Chybové výpisy (Tracebacky) jsou mnohem přívětivější než běžné Python chyby díky pokročilým funkcím:
  • Zvýraznění přesné operace, která selhala (nikoli pouze celého řádku) pomocí knihovny executing.
  • Zobrazení tabulky lokálních proměnných a vyhodnocených výrazů pomocí pure_eval.
  • Doporučení oprav překlepů a chyb poskytovaných knihovnou DidYouMean.
  • Začátečnicky přívětivá vysvětlení chyb z friendly-traceback (zobrazí se po najetí na ikonku i).
  • Zobrazení víceřádkových bloků chyb v plné délce díky stack_data bez zbytečného balastu.
Časté chyby a zlozvyky začátečníků jsou automaticky zachyceny a vysvětleny. To zahrnuje jak specifické testy v jednotlivých cvičeních, tak vestavěný linter přizpůsobený na míru začátečníkům.

traceback

executing

K dispozici je několik interaktivních debuggerů pro vizualizaci běhu programu krok za krokem, včetně snoop...

...vizuálního debuggeru birdseye...

snoop

birdseye

...a také oblíbeného nástroje Python Tutor.

pythontutor


💻 Jak spustit projekt lokálně v češtině

Pro spuštění české verze platformy na vašem počítači postupujte podle následujících kroků:

  1. Naklonujte si tento repozitář:

    git clone https://github.com/JosefVacha/futurecoder-cs.git
    cd futurecoder-cs
  2. Nainstalujte Python 3.12 (nebo vyšší) a nástroj Poetry pro správu balíčků.

  3. Nainstalujte závislosti backendu:

    poetry install
  4. Zkompilujte překlady a vygenerujte české statické soubory pro frontend:

    • Kompilace překladů:
      poetry run python translations/compile_cs.py
    • Vygenerování statických souborů (kurz v češtině):
      FUTURECODER_LANGUAGE=cs poetry run python -m scripts.generate_static_files
      (Tento krok zopakujte vždy, když změníte zdrojové Python texty nebo překlady v PO souboru).
  5. Přejděte do složky frontend:

    cd frontend
    1. Ujistěte se, že máte nainstalovaný Node.js (verze >= 18 nebo >= 22).
    2. Nainstalujte frontendové závislosti:
      npm ci
    3. Spusťte vývojový server:
      npm start
  6. Otevřete prohlížeč na adrese: 👉 http://localhost:3000/course/


🛠️ Ovládací prvky pro vývojáře

Pokud chcete kurzem procházet volněji a testovat jednotlivé lekce bez nutnosti plnit cvičení:

  1. Klikněte na ikonu menu (tři čárky) v levém horním rohu.
  2. Přejděte do Nastavení (Settings).
  3. Aktivujte Vývojářský režim (Developer mode).
  4. V dolní části obrazovky se zobrazí dvě červená plovoucí tlačítka: „Zpětný krok“ a „Přeskočit krok“. Ty vám umožní libovolně přeskakovat úkoly dopředu i dozadu.

Chcete-li se dozvědět více o architektuře systému a možnostech přispívání, podívejte se na anglický návod pro vývojáře.