UNIVERZITA KOMENSKHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A
UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Vyučovanie základov programovania v jazyku Python Eva Mészárosová Školiteľ: Monika Tomcsányiová ČS – ŠVK DI 2015
Vyučovanie programovania na SŠ • Algoritmy, algoritmické myslenie a riešenie problémov • Vhodný jazyk pre tento účel by mal umožniť: – sústrediť sa na algoritmy – získanie programátorských zručností a kompetencií – čo najmenej zaťažiť vlastnosťami jazyka alebo prostredia • Jazyk Python sa dostáva do popredia • Prehľad vybraných výukových materiálov 2/15
Programovací jazyk Python • Guido van Rossum, 1989 • Interpretovaný jazyk, open source, multiplatformový • Podporuje funkcionálne, procedurálne a OOP Python Pascal (Delphi/Lazarus) def je_prvocislo(x): for i in range(2, x): if x % i == 0: return False return True function Je. Prvocislo(cislo: integer): boolean; var i: integer; begin Result: =true; for i: =2 to cislo-1 do if (cislo mod i) = 0 then Result: =false; end; 3/15
Massachusetts Institute of Technology • Kurz Introduction to Computer Science and Programming - prof. John Guttag • Určený pre študentov s minimálnou skúsenosťou s programovaním • Zameraný na porozumenie riešenia problémov • Cieľom: všeobecný prehľad a základné zručnosti riešenia informatických problémov 4/15
Massachusetts Institute of Technology • Z obsahového hľadiska je kniha spracovaná pomerne detailne • Na konci každej časti sú uvedené príklady • Prevláda matematický kontext Napíš funkciu obsahuje, ktorá dostane dva znakové reťazce ako parameter a vráti hodnotu True, ak niektorý z reťazcov obsahuje druhý reťazec. Inak vráti hodnotu False. 5/15
FMFI Univerzity Komenského v BA • Programovanie 1 - RNDr. Andrej Blaho, Ph. D. • Pre odbor aplikovaná informatika • Prednášky sú rozsiahle a témy v nich sú rozpracované podrobne • Orientované na vysvetlenie detailu jazyka • Úlohy z cvičení sú orientované na využitie naučených príkazov pri riešení alg. problémov Funkcia rad_kociek(x, y, n) pomocou funkcie kocka(x, y) nakreslí vedľa seba n farebných štvorcov tak, aby ležali tesne vedľa seba na myslenej čiare, prvý z nich nech má súradnice napr. (50, 100). 6/15
Škola pre Mimoriadne Nadané Deti a Gymnázium v Bratislave • Základy programovania v jazyku C – pokračovanie v jazyku Python • Podľa učebnice pána učiteľa Belana • Učebnica je určená pre žiakov, ktorí už prešli úvodným kurzom programovania 7/15
Škola pre Mimoriadne Nadané Deti a Gymnázium v Bratislave • Autor uvádza najprv príklad a až potom vysvetlenie danej tematiky na príklade • Obsahuje relatívne málo úloh na precvičenie (1 -4 úlohy) • Po obsahovej stránke učebnica obsahuje požadované pojmy a termíny zo ŠVP Napíšte program, ktorý šesťstokrát hodí kockou a vypíše vám, koľkokrát padla šestka. 8/15
Stredná odborná škola v Kiskunlacháza, Maďarsko • Základy programovania v jazyku Python • Interné materiály pre programovanie • Materiály sú prispôsobené zameraniu školy 9/15
Stredná odborná škola v Kiskunlacháza, Maďarsko • Po obsahovej stránke sú spracované analogicky a väčšinou pomocou príkladov • Najprv je vždy uvedený nový pojem alebo termín s vysvetlením a neskôr príklad ako ukážka • Po každej téme sú uvedené skupiny úloh na precvičenie novej tematiky • príklady majú väčšinou matematický kontext a počas niekoľkých tém sa príklady opakujú Koľko si zarobí ročne Jozef, ak mu každý rok zvýšia výplatu o 12%? Výšku prvej výplaty zadávajte pomocou editovacieho riadka a rátajte od roku 2009 do 2026. 10/15
Učebnica Informatika pre stredné školy: Programovanie v Delphi a Lazaruse • Prieskum medzi učiteľmi -> na vyučovanie programovania väčšinou používajú túto učebnicu • Vydaná v roku 2012 a schválená Ministerstvom školstva SR • Z obsahového hľadiska pokrýva všetky dôležité témy, pojmy a koncepty zo ŠVP • Z didaktického hľadiska je spracovaná detailne s ilustratívnymi príkladmi použitia • Po každej časti sú uvedené úlohy na precvičenie nového učiva 11/15
Výsledky prieskumu Kniha / kurz MIT FMFI Šp. MND KSz. I u. DL premenné a priradenie 1 1 2 graficka plocha - 3 11 10 1 riadiace štruktúry: podmienené príkazy 2 5 2 2 7 riadiace štruktúry: cykly (for) 5 2 5 4 4 riadiace štruktúry: cykly (while) 4 6 6 3 6 funkcie (procedúry) 6 7 8 5 5 práca so súbormi 10 9 - 15 11 náhodné čísla - 4 7 8 3 polia 11. 2 10. 2 4. 1 7. 1 10 n-tice 11. 1 10. 1 4. 2 7. 2 - množiny 11. 4 10. 3 - - - slovníky, ar. polia 11. 3 15. 2 4. 3 - - dvojrozmerné polia 15 15. 1 - - - objekty, triedy, dedičnosť 14 14 12 9 - korytnačia grafika - 11 - - rekurzia 8 12 - 11 12/16 -
Predbežné poradie tém pre metodiku • S ohľadom na potreby a požiadavky učiteľov a možnosti jazyka Python • Prvé tri témy: – premenné – grafická plocha (motivácia) – for-cyklus 13/15
Zhrnutie • Aké témy sú vhodné pre všetkých žiakov SŠ? • Aké úlohy sú vhodné na vyučovanie týchto tém? • Podobné poradie tém ako v učebnici programovania v Delphi a Lazaruse • Chceme pokryť obsahový štandard ŠVP ISCED 3 A „Programovanie je náročné, ale my by sme sa mali snažiť o to, aby nebolo ťažšie, než je treba. “ (John M. Zelle) 14/15
Ďakujem za pozornosť meszarosova@fmph. uniba. sk tomcsanyiova@fmph. uniba. sk
- Slides: 15