Otázka:
Programovací prostředí pro výuku dětí o koncepcích programování
slm
2014-02-25 06:06:20 UTC
view on stackexchange narkive permalink

Hledám samostatnou aplikaci, která by pomohla při výuce základních konceptů programování pro žáky 4. ročníků (9-10 let).

POZNÁMKA: Hledám skutečnou aplikaci, která by jim zábavným a interaktivním způsobem pomohla naučit je smyčky, podmíněnou logiku atd. Jsem počítačový inženýr a vím mezi jinými jazyky Python, Ruby, Perl a C a velmi dobře bych je mohl naučit jeden z těchto jazyků, ale chtěl jsem je naučit více o konceptech než o tom, jak kódovat v programovacím jazyce X .

Našel jsem, ale nikdy jsem nepoužil žádný z následujících balíčků:

zdarma

komerční

Webová bezplatná komerční reklama &

Jak vidíte, existuje obrovský výběr možností (th to jsem našel za ~ 30 minut hledání). Který z nich by se dobře hodil k tomu, aby mé děti odletěly a měly zájem stát se opičími kódy?

Požadavky:

  • Měl by tyto koncepty učit spíše než jazykově specifické
  • Musí být interaktivní
  • Komerční nebo otevřený zdroj je přijatelný
  • Mělo by běžet v systému Linux (nejlépe Ubuntu nebo Fedora)

Reference

Pět odpovědi:
Ben Miller - Remember Monica
2014-02-25 21:55:52 UTC
view on stackexchange narkive permalink

Doporučuji Scratch. Scratch je bezplatný program, který je speciálně navržen tak, aby splňoval to, co hledáte: snadnou výukou konceptů programování dětí, aniž byste se museli starat o syntax.

Scratch je naprogramován pomocí drag-and -rozhraní. Všechny příkazy jsou barevně kódovány podle typu a jsou tvarovány tak, aby se spojily dohromady jako bloky Lego. Díky tomu mohou děti snadno zjistit, co se kam děje.

Když spustíte Scratch, dostanete jednoduchého spriteho a můžete napsat kód, který na něj bude fungovat. Zde je příklad velmi jednoduchého programu:

simple Scratch program

Řídicí příkazy jsou žluté, pohybové příkazy modré, zvukové příkazy fialové, operátory zelené a proměnné oranžové . Tvar příkazů vám řekne, kam jdou. Události jdou nahoře a příkazy, které něco dělají, jdou pod to. Porovnávací operátory a proměnné jsou tvarovány zvláštním způsobem, takže je snadné zjistit, kam se kam dostane.

I přes jednoduchý program, jako je ten, který jsem zde ukázal, se děti mohou dozvědět o proměnných, událostech, podmíněných , srovnání, inicializace atd. Moje děti jsou o něco mladší než oficiální Scratch doporučený ve věku 8-16 let, ale i oni se bavili přeskupováním příkazů a sledováním toho, jak sprite dělá různé věci. Inspiruje experimentování.

Scratch také nabízí online komunitu, kde děti mohou sdílet své programy a stahovat programy, které napsali ostatní.

Vaše požadavky:

  • Scratch učí koncepty, aniž by musel učit syntaxi.
  • Je interaktivní. Jakmile příkaz v okně smysluplně umístíte, stane se aktivním.
  • Je to bezplatný a otevřený zdroj.
  • Je k dispozici jako webová aplikace nebo počítač. aplikace pro Linux, Windows nebo OS X.
To je to, co bych doporučil. Výukové programy a příklady na stíracím webu jsou docela skvělé a brilantně ukazuje základy jako smyčky.
Scratch nebude fungovat na iPadu, protože vyžaduje flash. [Verze HTML5] (https://wiki.scratch.mit.edu/wiki/Scratch_on_Tablets) je zjevně ve vývoji, ale časové rámce se zdají vágní.
Nikdy jsem to neviděl přeloženo. Mým problémem je, že děti, které učím, dokážou číst, ale nerozumí anglicky.
@ThomasWeller Online verze aplikace Scratch je k dispozici v [50 jazycích] (https://en.scratch-wiki.info/wiki/Scratch_in_Many_Languages), včetně němčiny. Chcete-li přepnout jazyk, otevřete svůj projekt Scratch a klikněte na ikonu zeměkoule v levém horním rohu.
Menasheh
2014-07-09 23:08:22 UTC
view on stackexchange narkive permalink

Greenfoot, Scratch a Codecademy jsou dobrou volbou. Opravdu záleží na tom, jak vyspělí jsou vaši studenti.

Scratch je dobré, když se mladí studenti nejprve zapojí do programování. Učí základní programovací koncepty jednoduchým způsobem založeným na blocích. Může být použit k výrobě téměř jakéhokoli typu 2D projektu relativně jednoduše. Přestože je scratch jednoduchý a méně děsivý než kód pro programátory, kteří začínají poprvé, má také trochu daleko od skutečného programování a neučí tolik základních programovacích konceptů, jak by mohl. Nezahrnuje například smyčky a vlastní bloky jsou omezeny na příkazové bloky (na rozdíl od reportérů číslo / řetězec a podmíněné (booleovské). Tento problém vychází z touhy týmu scratch udělat vše jednoduché pro začátečníky. To by mohlo být v pořádku, nebo by to mohlo vést k tomu, že student bude programovat smyčky s ruční proměnnou počtu, dokud nebude opraven. Přesto je Scratch velmi dobrým vstupním bodem do programování pro mladé programátory, zvláště pokud je pro ně kód stále děsivý.

greenfoot.com/overview:

Greenfoot učí orientaci objektů v prostředí Java. Vytvářejte „herce“, kteří žijí ve „světech“, a vytvářejte hry, simulace a další grafické programy.

Greenfoot je vizuální a interaktivní. Vizualizační a interakční nástroje jsou zabudovány do prostředí.

Aktéři jsou naprogramováni ve standardním textovém kódu Java, což poskytuje kombinaci zkušeností s programováním v tradičním textovém založený jazyk s vizuálním provádění.

Doporučuji Greenfoot pro starší začínající programátory, kteří se nebojí kódu.

Codecademy je vhodný pro každého, kdo má motivaci naučit se jeden nebo více nabízených jazyků. Bývalé znalosti konceptu programování vám mohou pomoci postupovat rychleji, ale není to nutné. Prostě si pečlivě přečtěte podrobného průvodce každou lekcí, ujistěte se, že jí rozumíte, a splňte úkol, který má pokročit. Codecademy učí to, co učí dobře, ale velmi strukturovaným způsobem, blíže k výuce typu ve třídě. Každý scénář musíte psát tak, jak se říká, což může být trochu nudné, ale vyjde vám znalost jazyka. To je na rozdíl od nuly a greenfootu, kde si můžete vybrat, co chcete udělat.

yoniLavi
2014-02-25 22:08:50 UTC
view on stackexchange narkive permalink

Chtěl bych doporučit pythonský LOGO modul - želvu (součást standardní knihovny, a tedy předinstalovaný na většině linuxových distribucí). Předpokládám, že je nejvhodnější pro starší děti, ale (podle mého názoru) je to mnohem příjemnější než škrábání apod., protože je to skutečný programovací jazyk. Po výuce základů programování pomocí želvy můžete přirozeně přejít na používání jiných knihoven v pythonu (atd. cherrypy pro vývoj webových aplikací).

Například zde jsou dva výukové programy, které znám které se používají pro želví dílny:

guettli
2018-04-17 19:36:37 UTC
view on stackexchange narkive permalink

Použil bych nástroj, který se zvykne používat v reálném životě, místo něčeho, co bylo vytvořeno pro výuku.

Proč nepoužívat PyCharm jako IDE a velmi jednoduchý základní příklad?

Jako základní příklad navrhuji:

Vytisknout „ahoj svět“ 100 000krát. Děti to milují. Kreativní žáci by mohli změnit „ahoj svět“ na „moje sestra je otravná“. A pak byl vytvořen jeden základní stavební blok: Baví se.

Pokud se vyhnete tisku nového řádku, obrazovka se třese vtipně. To dává subjektivní zkušenosti, že se toho stane hodně :-)

  import sysfor i in range (1000000): sys.stdout.write ('hello world.')  

Další věcí, kterou byste měli objevit, by mohla být nekonečná smyčka a jak ji ukončit.

Na jedné straně je Python velmi jednoduchý a vhodný pro děti a žáky. Psaní kachen např. je užitečné pro děti. Ale pak je tu `__init __ (self)`, `pokud __name__ ==" __ main __ "" a spousta věcí, které je opravdu těžké vysvětlit.
@ThomasWeller - Ale tyto funkce nemusíte učit nikde na začátku, pokud vůbec. Spousta lidí používá Python jako skriptovací jazyk pro správu systému a * nikdy * nemusí tyto funkce používat. Váš argument by se stejně mohl vztahovat prakticky na každý programovací jazyk.
Zajímalo by mě, proč byste měli začít s `import sys` a nepoužívat klasický` print`. Mluvíme o začátečnících, že? (Sakra, Python používám mnoho let, a to i při své práci, a * nikdy * jsem nepoužíval `sys.stdout.write`. Ever.)
@ThomasWeller ano `pokud __name__ ==" __ main __ "" je těžké vysvětlit. Ale děti se učí lépe než dospělí. Na začátku stačí jednoduché „je to, jaké to je“.
@JohnY Používám sys.stdout.write (), abych se vyhnul novému řádku, který je vyzařován print (). K efektnímu otřesu obrazovky dojde, pouze pokud nový řádek vynecháte.
Snažíte se efekt „třesení obrazovky“ překvapit (vyzkoušet intuici začátečníka o nových řádcích) nebo si jednoduše myslíte, že je to nejjednodušší způsob, jak to udělat záměrně? Protože pokud vám nezáleží na tom, zda je to překvapení, pak je „zamýšleným“ způsobem dosažení efektu pomocí `print ('ahoj svět.', End = '')`. Myslím, že je diskutabilní, zda je to více pro začátečníky než pro import a volání metody. Ale jak říkáte, měli by být schopni přijmout „je to tak, jak to je“. Takže si myslím, že je můžete také naučit `tisknout ', protože je to zdaleka běžnější rys.
@JohnY Nemám ponětí. Jen jsem si pamatoval, co jsem udělal během prvního kontaktu s počítačem (C64 a BASIC). Bylo zábavné vidět, jak se obrazovka „třese“ a tiskne pořád dokola to samé.
knb
2018-04-17 19:53:11 UTC
view on stackexchange narkive permalink

Můžete také vyzkoušet Netlogo - je to spíše prostředí pro modelování a ve skutečnosti docela pokročilé. Jednoduché modely však obsahují několik prvků grafického uživatelského rozhraní a velmi málo řádků kódu. Je to zdarma a pravděpodobně otevřený zdroj. Potřebuje Javu.

K vysvětlení dětem lze použít jednoduché modely. A Netlogo se zaměřuje na dokumentaci. Nevýhodou je, že učitel musí být pokročilým uživatelem Netloga (aby se vyhnul složitějším funkcím).

Dalším příkladem, který stojí za to se podívat, je Racket (konkrétně „Beginning Student“ dialect of Racket) a doprovodná iniciativa Jak navrhovat programy HTDP. Syn Johna Carmacka naprogramoval 40letou skokovou hru Fly v raketě, když mu bylo 10 let v roce 2015, ale John neměl rád výukové materiály HTDP.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...