Chatbot EMA
5 skvělé

UML a Flowchart ve výuce programování na gymnáziu

Autor
Michal Černý
Datum vložení
4. 12. 2018
26 0 1
0x
využito ve
výuce

Anotace

Uživatelská
hodnocení
Systémová
hodnocení
0x
využito ve
výuce
Počet využití ve výuce
0
Počet hodnotících uživatelů
Názor uživatelů na kvalitu materiálu
5 skvělé
Další statistické údaje

Vaše hodnocení pomůže ostatním při výběru toho pravého materiálu.

Přidejte hodnocení anonymně nebo pod svým profilem.

Přidat hodnocení

Ohodnocením materiálu pomůžete zpřesnit vyhledávání dle obsahu. Děkujeme.

1

Celková kvalita materiálu *
Povinný údaj 

2

Použil/a jste tento materiál ve výuce?

3

Klady

Zápory

4

Komentář

5

Které tagy nejlépe vystihují obsah materiálu?

Vyberte štítky, které vám připadají pro tento materiál relevantní

algoritmizace
algoritmus
diagram
programování
UML

Není to úplně ono? Zadejte vlastní štítky lépe vystihující obsah

Uživatelská
hodnocení
Systémová
hodnocení
0x
využito ve
výuce
Počet využití ve výuce
0
Počet hodnotících uživatelů
Názor uživatelů na kvalitu materiálu
5 skvělé
Další statistické údaje

Vaše hodnocení pomůže ostatním při výběru toho pravého materiálu.

Uživatelská
hodnocení
Systémová
hodnocení
0x
využito ve
výuce
Počet využití ve výuce
0
Počet hodnotících uživatelů
Názor uživatelů na kvalitu materiálu
5 skvělé
Další statistické údaje

Vaše hodnocení pomůže ostatním při výběru toho pravého materiálu.

Přidejte hodnocení anonymně nebo pod svým profilem.

Základní atributy materiálu

  • Autor: Michal Černý
  • Poskytovatel: Metodický portál RVP.CZ
  • Datum vložení do systému: 04. 12. 2018
  • Datum vzniku: 30. 09. 2011
  • Umístění materiálu: -
  • Stupeň vzdělání: gymnaziální vzdělávání
  • Ročník: -
  • Dostupnost: Volně dostupné bez registrace
  • Typ materiálu: článek
  • Licence: Creative Commons - Uveďte původ-Neužívejte komerčně-Nezpracovávejte 3.0 ČR
  • Jazyk: Čeština
  • Otevřený zdroj: Ano

Chcete se k materiálu vyjádřit?
Využijte prostor pro férovou diskusi.
 
#fairplay

Ivan Ryant 3.10.2011

Komentář

UML je dost dobrý jazyk na konceptuální modelování, ale diagramy UML, které slouží k návrhu algoritmu (tj. activity diagrams, state transition diagrams) jsou pro výuku programování stejně nevhodné jako vývojové diagramy (flowcharts dříve také nazývané bloková schemata). Viz dopis Edsgera Dijkstry \"Go To Statement Considered Harmful\" z března 1968 (vyšel v Communications ACM 11 / 3, http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF ) nebo článek Eda Posta \"Real Programmers Don\'t Use Pascal\", viz http://www.cs.bgu.ac.il/~omri/Humor/real-progstory.html - obojí doporučuji přečíst, zvláště ten druhý mě před asi třiceti lety dost pobavil. Nehodlám tady znovu rozpoutávat války za strukturované programování, myslel jsem, že je už dávno dobojováno.


Strukturované programy lze docela dobře zaznamenat pomocí myšlenkových map (viz články \"7 tipů, jak použít myšlenkové mapy\" a \"Myšlenkové mapy v edukačním procesu\" na tomto portálu). Klasické jsou Jacksonovy strukturogramy (použité např. v dříve populárním Soukupově nástroji SGP) nebo např. kopenogramy autorů Kofránka, Pecinovského a Nováka použité např. v \"Dálkovém kursu číslicové techniky\", který v 80. letech vydávala 602. ZO Svazarmu. Ještě lepší než pouhá kreslítka na diagramy jsou jistě vývojová prostředí, kde diagramy můžete rovnou spustit (Karel, Baltík, Scratch, MS Kodu apod.) - viz článek \"MS Kodu ve výuce\" Terezy Humpolcové zde na portálu. Mně se osvědčila didaktická hra \"Záhada slibového pahorku\", kterou jsem podrobněji popsal v diskusi k článku \"MS Kodu ve výuce\". Před tím jsem naprogramoval podobnou hru \"Zachraňte Karla!\" (viz http://members.upc.cz/ryant/personal/okarlovi.htm).


Další zásadní námitka proti vývojovým diagramům (a také proti strukturogramům a stavovým diagramům všeho druhu) je, že vývojovým diagramem neznázorníte rekurzi, redukujete algoritmus na pouhý konečný automat a žáci (studenti) tak nemohou pochopit vyjadřovací sílu algoritmického myšlení - podrobnosti jsem uvedl v článku \"Nahraďte algoritmizaci systémovým přístupem!\" zde na portálu. Ukázky algoritmizace úloh z počtů (např. trojčlenka, kořeny kvadratické rovnice, Pythagorova věta, největší společný dělitel, numerická integrace obdélníkovou nebo lichoběžníkovou metodou, řešení rovnic metodou sečen atd.) - to všechno jsou pěkné názorné ukázky pro laiky, ale algoritmické myšlení je především myšlením matematických důkazů. A pokud jde o střední školu, tak právě to je jediné téma z matematiky (počty nechme stranou), kde algoritmizace pomůže studentům pochopit podstatu věci (stejně jako Alanu Turingovi umožnila v roce 1937 převést problém nerozhodnutelnosti na daleko názornější problém nezastavení Turingova stroje).