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

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

Metodika. Architecture First. Rudolf Pecinovský

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

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

Úvod. Programovací paradigmata

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

KOPENOGRAMY A JEJICH IMPLEMENTACE V NETBEANS

MS OFFICE, POWERPOINT - ANIMACE OBJEKTŮ

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

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

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Počítače a volný čas dětí a mládeže

MPASM a IDE pro vývoj aplikací MCU (Microchip)

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

knihovna programátora

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Soulad studijního programu. Aplikovaná informatika

Ú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.

Výukový materiál zpracován v rámci projektu EU peníze školám

Algoritmy a algoritmizace

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

Pozměňovací návrh ke sněmovnímu tisku č. 854

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

Komprimace/Dekomprimace

Výuka programování pro praxi

Úvod do softwarového inženýrství a týmového vývoje

MS OFFICE OUTLOOK SEZNÁMENÍ

CPK a meziknihovní služby

Střední odborná škola a Střední odborné učiliště, Hořovice

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

Tvorba informačních systémů

Statistické metody v ekonomii. Ing. Michael Rost, Ph.D.

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Hodinová dotace + vzdělávací cíl:

Jaký programovací jazyk učit jako první a jak ho učit?

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

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

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

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

Results of innovation of the course Application software

1 Strukturované programování

Rozšiřující studium učitelství pro střední školy - informatika

ZEMĚMĚŘICKÝ ÚŘAD. Výzkum a vývoj programového aparátu pro generalizaci státního mapového díla. Ing. Přemysl JINDRÁK

Upravená žádost o akreditaci podle požadavků AK

Školení pro autory ODZ

Analýza a Návrh. Analýza

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

NÁVRH A REALIZACE WWW PREZENTACE ČKR

Algoritmizace. 1. Úvod. Algoritmus

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

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

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Programujeme, a co dál? Dan Lessner

Pokročilé funkce. Průvodce systémem Moodle ČZU. Pokročilé funkce. Středisko podpory elektronického vzdělávání

PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA

Úvod do programovacího jazyka Python

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

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

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

Informační a komunikační technologie

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

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

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Aktivní detekce chyb

Moderní systémy pro získávání znalostí z informací a dat

Revize ICT kurikula, rok dva. Počítač ve škole Nové Město na Moravě

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

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

Úvod do programovacího jazyka Python

České vysoké učení technické v Praze

Směrnice č. 1DS/2016 děkana Fakulty ekonomické ZČU Organizace státních závěrečných zkoušek na FEK ZČU

METHODOLOGY ARCHITECTURE FIRST. Rudolf PECINOVSKÝ

Programování v jazyce C a C++

Vývoj informačních systémů. Přehled témat a úkolů

Co je to E-Business Centrum

MODERN APPROACHES TO TEACHING PROGRAMMING. Rostislav FOJTÍK

Obsah. Úvod do studia 11 Co byste měli předem znát 13. Úvod do obsluhy AutoCADu 23. Kapitola Kapitola 1 23

Cvičení MI-PRC I. Šimeček

Zápis z veřejného zasedání Zastupitelstva města Horní Bříza ze dne

Projekt podpořený Operačním programem Přeshraniční spolupráce Slovenská republika Česká republika

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

8 Třídy, objekty, metody, předávání argumentů metod

Uživatelská příručka Autor: Martin Fiala

z pohledu vysokého školství Petr Matějka ČVUT v Praze, Fakulta Stavební Katedra ekonomiky a řízení ve stavebnictví

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

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Školení pro autory ODZ

MS OFFICE PUBLISHER 2010

Co je to matematika?

Chyby software. J. Sochor, J. Ráček 1

VÝVOJ DISTRIBUOVANÝCH APLIKACÍ V SYSTÉMU PLAANT

Algoritmizace a programování

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

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

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ , 5.1 a 5.2 8/14

Projekt implementace OS Linux do výuky informačních technologií

Reálné gymnázium a základní škola města Prostějova Školní vzdělávací program pro ZV Ruku v ruce

ANOTACE vytvořených/inovovaných materiálů

Úvod do programování

Transkript:

Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 1 z 11 Vývoj a ověřování metodiky výuky programování Rudolf Pecinovský Informatika XXIX 2016

Obsah Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 2 z 11 Metodika Architecture First 1. Zdokonalování generátoru kódu 1.1 Projekt na konci první etapy 2. Kopenogramy 2.1 Žádost o vykreslení kopenogramu 2.2 Obdržený kopenogram 3. Rozšíření NetBeans 3.1 BlueJ jako plugin v NetBeans 4. Dotazy?

Metodika Architecture First Vychází ze dvou premis Zkušenost ukazuje, že seznámíme-li záhy studenty s kódem, začnou se příliš soustředit na kód a použitou syntaxi a jejich programy postrádají architekturu pro stromy nevidí les Vývoj vývojových nástrojů ukazuje, že zanedlouho převezmou většinu práce s kódováním generátory kódu a na vývojáře zbyde především návrh architektury Studenti, kteří začnou s kódováním, mají později obrovské problémy s přechodem svého uvažování na hadinu architektury Na minulých konferencích si přednášející několikrát stěžovali, že studenti mají problémy s pochopením architektury použitého objektového modelu Když na naši školu přijdou do magisterského studia studenti z jiných škol (nejčastěji FIT), tak často navrhují pro relativně složitý systém architekturu postavenou na třech třídách: Vstup Zpracování Výstup Začíná proto výukou architektury s tím, že kód navržených programů má na starosti generátor kódu, který je součástí vývojového prostředí Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 3 z 11

1. Zdokonalování generátoru kódu Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 4 z 11 Začali jsme s prostředím BlueJ, které má jednoduchý generátor zabudovaný, ale autoři o jeho dalším vývoji neuvažují Jedna skupina studentů proto rozšiřuje zabudovaný generátor tak, aby bylo možno co nejdelší část semestru učit programování tak, že se budeme soustředit na návrh architektury, aniž by studenti byli nuceni zapsat kód navrženého programu Ukazuje se, že při využití konstrukcí, Jejichž podpora je v poslední době do jazyků začleňována, lze tímto způsobem navrhnout a ihned vyzkoušet i relativně složité programy Protože při takto koncipované se v první etapě nepotkají s kódem, mohou si studenti vybrat jazyk, v němž budou v další etapě pokračovat

1.1 Projekt na konci první etapy Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 5 z 11

2. Kopenogramy Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 6 z 11 Prozatím využíváme toho, že moderní programové konstrukce umožňují navrhnout i netriviální kód jako prostou sekvenci příkazů Pro analýzu složitějších programových konstrukcí používáme kopenogramy, které nám přímo vygeneruje použité IDE Kopenogramy umožňují poměrně rychle odhalovat významnou podmnožinu algoritmických chyb Prozatím slouží hlavně jako pomůcka pro programátory složitějších aplikací, kterým umožňuje: Analyzovat algoritmy z knihoven, které obdrží se zdrojovým kódem Hledat chyby ve vlastních algoritmech Připravuje se možnost navrhovat algoritmy pomocí kopenogramů, která by doplňovala první etapu výuky podle metodiky AF

2.1 Žádost o vykreslení kopenogramu Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 7 z 11

2.2 Obdržený kopenogram Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 8 z 11

3. Rozšíření NetBeans Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 9 z 11 Prostředí BlueJ je vhodné opravdu jenom pro prvních několik hodin Jakmile začne být projekt složitější, že jména když používá více balíčků / jmenných prostorů začne být omezená funkcionalita BlueJ nepříjemná (zvyšuje pracnost) Při přechodu na standardní profesionální IDE ale přijdeme o generátor kódu a další vymoženosti BlueJ Rozhodli jsme se proto upravit BlueJ tak, aby mohlo pracovat jako standardní plugin NetBeans

3.1 BlueJ jako plugin v NetBeans Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 10 z 11

4. Dotazy? Copyright Rudolf Pecinovský, Soubor: 2016_INF_Architecture First.doc, verze 1.00.2413, uloženo út 19.1.2016 10:03 11 z 11