Je ne sais pas si c'est le bon endroit pour cette question. Désolé si je vais un peu hors sujet.
Le choix d'une langue appropriée pour le premier cours de programmation est l'une des choses les plus importantes que chaque enseignant / conférencier doit garder à l'esprit; surtout si les élèves sont jeunes ou ont une connaissance limitée des mathématiques.
J'enseigne actuellement à un groupe de jeunes très enthousiastes (environ 16 à 17 ans) avec une connaissance moyenne des mathématiques . Ils vont au lycée en classe de 10e en ce moment. Je vais commencer à enseigner un langage de programmation pour le prochain semestre.
Ils sont un groupe d'étudiants triés sur le volet dans toute la ville avec un niveau extraordinaire de créativité et de diligence, donc je vois que travailler avec un vrai langage de programmation ne serait pas une tâche difficile pour eux. Ainsi, le choix de solutions graphiques et de glisser-déposer simples comme Turtle Art, Scratch et Tynker n'est pas considéré comme une option.
Il y a quelques facteurs à vérifier avant de faire un choix:
- Simplicité : la plupart d'entre eux n'ont probablement jamais connu de véritable action de codage auparavant.
- Simplicité, encore une fois : L'une des principales idées est d' apprendre à penser algorithmique . Avoir un langage sophistiqué ou peu syntaxique les détournera du chemin.
- Généralités : il vaut mieux que le langage ne soit pas conçu pour des cas de développement spéciaux. Prenons PHP et MATLAB comme exemples qui sont respectivement conçus pour le développement Web et le calcul / modélisation.
- Objectif minimal : pas de programmation OO forcée (comme Java). Ou du moins avec la dépendance minimale aux concepts OO.
- Plate - forme : Il est important d'avoir Windows comme environnement de développement pris en charge, car presque tous sont sous Windows.
- Facile à configurer : il est préférable d'avoir une manière simple de configurer l'environnement de développement.
- Préférence de l'industrie : Pas un problème grave. Mais ce devrait être au moins une langue actuellement active permettant aux étudiants d'atteindre des expériences de développement presque réelles.
- Portabilité matérielle : Il est important (mais pas obligatoire) que le langage soit suffisamment flexible pour être utilisé sur la programmation matérielle. (Je ne parle pas des langages de description du matériel comme Verilog et VHDL.) L'objectif est de programmer du matériel basé sur un processeur plus simple comme les microprocesseurs AVR ou l' interface GPIO Raspberry Pi .
Je veux savoir que
- y a-t-il d'autres facteurs qui me manquent?
- Et quelles langues proposez-vous comme choix?