2013-08-09 16 views
6

Insegnerò presto alcuni studenti degli anni 9 e 10 di Python e ho pensato che sarebbe stato bello fare alcune sfide di tipo Project Euler con loro. Sembra che il primo problema sia fattibile da loro, ma penso che alcuni degli altri potrebbero essere un po 'esagerati, o non richiedere una programmazione sufficiente.Problemi facili da risolvere per i bambini in Python

Se qualcuno ha un posto dove trovare alcuni problemi di programmazione facili, o può pensare a qualsiasi, possono per favore fatemelo sapere.

modifica: per l'anno 9 e 10 intendo che sono stati a scuola per 9 o 10 anni. Quindi circa 13, 14 e 15 anni di età. Dispiace per la confusione!

+1

Alcuni di questi sono abbastanza divertenti http://inventwithpython.com/hacking/chapters/ –

+1

Detesto dire questo, ma penso che quasi tutti i problemi di programmazione siano sopra i 9-10 anni. – orlp

+3

@nightcracker: sembra l'opinione di 50 anni fa che le lingue straniere dovrebbero essere insegnate agli adulti, come sopra i capi di 9-10 anni. Ora inizi a insegnare le lingue in età prescolare, poiché è sopra la testa di chiunque abbia più di 10 anni ... – Hyperboreus

risposta

2

Oh, ricordo qualcosa che mi è stato insegnato a scuola! Il mio insegnante IT ha creato una classe in python con cui attributi hanno creato una sequenza matematica. L'obiettivo era quello di indovinare la formula dietro questa sequenza usando solo python. Ovviamente, non è possibile guardare il file con la classe, importarlo solo in python. Forse c'è più matematica che programmazione qui, ma per risolvere questo, gli studenti dovranno imparare come le variabili, i namespace (per trovare le variabili), i loop (per stampare quelle variabili) e le classi (che memorizzano quelle variabili) funzionano in python e questo è più o meno tutto ciò che devi sapere all'inizio, secondo me.

Ah, bei tempi. Abbiamo anche giocato a "nascondino" in shell su lezioni di informatica: l'insegnante nascondeva un file da qualche parte e lasciava alcuni indizi sparsi, e dovevamo trovare quel file usando l'ambiente testuale su linux :)

1

Acquista numero giusto:

Il programma sceglie un valore casuale tra 1 e 100, quindi devi indovinare. Ti dice se sei sopra o sotto.

+0

Oh, ottima idea! Con la sfida ce l'ho nella lezione da qualche parte. È grandioso perché probabilmente riescono a risolverli da soli dato il giusto punto di partenza! – ahansen

1

Il mio primo contatto scolastico con la programmazione mi ha davvero lasciato un segno;) L'insegnante ci ha fornito una GUI contenente una sorta di scacchiera 2D (facciamo finta che fosse 20x20 celle). Una delle celle conteneva un "robot" e l'interfaccia di programmazione esponeva fondamentalmente 3 metodi: vai avanti, gira a sinistra e controlla se la cella direttamente davanti al robot è una parete o uno spazio aperto. Il gioco doveva quindi "programmare il robot" (insegnare la logica di base e i costrutti di loop) per svolgere tutti i tipi di attività come passare attraverso ogni cella nella scacchiera. Successivamente, sono stati aggiunti metodi all'interfaccia (ai 3 metodi originali) e "oggetti" (non OOP, ma ... altri stati che le celle potrebbero occupare oltre al semplice muro o vuoto) sono stati aggiunti al gioco. Alla fine, ad esempio, gli obiettivi erano che il robot "raccogliesse" parti di automobili e le portasse in una "fabbrica di automobili". È stato molto bello IMHO vedere la programmazione come un gioco con "punteggi" (quantità minima di celle richieste per raggiungere l'obiettivo in questo caso) e promuovo davvero la Gamification http://en.wikipedia.org/wiki/Gamification in qualsiasi ambiente scolastico.

Acclamazioni

+0

Wow, che bella idea! Avrò un tentativo di creare qualcosa del genere per loro se avrò il tempo. – ahansen

1

Non so quanto tempo si deve insegnare questo, ma Udacity's cs101 class ha qualche problema piuttosto fresco e parte da un livello piuttosto semplice. Il corso è gratuito e potresti trovare alcuni dei problemi utili da soli se non hai tempo per il tutto.

Infine se si esauriscono le idee per progetti significativi che sono abbastanza facili/veloci in Python o si decide di trovare qualcosa di più facile per una parte della classe allora si consideri l'uso di Scratch, questo è un linguaggio di programmazione visiva divertente del MIT che consente utilizzare i costrutti come variabili, cicli, condizioni ecc. senza preoccuparsi della sintassi. Questo rende piacevole e facile creare giochi/animazioni di base.

+0

Grazie mille darò un'occhiata a quei corsi. Scratch è una grande opzione, ma sfortunatamente le nostre lezioni devono essere in Python. Forse vedremo se possiamo usarlo negli anni futuri! – ahansen

Problemi correlati