La mia scuola superiore sta avviando un programma in cui, invece di seguire il metodo "tradizionale" di insegnamento della programmazione (variabili di apprendimento, quindi operazioni, cicli, metodi e infine OOP), gli studenti vengono immediatamente introdotti alla programmazione orientata agli oggetti senza altri conoscenza della programmazione.
Questa è una buona idea?
Il mio punto di vista personale è che insegnare OOP prima è fuorviante - quando sono stato presentato a OOP, sono stato in grado di apprezzare il potere che mi dava quando progettavo programmi complessi, dato che avevo già familiarità con la programmazione procedurale. Introdurre gli studenti a OOP in una fase così iniziale potrebbe renderli ignoranti in merito alla potenza e alla flessibilità che OOP offre ai programmatori.
Ci sono anche i problemi pratici: gli studenti potrebbero avere difficoltà a progettare le classi quando non sono state introdotte correttamente nei metodi (come funzionano, quando dovrebbero essere usati, ecc.). Non ho molti dettagli sul curriculum del corso, ma dalla mia comprensione, gli studenti devono essere introdotti a OOP dalla loro terza lezione, dopo aver imparato le variabili e le operazioni (così come lo standard input / output).
Nel caso sia pertinente, la lingua in cui insegna la mia scuola è C #.