Non sono sicuro che sia il posto giusto per questa domanda. Scusami se vai un po 'fuori tema.
La scelta di una lingua adatta per il primo corso di programmazione è una delle cose più importanti che ogni insegnante / docente correlato dovrebbe tenere a mente; soprattutto se gli studenti sono giovani o hanno una conoscenza matematica limitata.
Attualmente sto insegnando a un gruppo di giovani altamente entusiasti (dai 16 ai 17 anni) con una conoscenza media della matematica . Stanno frequentando il liceo in prima media. Inizierò a insegnare un linguaggio di programmazione per il prossimo semestre.
Sono un gruppo di studenti selezionati con cura in tutta la città con uno straordinario livello di creatività e diligenza, quindi vedo che lavorare con un vero linguaggio di programmazione non sarebbe un compito difficile per loro. Pertanto, la scelta di semplici soluzioni grafiche e drag'n'drop come Turtle Art, Scratch e Tynker non sono considerate opzioni.
Ci sono alcuni fattori che dovrebbero essere controllati prima di fare una scelta:
- Semplicità : molti di loro probabilmente non hanno mai sperimentato alcun tipo di vera azione di codifica prima d'ora.
- Semplicità, ancora una volta : una delle idee principali è insegnare a pensare in modo algoritmico . Avere un linguaggio sofisticato o difficilmente sintattico li allontanerà dal percorso.
- Generalità : è meglio che il linguaggio non sia progettato per casi di sviluppo speciali. Prendi PHP e MATLAB come esempi che sono rispettivamente progettati per lo sviluppo Web e il calcolo / modellazione.
- Minimo obiettivo : nessuna programmazione OO forzata (come Java). O almeno con la minima dipendenza dai concetti di OO.
- Piattaforma : è importante avere Windows come ambiente di sviluppo supportato, poiché quasi tutti sono su Windows.
- Facile da configurare : è meglio avere un modo semplice di configurare l'ambiente di sviluppo.
- Preferenza del settore : non è un problema serio. Ma dovrebbe essere almeno una lingua attualmente attiva che consente agli studenti di raggiungere esperienze di sviluppo quasi reali.
- Portabilità dell'hardware : è importante (ma non necessario) che la lingua sia abbastanza flessibile da essere utilizzata nella programmazione dell'hardware. (Non sto parlando di linguaggi di descrizione hardware come Verilog e VHDL.) L'obiettivo è programmare hardware più semplice basato su processore come microprocessori AVR o interfaccia GPIO Raspberry Pi .
Lo voglio sapere
- ci sono altri fattori che mi mancano?
- E quali lingue suggerisci come scelte?