Generátor kódu. a jeho uplatnění ve výuce programování. Rudolf PECINOVSKÝ rudolf@pecinovsky.cz

Podobné dokumenty
Vývoj a ověřování metodiky výuky programování

Metodika Architecture First a její podpora v prostředí BlueJ++

Metodika. Architecture First. Rudolf Pecinovský

Quo vadis programování? Automatizace vyhodnocování studentských úloh

Dvouletá retrospektiva podpory učitelů při rozvoji informatického myšlení žáků. Blanka Kozáková Jiří Sumbal

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

KOMU JE KNIHA URČENA?

Informační systém ozdravných pobytů zdravotní pojišťovny

Programujeme, a co dál? Dan Lessner

Střední průmyslová škola Hranice Studentská 1384, Hranice

MS OFFICE, POWERPOINT - ANIMACE OBJEKTŮ

II. MATEMATIKA A JEJÍ APLIKACE

KOMU JE KNIHA URČENA?

Výuka programování na střední průmyslové škole

CASE MANAGEMENT ZVYŠOVÁNÍ ODBORNÝCH KOMPETENCÍ AKADEMICKÝCH PRACOVNÍKŮ OSTRAVSKÉ UNIVERZITY V OSTRAVĚ A SLEZSKÉ UNIVERZITY V OPAVĚ

Základní práce v souborovém manažeru

Co je to matematika?

Metodická doporučení (10)

PC GRAMOTNOST PRO POLITOLOGY

Kategorie vytvořené na základě RVP a projektu Evaluace inf. gramotnosti žáků ZŠ.

Jméno a Příjmení. Třída. Škola

NABÍDKA VZDĚLÁVACÍCH KURZŮ

Úvod do programovacího jazyka Python

Katalog školení 2015 Nemetschek Allplan Česko s.r.o

Metody a formy práce specificky modifikované pro vyučování matematice

Výuka programování střední průmyslové škole. Smíchovská střední průmyslová škola Praha Ing. Helena Brabcová

Základy finanční gramotnosti. autorky Lenka Petýrková a Pavlína Chmelařová, 119 Kč

Vaše jistota na trhu IT. Balíčky. Rudolf Pecinovský

5.1.7 Informatika a výpočetní technika. Časové, obsahové a organizační vymezení. ročník hodinová dotace

Itálie Dotazník pro učitele VŠ připravující budoucí učitele cizích jazyků Zpracování údajů

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Úvod do programovacího jazyka Python

Copyright Jiří Janda ISBN

Struktura e-learningových výukových programù a možnosti jejího využití

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Cumulant program usnadňující tvorbu série výukových projektů postupně kumulujících funkcionalitu vyvíjeného programu

Analýza a Návrh. Analýza

ŠVP Gymnázium Ostrava-Zábřeh Úvod do programování

Charakteristika kurzu BE2

Práce s textem. PaedDr. Mgr. Hana Čechová

Katalog školení 2013 Nemetschek Allplan Česko s.r.o

Matematický software pro Linux

Školní vzdělávací program základního vzdělávání Hlava je jako padák, funguje jen, když je otevřená.

Studijní centrum BASIC. Mgr. Yvona Majerová Štěpanyová, Kaplice

Využití ICT v technických oborech. Jiří Hrbáček, Martin Kučera, Zdeněk Hodis, Martin Dosedla

Odpolední kurzy základní: začínají v týdnu od 16. září 2019

Střední průmyslová škola Hranice Studentská 1384, Hranice

2 Životní cyklus programového díla

Katalog školení 2014 Nemetschek Allplan Česko s.r.o

hodin 215 Strojírenství a strojírenská výroba Odborný - rekvalifikační

Česká zemědělská univerzita v Praze

Vývoj mobilních aplikací s využitím JavaFX Mobile

ZADÁVACÍ DOKUMENTACE Comenis 2.0

MATCOMP s.r.o. Nabídka počítačových kurzů. Akreditované kurzy:

E-learning v cestovním ruchu. Josef Zelenka

Řízení reálných projektů, agilní metodiky

U nás zaváděn teprve po roce Na západě od 60. let (Curriculum research and development). Význam pojmu ne zcela průhledný.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Charakteristika kurzu IE3/3

registrační číslo projektu: CZ.1.07/1.3.06/ Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Management informačních systémů. Název Information systems management Způsob ukončení * přednášek týdně

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Vzdělávací aktivity ve vzdělávání

Informační vzdělávání uživatelů ve veřejných knihovnách není nutné zlo. Veronika Peslerová Konference Knihovny současnosti 2011

Grafická a multimediální laboratoř KOMPOZICE 1. Úvod

Tvorba internetových aplikací s využitím framework jquery

Úvod do CSS. Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm. Modernizace výuky s využitím ICT, CZ.1.07/1.5.00/34.

Renáta Bednárová, Petr Sládek. Pedagogická fakulta MU Brno, Univerzita obrany Brno

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

MODULU POKROČILÉ FINANCE OBOROVÁ SPECIALIZACE 1

Katalog vzdělávání 2016 Obsah

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

Y13ANW ÚVOD DO WEBOVÝCH METODIK. Ing. Martin Molhanec, CSc.

NABÍDKA VZDĚLÁVACÍCH KURZŮ

Více info zde: PODROBNÉ INFO

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

End-to-end testování. 26. dubna Bořek Zelinka

Tematická oblast: Programování 1 (VY_32_INOVACE_08_3_PR) Anotace: Využití ve výuce: Použité zdroje:

Vizuální programování

14 Úvod do plánování projektu Řízení projektu

Co se chcete dozvědět?

Testování použitelnosti co to obnáší

K možnostem užití státních maturit jako přijímacích zkoušek jaký styl ověřování předpokladů ke studiu chceme podporovat?

Úvod do problematiky vývoje Vývoj informačních systémů

Směrnice rektora č. 3/2014 Hodnocení kvality studia z pohledu studentů

6 Příkazy řízení toku

ČÁST II. Manažerské dovednosti

Dokumentace software

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

Výuka programování pro praxi

SLET MANAŽERŮ A TECHNICKÝCH EXPERTŮ- 2012

Informační a komunikační technologie

Odpolední kurzy základní: začínají v týdnu od 18. září 2017

Charakteristika kurzu BE1

NABÍDKA ŠKOLENÍ. Nabídka zpracována dne: Zpracovatel: Nabídku zpracoval:

MODERN APPROACHES TO TEACHING PROGRAMMING. Rostislav FOJTÍK

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Transkript:

Generátor kódu a jeho uplatnění ve výuce programování Rudolf PECINOVSKÝ rudolf@pecinovsky.cz

Trendy poslední doby Další a další státy si uvědomují nutnost zařazení výuky programování do učiva základních a středních škol Ve Spojených státech, Velké Británii a některých dalších zemích vznikly státem vydatně podporované programy, které mají toto rozšíření realizovat Vznikl i celoevropský projekt, jehož součástí je i vytvoření a zavedení nástroje, který bude používán při výuce ve vstupních kurzech programování Prozatím se jako nejvhodnější jeví systém Scratch, ale Evropa by ráda evropský (= neamerický) nástroj Jaké vlastnosti by měl takovýto nástroj nabízet?

Přeceňování syntaxe Současná výuka programování vyvolává ve studentech pocit, že znalost programování = znalost použitého jazyka Výuka programování často degeneruje na výuku syntaxe a používání základních knihoven Studenti začátečníci se pak musí často natolik soustředit na detaily (např. kam umístit a kam neumístit středník, kdy použít a kdy nepoužít prázdné závorky apod.), že jim začne unikat hlavní obsah přednášené látky Studenti často končí předmět s představou, že pro úspěšné zvládnutí předmětu je nejdůležitější zvládnout syntaktická pravidla a klíčové knihovní objekty Zkušení programátoři však vědí, že syntaxe není ani zajímavou, ani obtížnou součástí programování

Výuka algoritmických konstrukcí Obdobné je to i s výukou algoritmických konstrukcí Mnozí vyučující žijí v utkvělé představě, že programování se za posledních 30 let nijak významně nezměnilo, a že je proto potřeba naučit studenty především to, co se ve svých počátcích učili oni Učí studenty řadu dovedností, které příliš nevyužijí, a nezbude jim pak dostatek času na výuku dovedností, které současné programování vyžaduje Připomínám starší příklad s výukou kuchařů, kteří musejí umět vykrmit kuře, zabít je a oškubat, ale pak nezbyde čas na dostatečné probrání moderních technik mikrovlnné trouby, indukčního ohřevu, Studenti pak často začnou zaměňovat programování s kódováním

Soustředění na detail Pro správný návrh kódu je důležité mít dobře navržený mentální model subjektů a objektů zpracovávané domény a jejich vzájemných interakcí Chápat jejich obecné chování a specifikace jeho projekce do vyvíjeného programu Programátoři vychovaní k práci v hladině kódu budou při vývoji programů stále přemýšlet v hladině kódu a budou mít problémy s návrhem správné architektury Mimo jiné budou mít problémy s pochopením objektových modelů nejrůznějších knihoven a frameworků, které budou používat Přichází řada zpětných vazeb od podniků, že ze škol přicházejí studenti opojení představou o své dokonalosti, ale když přejdou od školních úloh k těm praktickým, zjišťují, že je škola naučila něco jiného, než opravdu potřebují

Nevýhody předčasné koncentrace na kód Soustředění se na kód zanedbání výuky návrhu složitých aplikaci (náhrada výuky paradigmatu výukou kódování) přináší problémy Takto vychovaný programátor myslí a hovoří v termínech kódu; mezi ním a zákazníkem vzniká sémantická mezera Common 2011 6

Požadavky na vývojové prostředí Na tuto skutečnost je třeba myslet i při výběru vývojového prostředí, které budeme při výuce využívat Zejména u začátečníků je důležité, aby se mohli soustředit především na návrh programu a jeho architektury a byli přitom co nejméně rozptylováni nutností soustředit se na kód a syntaxi jazyka Zásady správné výuky nás učí, že zejména začátečníci by se měli učit pokud možno jednu věc po druhé a ne několik věcí najednou Učí-li se nejprve kód a teprve pak architekturu, stávají se při návrhu architektury jejich předchozí zkušenosti s kódem koulí na noze, protože při něm stále myslí na budoucí podobu kódu Začneme-li výukou architektury, je doplnění výuky kódu mnohem přirozenější a méně problémové

Reakce na výuku dle Architecture First Domníváte se, že tento způsob výuky pomůže studentům v lepším chápání vazby mezi vyvíjeným programem a simulovanou skutečností a z toho plynoucích lepších schopností v návrhu odpovídající architektury? 0 1 2 3 4 5 Nic společného 14% 0% 7% 21% 50% 7% Zadávání či kontrolu 0% 0% 7% 7% 67% 20% Na jiné pozici 10% 0% 0% 10% 50% 30% Vedoucí projektu 4% 0% 4% 12% 60% 20% Architekt 12% 0% 0% 12% 59% 18% Celkem 7% 0% 4% 12% 58% 19%

Graf 20% 0% 4% 7% 12% 57% Velmi uškodí Spíš uškodí Ani nepomůže, ani neuškodí Trochu pomůže Velmi pomůže Neumím posoudit 77 % studentů pociťuje lepší schopnosti oproti klasický vyučovaným spolužákům

Učebnice základů objektové architektury

Program v jazyku Scratch

Prostředí Scratch Prostředí (a jazyk) Scratch, které je na řadě míst nasazováno do výuky programování na základních a středních školách, přináší na jednu stranu několik velmi výhodných vlastností, ale na druhou stranu má řadu vlastností nepříjemných Kladné vlastnosti Je přirozeně objektové aniž by to veřejně vytrubovalo. Děti v něm proto mohou přemýšlet obdobně, jako přemýšlí při řešení problémů běžného života Nevhodné vlastnosti Je dalším z těch, které se soustředí na detail/kód Prostředí nenabízí žádný náhled na celkovou architekturu vyvíjeného programu Děti, které v něm programují, se sice rychle naučí dělat jednoduché programy, ale jakmile se program stane jenom trochu složitější, začnou v něm bloudit

Prostředí BlueJ V našich kurzech používáme pro vstup do světa programování vývojové prostředí BlueJ Ani toto prostředí není dokonalé jeho autoři do něj zakomponovali řadu vynikajících vlastností, které však nedotáhli do konce a ani se k tomu nechystají Před několika lety bylo naštěstí převedeno mezi otevřené programy Postupně proto se studenty v rámci jejich závěrečných prací doplňujeme toto prostředí o funkcionalitu, která by umožnila prodloužit etapu, při níž studenti funkční programy bez nutnosti kódování Nová verze jazyka umožňuje tuto etapu výrazně prodloužit Viz Java 8 Učebnice objektové architektury pro mírně pokročilé

Na čem se právě pracuje Další rozvíjení a následné testování metodiky Architecture First Automatizace testování architektury studentských prací metodami dynamického testování skleněné skříňky Zlepšování použitelnosti vývojového prostředí BlueJ v úvodních lekcích vstupních kurzů programování vývoj upraveného prostředí označovaného BlueJ++ Připojení systému BlueJ++ jak zásuvného modulu do profesionálních prostředí NetBeans rozpracováno Eclipse IntelliJ Idea

Grada Spolupráce s nakladatelstvím Grada Dohoda o zavedení sekce pro vznikající publikace, jejichž polotovary bude lze stáhnout zdarma Inspirováno některými zahraničními nakladatelstvími Vyvoláno zpožděními při vzniku definitivní verze některých knih

Děkuji za pozornost Rudolf Pecinovský mail: rudolf@pecinovsky.cz ICQ: 158 156 600