Příspěvky na konferencích

Anglicky psané články

Anglicky psané články najdete na adrese http://edu.pecinovsky.cz/papers

Česky psané články

Články uvedené v následujícím přehledu jsou seřazeny podle data jejich zveřejnění od nejmladšího k nejstaršímu.

Metodika Architecture First
DidactIG 2013   —   Liberec   —   PDF verze ke stažení.
Abstract:
Množina úloh, které již není třeba programovat, protože je umí naprogramovat nějaký generátor kódu, se stále rozšiřuje. Oblastí, která automatizaci stále vzdoruje a ještě nějakou dobu jí vzdorovat bude, je návrh architektury programu. Většina používaných metodik výuky však stále klade důraz především na výuku kódování. Příspěvek seznamuje se základními principy metodiky výuky Architecture First, která ukazuje, jak vychovávat programátory, které automaty ještě dlouho nenahradí.

Kopenogramy a jejich implementace v NetBeans
Software Development 2012   —   Ostrava   —   PDF verze ke stažení.
Abstract:
V současné éře OOP občas zapomínáme na to, že na konci objektové analýzy nás občas čeká návrh složitějších algoritmů. Pro jejich znázornění existuje několik grafických jazyků. Jedním nejnázornějších způsobů zobrazení strukturovaných algoritmů jsou kopenogramy. Příspěvek v první části podrobně probere způsob zápisu kopenogramů a ve druhé části pak seznámí s editorem, který je vyvíjen jako plug-in do vývojového prostředí NetBeans.

Cumulant – program usnadňující tvorbu série výukových projektů postupně kumulujících funkcionalitu vyvíjeného programu
Objekty 2011   —   Žilina   —   PDF verze ke stažení.
Abstract:
Článek seznamuje s programem, který usnadní přípravu sérií výukových projektů, v nichž se vyvíjený program postupně zdokonaluje, přičemž každá z etap je prezentována jako samostatný projekt přiřazený k příslušné lekci učebnice nebo výukového kurzu. Vysvětluje, jak lze specifikovat sestavení jednotlivých projektů ze tříd definovaných v souhrnném, učitelském projektu a ukazuje, jaké prostředky program nabízí k tomu, aby mohl učitel definovat několik verzí postupně vyvíjené třídy v jednom zdrojovém souboru a jak specifikovat, která část zdrojového kódu se zanese do výsledného programu jednotlivých lekcí.

Tvorba učebnic a kurzů programování
Objekty 2011   —   Žilina   —   PDF verze ke stažení.
Abstract:
Článek rozebírá různé přístupy k tvorbě učebnic a kurzů programování a programovacích jazyků. Seznamuje se jejich výhodami a nevýhodami a ukazuje, čím se liší skutečné učebnice a kurzy programování od učebnic a kurzů, které pouze seznamují s nějakým programovacím jazykem a jeho knihovnami. Specifikuje některé zásady, které vhodné respektovat při návrhu obsahu učebnic a kurzů učících programování. Připomíná pedagogickou zásadu ranního ptáčete, podle níž se má výklad uspořádat tak, aby se nejdůležitější věci učily opravdu co nejdříve. Současně doporučuje nesoustředit se zbytečně na prvky, jejichž tvorbu postupně přebírají různé automatizované systémy, a naopak učit od samého začátku také zásady architektury. V závěru seznamuje s různými přístupy k tvorbě doprovodných programů a rozebírá jejich výhody a nevýhody. Současně upozorňuje na program, který může výrazně pomoci při tvorbě programů, které studenti v průběhu kurzu postupně vyvíjejí a zdokonalují.

Programování je také ladění
Tvorba Softwaru 2011   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Hovoříme-li někdy o výuce programování, rozebíráme většinou výuku kódování, doplněnou v lepším případě o výuku zásad analýzy a návrhu programů. Zapomínáme přitom na to, že většinu času netráví studenti (a stejně tak i profesionální programátoři) navrhováním programu a psaním kódu, ale laděním. Ladění programu se však ve výuce nevěnuje žádná, anebo v lepším případě jen minimální pozornost. Příspěvek se zabývá možnostmi začlenění výuky zásad správného ladění a testování do celkové koncepce výuky programování.

Metodika Design Patterns First v roce 2010
Objekty 2010   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Metodika Design Patterns First se narodila v roce 2004 a od té doby se neustále vyvíjí a (doufejme) vylepšuje. Tato metodika vychází z metodiky Object First, kterou doplňuje o důslednou aplikaci zásady, že nejdůležitější témata se mají přednášet co nejdříve. Od začátku proto studenty seznamuje s koncepcí rozhraní a návrhových vzorů. Článek shrnuje stav této metodiky v roce 2010. Podrobně popisuje aktuálně používaný postup výuky. Ukazuje, co vše tato metodika doporučuje probrat v konverzačním režimu použitého vývojového prostředí BlueJ a znovu zopakovat v následujícím textovém režimu. Podrobně také vysvětluje novou koncepci výkladu dědičnosti postavenou na analogii s návrhovým vzorem Dekorátor.

Knihovna Duckapter
Tvorba Softwaru 2010   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Tento příspěvek není k dispozici ve formě článku, ale pouze ve formě prezentace. Seznamuje s knihovnou, která umožňuje výrazné zefektivnění automatického vyhodnocování studentských úloh.

Quo vadis programování?
Tvorba Softwaru 2010   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Příspěvek shrnuje vývoj programovacích paradigmat v posledních desetiletích a na ně navazující vývoj vyučovaných paradigmat a metodik jejich výuky. Poté rozebírá některé současné trendy v programování a těžkopádnou reakci výukových programů na tyto trendy. Poukazuje na stále sílící pozici nejrůznějších frameworků a na přetrvávající ignoraci tohoto trendu v učebních plánech škol všech stupňů.Příspěvek shrnuje vývoj programovacích paradigmat v posledních desetiletích a na ně nava-zující vývoj vyučovaných paradigmat a metodik jejich výuky. Poté rozebírá některé současné trendy v programování a těžkopádnou reakci výukových programů na tyto trendy. Poukazuje na stále sílící pozici nejrůznějších frameworků a na přetrvávající ignoraci tohoto trendu v učebních plánech škol všech stupňů.

Metodika Design patterns first – jak lze drobnou změnou výkladu zlepšit pochopení některých objektových konstrukcí
DidInfo 2010   —   Banská Bystrice   —   PDF verze ke stažení.
Abstract:
Většina učebnic a kurzů programování vysvětluje základní konstrukce OOP velmi podobným způsobem. Zkušenosti s výukou v nejrůznějších kurzech od základních škol přes střední školy a univerzity až po přeškolovací kurzy pro profesionální programátory však ukazuje, že značná část studentů má s takto koncipovaným výkladem problémy. Příspěvek vysvětluje některé základní principy metodiky Design Patterns First, která se snaží vypěstovat ve studentech hlubší pochopení OO paradigmatu. Příspěvek současně ukazuje, jak je možno výklad upravit, aby se pochopení látky výrazně zvýšilo. Jak můžeme změnou pojetí některých základních principů OOP zlepšit pochopení těchto principů. V závěru pak odkazuje na učebnici, v níž jsou doporučené postupy aplikovány.

Metodika Design Patterns First
Počítač ve škole 2010   —   Nové město na Moravě   —   PDF verze ke stažení.
Abstract:
Naprostá většina učebnic a kurů objektově orientovaných jazyků zařazuje výklad dědičnosti vzápětí po seznámení s objekty. Studenti jsou pak jejími možnostmi opojeni a použijí ji i tam, kde je to nevhodné. Přednáška naznačí některé takové situace, ukáže, jak výklad dědičnosti nahradit výkladem vzoru Dekorátor, jehož použití bývá v takových situacích výhodnější. Poté vysvětlí, jak na základě znalostí vzoru dekorátor vyložit dědičnost a její vlastnosti tak, aby je studenti co nejlépe pochopili a správně si osvojili její používání.

Podpůrný program pro přípravu výukových aplikací
Informatika XXIII 2010   —   Luhačovice
(K tomuto příspěvku je k dipozici pouze abstrakt, příspěvek byl koncipován jako demo, které nebylo zaznamenáváno.)
Abstract:
Při přípravě učebnic a kurzů programování potřebujeme nejenom vyložit probírané programové konstrukce, ale také připravit doprovodné projekty dvou druhů: na prvních demonstrujeme funkci probíraných konstrukcí, druhé slouží jako zadání, resp. vzorová řešení úloh, které studenti řeší samostatně. Tyto doprovodné projekty se mezi jednotlivými lekcemi liší často jen nepatrně – většinou přidáním částí, v nichž použijeme nově vysvětlovanou konstrukci. Problémem klasického přístupu je, že jakákoliv dodatečná úprava výchozího zadání nebo oprava objevené chyby vede k nutnosti úprav poměrně rozsáhlé sady jednotlivých verzí programů. Diskutovaný program umožňuje generovat všechny postupně zdokonalované projekty z jedné výchozí sady zdrojových textů. Pomocí jednoduchého textového souboru programu zadáme, z kterých zdrojových souborů má zkonstruovat každý jednotlivý projekt a jak mají být soubory v tomto projektu organizovány. Ve zdrojových souborech pak zadáme, ve kterých projektech se má vyskytovat ta která část zdrojového kódu. Tyto informace jsou zadávány jako speciální druhy řádkových komentářů. Umožňují zadat, zda zadanou část do programu zařadit, nebo ji z něj naopak vypustit, anebo zda je ve zdrojovém textu přítomná ve formě komentářů a je ji třeba „odkomentovat“. Na příkladu nové učebnice s přibližně 50 doprovodnými projekty článek ukazuje, jak tento program dramaticky snižuje pracnost přípravy doprovodných projektů.

Zbytečně časná výuka dědičnosti je škodlivá
Objekty 2009   —   Hradec Králové   —   PDF verze ke stažení.
(V češtině je k dipozici pouze prototyp příspěvku. Jeho výsledná podoba je k dipsozici pouze anglicky v článku Early Introduction of Inheritance Considered Harmful.
Abstract:
Většina učebnic objektově orientovaného programování začíná vyklád triumvirátu dědičnost – abstraktní třídy – rozhraní výkladem dědičnosti a překrývání metod, pokračuje výkladem abstraktních tříd a končí rozhraním a jeho implementací. Článek vysvětluje jak metodika Design Patterns First mění toto pořadí výkladu. Navrhuje vysvětlit rozhraní na počátku kurzu a nepokračovat dědičností tříd dokud se studenti nenaučí aktivně zahrnovat rozhraní do svých návrhů. Příspěvek uvádí důvody pro tuto změnu a seznamuje s jeho výhodami. Je doplněn ukázkami některých studentských úloh demonstrující popsané principy.

Softwarová architektura respektující mentální modely uživatele
Tvorba Softwaru 2009   —   Ostrava   —   PDF verze ke stažení.
Abstract:
O objektově orientovaném programování se předpokládalo, že v kódu sjednotí úhel pohledu programátora a koncového uživatele a poskytne tak oběma vyšší míru pochopení problémy a vyšší užitnou hodnotu. Objekty dokáží dobře, tj. tak, aby se na správnosti shodl programátor i uživatel, zachytit strukturu objektů. Při zachytávání jejich funkcionality však již často tak úspěšné nejsou. Jeden z přístupů, které se snaží zachytit uživatelovy kognitivní modely jed-notlivých účastníků a interakcí mezi nimi, je architektura DCI, jejíž název vznikl jako zkratka z termínů Data – Context – Interaction. Příspěvek si klade za cíl seznámit s hlavními myšlenkami této architektury.

Historie mimoškolní výuky programování u nás
Tvorba Softwaru 2009   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Příspěvek se ohlíží za téměř 30 lety výuky programování mimo univerzitní půdu. Popisuje za-čátky na počátku 80. let, boj za výuku strukturovaného programování v jejich průběhu a na-konec současný boj za změnu metodiky a přechod k výuce programování objektově oriento-vaného.

Objektově orientované programování? Co to je?
Počítač ve škole 2009   —   Nové město na Moravě   —   PDF verze ke stažení.
Abstract:
Příspěvek nejprve stručně probere historii OOP a uká-že, jak se postupně v programátorském světě prosazovalo. Poté vysvětlí základní principy moderního objektově orientovaného programování, a v závěru předvede aplikaci těchto principů při návrhu programu.

Automatizace vyhodnocování studentských úloh
Informatika XXII 2009   —   Luhačovice   —   PDF verze ke stažení.
Abstract:
Vyhodnocování studentských úloh je činnost nepříjemná a nudná. Její větší automatizaci brání mimo jiné i používané metodiky výuky programování. Pokud se proto na školách automatizuje vyhodnocení úloh, omezují se tyto snahy většinou na ověření správnosti výsledku. Vyhodnocení správnosti struktury programu a činnosti jeho jednotlivých částí se automatizuje jen výjimečně. Příspěvek připomíná, že aplikace metodiky Design Patterns First automatizaci vyhodnocování výrazně usnadňuje. Včasné zařazení výkladu konstrukce interface umožňuje definovat zadání úlohy takovým způsobem, abychom pak mohli velice snadno vyhodnotit funkčnost jednotlivých částí programu. Příspěvek dále připomíná některé základní skutečnosti ovlivňující přístup studentů k vypracovávání zadaných úloh. Ukazuje některé přístupy, které zvyšují ochotu studentů vytvářet domácí úkoly, zlepšují kvalitu odevzdaných prací a usnadňují automatizaci vyhodnocování odevzdaných řešení. V další části se pak zabývá řešením problému plagiátorství kupování vyhotovení prací. V závěru pak seznamuje s knihovnou, která výrazně usnadňuje tvorbu programů, jež automaticky vyhodnotí odevzdaná studentská řešení. Přednesené postupy výrazně zvýšily kvalitu výukového procesu. Automatizace vyhodnocení úloh šetří neproduktivně strávený čas učitele a současně motivuje studenty. Programy, které studenti odevzdávají, obsahují méně chyb a případy, kdy student není schopen dále vylepšit odevzdaný program se již vyskytují spíš výjimečně.

Mýty ve výuce programování a metodika Design Patterns First
Objekty 2008   —   Praha   —   PDF verze ke stažení.
Abstract:
Příspěvek shrnuje dosavadní stav metodiky Design Patterns First. Nejprve připomíná (a současně vyvrací) některé oblíbené mýty rozhlašované pedagogy, kteří jimi zdůvodňují svoji neochotu učit objektově orientované programování. Poté představuje metodiku. Seznamuje s myšlenkami, na jejichž základě vznikla a popisuje postup výuky a výhody jejího používání. Ukazuje, jaké spektrum příkladů umožňuje včasné zavedení metodiky použít a jak včasné zavedení roz-hraní umožňuje zefektivnit vyhodnocování studentských úloh.

Moderní programovací techniky
Tvorba Softwaru 2008   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Umění programovat zahrnuje celou řadu znalostí a dovedností. Vedle všeobecně uznávané nutné znalosti syntaxe použitého programovacího jazyka musí programátor zvládnout ještě celou řadu dalších. Spektrum těchto nadstavbových znalostí a dovedností se však v průběhu doby mění. Příspěvek se zamýšlí na znalostmi a dovednostmi, které vyžaduje současné mo-derní programování. Probírá požadovanou úroveň znalostí návrhových vzorů, refaktorace, jednotkových testů, vývojových prostředí, systémů pro správu verzí, optimalizačních nástrojů a dalších programů a technik.

Výuka programování pro praxi
Informatika XXI 2008   —   Luhačovice   —   PDF verze ke stažení.
Abstract:
Již delší dobu softwarové firmy prohlašují, že jim současný typický profil absolventa programátora nevyhovuje a potřebovali by absolventy s poněkud jiným profilem, než jaký jim školy nabízejí. Příspěvek se zabývá základními disproporcemi mezi tím, co školy nabízejí a co praxe vyžaduje. Většina školních a soukromých úvodních kurzů programování se soustředí především na výklad základních vlastností jazyka a nejdůležitějších knihoven doplněný případně výkladem základů algoritmizace. V kurzech však často chybějí pasáže, které studentům ukazují, jak je třeba programovat, aby vytvářené programy co nejlépe odpovídaly potřebám praxe. Příspěvek se zabývá některými z těchto aspektů a ukazuje, na které součásti programování by se nemělo zapomínat.

Skvělý program nemusí být skvěle prodejný
Objekty 2007   —   Ostrava   —   PDF verze ke stažení.
Abstrakt:
Naprostá většina školních i placených kurzů programování se soustředí na to, jak studenty naučit vymýšlet co nejlepší algoritmus, ty pokročilejší pak učí, jak vymyslet co nejchytřejší architekturu. Při tomto výkladu vyučující často zapomínají na to, že většina jejich studentů se chce programováním živit. V jejich kurzech proto chybí pasáže, které studentům ukazují, jak je třeba programovat, aby vytvářené programy byly co nejlépe prodejné. Příspěvek se zabývá některými z těchto aspektů, ukazuje, na které součásti programování by se nemělo zapomínat.

Metodika design patterns first a vyhodnocování studentských úloh
Tvorba Softwaru 2007   —   Ostrava   —   PDF verze ke stažení.
Abstrakt:
Jednou z poměrně neoblíbených činností při výuce programování je vyhodnocování domácích úkolů a samostatně řešených úloh. Jedná se totiž o činnost časově náročnou a přitom většinou nepříliš zajímavou. Příspěvek ukazuje, jak je možno při výuce podle metodiky Design Patterns First vyhodnocování odevzdaných úloh do značné míry automatizovat. Nejprve shrnuje základní charakteristiku metodiky Design Patterns First a ukazuje, proč použití této metodiky zadávání a zejména pak vyhodnocování studentských úloh usnadňuje. Současně seznamuje s „mikroknihovnou“, kterou autor pro automatizované vyhodnocování odevzdaných programů používá. V další části pak na příkladu tří úloh ze vstupního kurzu programování v jazyku Java ukazuje, jak je možno vyhodnocování úloh výrazně zefektivnit.

Metodika výuky programování na rozcestí
PoŠkole 2007   —   Lázně Sedmihorky   —   PDF verze ke stažení.
Abstrakt:
Příspěvek se zaměřuje na rozdíly mezi tím, jaké programování se učí a tím, jak se v současné praxi doopravdy programuje. V první části shrnuje nejdůležitější změny, jimiž programování prošlo za posledních 30 let. V druhé části probírá některé rozdíly mezi současným programováním a programováním v 80. letech minulého století. Třetí část pak ukazuje, že tyto změny se v řadě škol prakticky nijak nepromítly do stylu výuky. Tyto školy stále učí své studenty styl programování používaný v 80. letech. V poslední části jsou navrhovány nejdůležitější změny, kterými by měla projít používaná metodika výuky, a seznamuje s metodikou Design patterns fist, která se snaží všechny požadavky moderního programování respektovat.

Aplikace metodiky Design Patterns Fist
Objekty 2006   —   Praha   —   PDF verze ke stažení.
Abstrakt:
Efektivita výuky programování je závislá nejenom na zvolené metodice, jež má optimalizovat předávání informací a získávání dovedností, které bude student potřebovat v praxi, ale i na kvalitě příkladů, na nichž jsou studentům vysvětlované konstrukce a postupy demonstrovány, a na výběru úloh, jež mají studenti samostatně řešit. Příspěvek shrnuje důvody, které vedly k zavedení metodiky Design Patterns First a následně se zabývá zásadami, na něž je třeba pamatovat při návrhu doprovodných příkladu a samostatně řešených úloh. Předvádí několik úloh, které autor při aplikaci této metodiky používá, a předkládá další náměty na příklady.

Výuka programování podle metodiky Design Patterns First
Tvorba Sotfwaru 2006   —   Ostrava   —   PDF verze ke stažení.
Abstrakt:
V současné době převládá ve světě ve výuce programování na vysokých školách metodika Objects First. Řada autorů však poukazuje na to, že při tomto přístupu se řada vyučujících příliš dlouho soustřeďuje na návrh jednoduchých aplikací, v nichž navíc neuplatňují řadu klíčových principů moderního programování, mezi nimi především návrhové vzory. Příspěvek seznamuje s upravenou verzí metodiky Objects First nazvanou Design Patterns First. Ukazuje, že při vhodně zvolených příkladech je možné seznamovat žáky s návrhovými vzory a řadou dalších principů moderního programování od samého počátku výuky.

Vývoj distribuovaných aplikací v systému Plaant
Tvorba Sotfwaru 2006   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Systém Plaant je nástrojem pro vývoj a následnou údržbu distribuovaných databázových aplikací. Nástrojem, který umožňuje, aby vývojář definovat pouze strukturu aplikace, a Plaant následně sám naprogramuje její kostru. Na vývojáře již zbývá pouze doplnit kód řešící některé specifické detaily konkrétní aplikace. Článek seznamuje s hlavními rysa nástroje Plaant Tools, který slouží k definici struktury podpůrné databáze a návrhu požadovaného uživatelského rozhraní.

Let’s Modify the Objects-First Approach into Design-Patterns-First
(Přejděme od přístupu Nejdříve objekty k přístupu Nejdříve Návrhové vzory)
ITiCSE 2006   —   Bologna   —   PDF verze ke stažení.
Abstract:
Design patterns have made a strong impact on how object-oriented software is designed, implemented, and communicated in industrial projects. Teaching patterns is therefore of great importance. To become them rooted, it is imperative to teach them from the very beginning of the course. This paper suggests modifying present Objects First approach into the Design Patterns First one and shows how to do it. It presents the brief content of the first five lessons of the course in which this approach is applied, together with some examples which demonstrate the usage of design patterns and which are on the other hand sufficiently simple for the first lesson of introductory course.
Překlad:
Používání návrhových vzorů výrazně ovlivnilo současné objektově orientované programování. Jejich výuka má proto velký význam. Chceme-li, aby jejich používání u našich studentů zakořenilo, musíme je učit od samého počátku výuky. Článek navrhuje nahradit stávající metodiku označovanou "Object First" metodikou, kterou bychom mohli označit termínem " Design Patterns First". Příspěvek převádí prvních pět lekcí kurzu, v němž je tato metodika aplikována, spolu s příklady, které jsou dostatečně jednoduché, aby mohly být použity v úvodních lekcích kurzů programování.

Současné trendy v metodice výuky programování
Počítač ve škole 2006   —   Nové město na Moravě   —   PDF verze ke stažení.
Abstract:
Příspěvek se zabývá současnými trendy v metodice výuky programování. Nejprve seznamuje se základními šesti směry přístupu k této výukce a stručně vysvětluje základní rozdíly mezi klasickým strukturovaným programováním a v současné době převažujícím programováním objektově orientovaným. V následující části vyvrací oblíbené námitky proti OOP a shrnuje základní zkušenosti s výukou objektově orientovaného programování různých typů studentů. V závěrečné části pak stručně seznamuje s možnými tématy prvních hodin výuky při používání metodiky Design Patterns First (nejdříve návrhové vzory).

Systém pro vývoj distribuovaných aplikací Plaant
Objekty 2005   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Při vývoji distribuovaných podnikových aplikací na zakázku se setkáváme s poměrně typickou sadou požadavků, které se neustále opakují. Systém Plaant byl vyvinut jako nástroj pro vývoj a následnou údržbu distribuovaných databázových aplikací. Nástroj, který výrazně snižuje jejich pořizovací i provozní náklady. Současně snižuje požadavky na kvalifikaci a zkušenosti vývojářů, kteří v něm tyto aplikace vyvíjejí. Celý systém je postaven na platformě J2EE a nabízí řadu jedinečných sofistikovaných vlastností a funkcí. Vedle možnosti snadné definice základních formulářů, které systém automaticky upraví pro různé druhy klientů (tlustý klient, webové rozhraní, mobilní telefon, …), nabízí i propracované možnosti řízení koloběhu dokumentů (workflow) a tvorby komplexních sestav určených pro různé cíle (tiskárna, komfortní grafic-ký výstup, webová služba, …).

Začlenění návrhových vzorů do výuky programování
Objekty 2005   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Příspěvek nejprve stručně seznamuje se šesti hlavními současnými přístupy k výuce základů programování. Poté se soustředí na přístup, při němž celá výuka začíná prací s objekty a důslednou aplikací zásad objektově orientovaného programování. Kritizuje polovičatost doposud publikovaných učebních textů a naznačuje, jak je možno deklarované zásady aplikovat důsledněji. V druhé, klíčové části příspěvku ukazuje na konkrétních příkladech, jak lze postupovat při výuce, při které se od počátku učí doopravdy objektově orientované programování a předvádí, jak je možno prakticky od prvních hodin začlenit do výuky programování seznámení s návrhovými vzory a možnostmi jejich použití. V třetí části srovnává dva přístupy k zadání zkušebního příkladu: klasický a skutečně objektově orientovaný. Ukazuje, že opravdu objektový přístup je výhodnější jak pro studenty, tak pro vyučujícího. V poslední, čtvrté části pak zmiňuje návrhové vzory, které by si také zasloužily zařazení do vstupních kurzů, avšak v předchozím textu na ně nedošlo.

Jak efektivně učit OOP
Tvorba Softwaru 2005   —   Ostrava   —   PDF verze ke stažení.
Abstract:
Objektově orientované programování vyžaduje diametrálně odlišný přístup k analýze a syntéze programu, než před ním převažující programování strukturované. Většina učebních textů a kurzů programování však tuto skutečnost nebere v úvahu a je nadále koncipována především jako kurzy, ve kterých se jejich čtenáři, resp. frekventanti učí především syntaxi použitého jazyka. Opravdu objektový přístup k vývoji programu se proto studenti učí až v nadstavbových kurzech, kdy ale již mají zažitu řadu zlozvyků, které se musejí postupně odnaučovat. Příspěvek shrnuje zkušenosti s výukou snažící se vštípit žákům co nejdříve zásady OOP a ukazuje, jak je třeba změnit přístup k výuce, aby absolventi kurzů byli schopni programovat doopravdy objektově. Postupně popisuje praktickou aplikaci jednotlivých zásad, které je vhodné při výuce programování dodržet, a shrnuje zkušenosti s takto pojatou výukou.

Jak při výuce Javy opravdu začít s objekty
Objekty 2004   —   Praha   —   PDF verze ke stažení.
Abstract:
Příspěvek seznamuje s metodikou výuky programování, při které studenti pracují s objekty od samého počátku kurzu a ne až po předehře zabývající se klasickými strukturovanými konstrukcemi. Ty se podle této metodiky probírají až v závěrečných etapách výuky. Příspěvek vysvětluje nevýhody dosavadního standardního přístupu a ukazuje, jak jej lze s využitím současných vývojových nástrojů změnit. Předvádí, jak je třeba volit příklady, a uvádí i zkušenosti z dvouletého používání předvedené metodiky v kurzech profesionálních programátorů i kroužcích dětí základních a středních škol.

BlueJ – vývojové prostředí pro výuku jazyka Java
Objekty 2004  —   Praha   —   PDF verze ke stažení.
Abstract:
Příspěvek seznamuje s vývojovým prostředím BlueJ, které bylo vyvinuto speciálně pro počáteční fáze výuky objektově orientovaného programování v jazyku Java. BlueJ studentům umožňuje navrhovat diagram tříd vyvíjené aplikace v zjednodušené verzi jazyka UML. Z tohoto diagramu pak automaticky vytváří kostry tříd a naopak všechny změny v těchto třídách následně promí-tá do diagramu. Hlavní výhodou prostředí BlueJ je však jeho interaktivnost. BlueJ umožňuje uživateli přímo posílat zprávy jednotlivým třídám a jejich in-stancím. Kromě toho přidává i řadu dalších funkcí využitelných zejména při výuce základů objektově orientovaného programování - např. interaktivní ge-nerování testů. Článek seznamuje se základními vlastnostmi tohoto vývojového prostředí a ukazuje, jaké výhody může přinést jeho nasazení ve výuce.

Novinky, s nimiž přichází Java 5.0
Objekty 2004  —   Praha   —   PDF verze ke stažení.
Abstract:
Poslední verze jazyka Java přinesla nejpřevratnější změny v jeho historii. Tentokrát se nejenom rozšířila standardní knihovna, ale změny se výrazně dotkly i syntaxe jazyka, která doznala několika zásadních rozšíření. Příspěvek probírá syntaktické novinky, s nimiž přichází Java v edici J2SE 5.0. Jsou v něm postupně rozebrány statický import, automatické převádění primitivních hodnot na instance obalových typů a zpět, objektové výčtové typy, generické, resp. parametrizované datové typy, rozšíření příkazu for, zavedení metod s proměnným počtem parametrů a metadata.

Proč a jak učit OOP žáky základních a středních škol
Žilinská didaktická konferencia 2004  —   Žilina   —   PDF verze ke stažení.
Abstract:
Příspěvek se komplexně zabývá výukou programování na základních a středních školách a vysvětluje, proč je třeba přejít od klasických paradigmat k objektově orientovanému programování a jak to učinit. Je rozdělen do tří částí. První část zdůvodňuje nutnost výuky OOP již na základních a středních školách a nevhodnost počáteční výuky programování podle klasických paradigmat, která v žácích zbytečně vychovává návyky, kterých se pak musejí zbavovat. Druhá část vysvětluje jak vybrat optimální programovací jazyk a vývojové prostředí. Třetí, nejrozsáhlejší část je věnována podrobnému popisu metodiky výuky. Názorně ukazuje, jak při výuce začít výkladem objektů a tříd, pokračovat zapouzdřením, polymorfismem a dědičností a skončit výkladem klasických programových konstrukcí.

Výuka objektově orientovaného programování žáků základních a středních škol
Objekty 2003  —   Ostrava   —   PDF verze ke stažení.
Abstract:
Příspěvek se zabývá hlavními zásadami správné výuky programování a předvádí možnosti jejich implementace při výuce OOP ve školách a zájmových zařízeních navštěvovaných žáky základních a středních škol. Demonstruje, jak lze přirozeně začít výklad přímo prací s třídami a objekty a od ní pak postupně a plynule přejít k dalším konstrukcím. Ukazuje na důležitost správné volby použitého vývojového prostředí a předvádí, jak lze vytčených cílů dosáhnout při výuce jazyka Java využitím vývojového prostředí BlueJ.