Comment puis-je enseigner l'informatique sans utiliser d'ordinateurs?

21

Dans certains endroits du monde, les gens n'ont généralement pas accès (et donc peu de connaissances) aux ordinateurs, et même s'ils en ont, le matériel et les logiciels sont obsolètes et leur utilisation est en proie à des pannes de courant et autres. L'accès aux (bons) livres a également tendance à faire défaut. Comment puis-je enseigner l'informatique dans de telles circonstances?

Je crains que sans pouvoir faire des expériences et appliquer ce qu'ils apprennent, ils n'apprennent pas (bien) du tout même s'ils sont incroyablement motivés et consacrent la plupart de leur temps à ce passe-temps. Est-il possible d'enseigner CS uniquement en théorie?

Abhimanyu
la source
13
Les mathématiques fascinent les gens depuis des milliers d'années. Personne n'avait accès à un ordinateur numérique à l'époque. En fait, dans les cours théoriques, vous n'avez généralement pas besoin d'ordinateurs.
Juho
3
Je voudrais souligner que le premier programme informatique a été écrit environ 100 ans avant la construction du premier ordinateur.
Gabe
2
Jetez un oeil à cstheory . Ces gars n'ont probablement besoin que de stylo et de papier, et c'est peut-être le plus élevé de l'informatique (je n'ai aucune idée de ce dont ils parlent la plupart du temps).
Trylks
1
Il serait probablement utile que vous mettiez en évidence les domaines de CompSci que vous avez l'intention de couvrir. Des choses comme les mathématiques discrètes et même les structures de données ou les algorithmes peuvent être couverts uniquement sur papier et stylo. Le génie logiciel, d'autre part, risque d'être problématique.
NotMe
1
@abhimanyu Super, la question a été "protégée" avant que je puisse poster ma réponse; Je le mets ici maintenant: pastebin.com/6tbMtVM8 (C'est une longue réponse, car les possibilités devraient être évidentes mais ne semblent pas l'être. Il y a beaucoup d'idées là-dedans et j'espère que vous trouverez quelque chose d'utile…)
personne

Réponses:

24

Demander comment étudier l'informatique sans ordinateur, c'est un peu comme demander comment étudier la cosmologie sans télescopes. Bien sûr, c'est agréable de pouvoir regarder les choses que vous étudiez et il est souvent très utile de pouvoir jouer avec les choses. Mais vous pouvez faire beaucoup de choses sans avoir accès à un ordinateur: in extremis , vous pourriez probablement faire presque tout un cours de premier cycle sans ordinateur.

En termes pratiques, l'accès aux ordinateurs permet de renforcer une grande partie de ce que vous apprenez dans un cours d'informatique. Les cours de programmation sont évidemment beaucoup plus naturels avec l'accès à un ordinateur. D'un autre côté, le fait d'être obligé d'écrire du code sur papier encourage les gens à penser à leur code et à s'assurer qu'il fonctionne vraiment, plutôt que de simplement l'exécuter à travers un compilateur encore et encore jusqu'à ce qu'il compile, puis à exécuter encore et encore des cas de test triviaux. jusqu'à ce que les bugs évidents disparaissent.

Les sujets qui seraient les plus naturels sans ordinateur seraient les plus mathématiques. Toutes les mathématiques de base, telles que la combinatoire et la probabilité. Calculabilité, langages formels, logique, théorie de la complexité, conception et analyse d'algorithmes, théorie de l'information et du codage. Rien à voir avec le calcul quantique!

David Richerby
la source
11
+1 cette distinction entre CS et programmation est la clé! Mon cours de premier cycle CS avait des exigences minimales pour utiliser un ordinateur, au-delà de l'accès à du matériel de lecture en ligne, j'aurais facilement pu rechercher sous forme d'arbre mort dans une bibliothèque.
Cosmic Ossifrage
4
@CosmicOssifrage Je suis d'accord mais, bien que CS ne soit pas de la programmation, la programmation est un outil très utile à la disposition des informaticiens. Et c'est pourquoi nous l'enseignons.
David Richerby
2
@Abhimanyu Cela dépendrait de votre propre qualification. Si vous avez les connaissances et les compétences, elles ne sont qu'un tableau noir loin de l'esprit de vos élèves.
Raphael
2
@vzn Non, une grande partie de la programmation apprend l'art du débogage. C'est très important. Mais ce n'est pas de l' informatique .
David Richerby
2
@vzn Si vous citez l'homme, faites-le bien. Il parle d' expériences d' exécution dans le but de vérifier / réfuter des hypothèses (scientifiques), pas de débogage. Je ne pense pas que Sedgewick ait jamais prétendu que tester / déboguer vos implémentations expérimentales était de la science .
Raphael
10

Il y a l'utilisation évidente du papier et du crayon. Lorsque j'ai appris le traitement du signal, le processeur de signal spécial n'était pas directement disponible pour nous et nous venions de remettre des rapports papier.

Notez que le grand informaticien Dijkstra n'a apparemment pas beaucoup utilisé les ordinateurs:

Presque tous les articles de cette série parus après 1972 sont écrits à la main. Ayant inventé une grande partie de la technologie des logiciels, Dijkstra a évité l'utilisation des ordinateurs dans son propre travail pendant de nombreuses décennies. Même après avoir succombé aux encouragements de ses collègues de l'UT et acquis un ordinateur Macintosh, il ne l'a utilisé que pour le courrier électronique et pour naviguer sur le World Wide Web.

Cité du Mémorial de Disjkstra

Cela montre que vous pouvez faire de l'informatique sans ordinateur!

Outre le papier et le crayon, les problèmes informatiques peuvent également être résolus «dans le monde réel», par exemple, la démonstration d'algorithmes de tri avec des cartes ou - plus inhabituel - avec la danse comme le fait l'Université Sapientia .

Finn Årup Nielsen
la source
Des conseils sur la façon de le faire efficacement? L'enseignant n'a peut-être pas eu les avantages d'une conférence au tableau noir dans une grande université.
Raphael
3
Beaucoup de mathématiques sont enseignées au tableau noir. Je suppose que vous faites de même avec l'informatique.
Finn Årup Nielsen
À titre d'exemple, voici une belle conférence au tableau noir sur les arbres splay: youtube.com/watch?v=So8szqIvIFs
Finn Årup Nielsen
2
Personnellement, j'ai appliqué ma connaissance des structures de données et des algorithmes au travail de bureau dans un emploi d'été. J'ai utilisé un tri radix sur des boîtes de talons de chèque et suis allé entre un et 2 ordres de grandeur plus rapidement que quiconque a fait cette corvée, au point d'incrédulité. J'ai utilisé un tri de fusion naturel sur les cartes imprimées qui devaient être déposées. les structures de données et le calcul existent dans le monde réel .
JDługosz
8

De nombreuses théories informatiques sont purement théoriques et peuvent être résolues en utilisant un stylo (cil) et du papier. Obtenir des informations à leur sujet et les communiquer au monde extérieur nécessite un ordinateur.

Dave Clarke
la source
5
Cela me semble être davantage un commentaire.
Raphael
7

Voir http://csunplugged.org/ pour quelques bonnes idées. Google est l'un des sponsors.

Depuis le site:

CS Unplugged est une collection d'activités d'apprentissage gratuites qui enseignent l'informatique à travers des jeux et des puzzles attrayants qui utilisent des cartes, de la ficelle, des crayons et beaucoup de course.

Les activités initient les étudiants aux concepts sous-jacents tels que les nombres binaires, les algorithmes et la compression de données, séparés des distractions et des détails techniques que nous voyons habituellement avec les ordinateurs.

CS Unplugged convient aux personnes de tous âges, de l'école élémentaire aux personnes âgées, et de nombreux pays et milieux. Unplugged est utilisé dans le monde entier depuis plus de vingt ans, dans les salles de classe, les centres de sciences, les maisons et même pour les événements de vacances dans un parc!

cdjc
la source
Les conditions sont complexes, mais cela vaut la peine d'essayer lorsque les ressources le permettent.
Abhimanyu
Je suis d'accord que cela semble bon, mais pour en faire une bonne réponse, vous devez répondre aux questions spécifiques énoncées dans la question: quelles ressources sont nécessaires? Peut-on s’attendre à les avoir par exemple en Afrique (rurale?)?
Raphael
3

Vous pouvez, c'est assez évident comment vous le feriez. Je ne sais pas à quel point ce serait utile aux gens, mais vous pouvez.

Mais je ne sais même pas comment un professeur d'informatique serait, peut demander comment vous pouvez enseigner l'informatique sans ordinateur.

Parce que si vous pouvez enseigner l'informatique, vous saurez comment.

Si vous savez que ...

-Algorithms can be written on pen and paper, and traced on pen and paper.
-Flow charts are written on paper.

L'étude de la normalisation, la structure des tableaux de données pour les bases de données, peut se faire au stylo et au papier. (Je ne l'ai fait que sur stylo et papier lorsque j'ai étudié les bases de données relationnelles)

Les manuels d'informatique ne nécessitent pas d'ordinateur.

Si vous aviez déjà acheté un manuel d'informatique et l'aviez étudié dans une bibliothèque, vous sauriez que vous n'aviez pas besoin d'un ordinateur pour le comprendre.

Mais vous devez savoir que quiconque a suivi un cours d'informatique peut voir que la plupart des gens ne peuvent pas programmer, c'est juste au-delà d'eux. Trop abstrait pour les gens. C'est même vrai au niveau universitaire.

http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Une minorité substantielle d'étudiants échoue à tous les cours de programmation d'introduction dans chaque université britannique. Malgré des efforts académiques héroïques, la proportion a augmenté au lieu de diminuer au fil des ans. Malgré de nombreuses recherches sur les méthodes d'enseignement et les réponses des étudiants, nous n'avons aucune idée de la cause.

J'ajouterais que l'appeler une minorité substantielle est un euphémisme. C'est une petite minorité qui -peut- programmer.

Je noterais cependant, la cause du déclin dont il a été témoin. Comme les ordinateurs sont devenus plus populaires, par exemple entre 2000 et 2010 (il a écrit cela au milieu de cette décennie), plus de wollies étaient intéressés à étudier «l'informatique». Avant cela, seules les personnes les plus fanatiques étaient intéressées. Et plus tôt, l'utilisation des ordinateurs était plus technique, mais comme les ordinateurs devenaient plus faciles à utiliser pour la personne moyenne et plus puissants dans les applications qu'ils pouvaient exécuter, alors plus de wollies les utilisaient et plus de gens qui n'étaient intéressés que par ce qu'ils pouvaient faire plutôt que comment ils le font et comment le faire.

barlop
la source
2
Que diable sont des "wollies"?
Nate Eldredge
1
@NateEldredge Urban dictionary : «Terme jovial pour quelqu'un qui dit ou fait quelque chose de stupide / Quelqu'un qui ajoute 2 et 2 et en obtient 5." Quel wolly "»
Paul A. Clayton
@NateEldredge Normalement orthographié "wally".
David Richerby
2
Réprimander le PO n'est pas une réponse.
Raphael
2

Il SERAIT possible d'enseigner les concepts de l'informatique sans ordinateur. Bien sûr, sans accès à un ordinateur, à quoi sert vraiment l'apprentissage de l'informatique?

Lorsque j'apprenais l'informatique au lycée, nos premières classes ne comportaient pas du tout d'ordinateurs. Au lieu de cela, nous avons travaillé à partir d'un livre intitulé Karel ++ , qui enseignait les concepts orientés objet. Le langage composé peut être "exécuté" sur un tableau blanc ou un tableau noir assez facilement car tout le code effectue des actions sur un graphique. Nos premiers travaux étaient tous manuscrits et le professeur démontrerait la bonne solution au tableau au début de la classe suivante.

Lorsque nous avons commencé à discuter des algorithmes, notre professeur nous a tous appelés devant la salle et nous a dit de faire la queue. Il a ensuite démontré quelques algorithmes de tri différents - en commençant par quelque chose de stupide qu'il a appelé «tri de singe» où il échangerait au hasard deux d'entre nous et vérifierait ensuite si nous étions triés à chaque itération, mais effectuait ensuite un tri à bulles et un tri par shell - par "les faire courir" sur nous.

Il a dessiné des diagrammes au tableau, expliquant les bases du fonctionnement de la mémoire de l'ordinateur et de la pile. Il a démontré des variables et des pointeurs (c'était une classe C ++) et de là aux listes et arbres liés ...

Je pourrais probablement ajouter à cela si je passais en revue les notes que j'ai gardées de cette classe, mais c'est tout ce dont je me souviens maintenant. Si ces suggestions sont intéressantes, je peux développer cette réponse.

Blackhawk
la source
1
Vous semblez programmation confondez (le métier) avec l' ordinateur la science .
Raphael
@Raphael Je comprends que les mécanismes de programmation dans un langage particulier peuvent ne pas être importants pour la partie science , mais dans quelle mesure pouvez-vous vraiment dissocier l'informatique de la programmation avant qu'elle ne devienne tellement théorique qu'elle soit incompréhensible pour les étudiants qui ne sont peut-être pas familiers avec comment faire fonctionner un ordinateur? Je pourrais modifier ma réponse pour séparer les deux, mais l'image qui me vient à l'esprit basée sur les questions du PO n'est pas des adultes qui cherchent à en apprendre davantage sur les fondements mathématiques de la théorie de la complexité, mais des élèves du primaire qui ont besoin d'une introduction aux applications de la CS.
Blackhawk
@DavidRicherby J'ai demandé au PO des éclaircissements sur qui (âge / expérience avec les ordinateurs) le groupe cible d'étudiants sera et quel matériel il a l'intention d'enseigner. J'ajusterai ma réponse en conséquence. Si vous le permettez, je suggérerais qu'une analogie plus directe serait l'écriture créative vs savoir comment utiliser les alphabets et les vocabulaires. Sauf que même cette analogie est insuffisante car l'étude des langages de programmation est en réalité englobée par l'informatique.
Blackhawk
@Blackhawk Bien sûr, aucune analogie n'est parfaite (presque par définition). Mais, si la conception des langages de programmation est CS, leur simple utilisation ne l'est pas.
David Richerby
1
@DavidRicherby Je viens de lire la page de la tournée de CS et en particulier les "poser des questions sur ..." et "NE PAS poser des questions sur ..." et j'ai l'impression que trop de gens posent / répondent aux questions sur ce site qui serait bien mieux sur SO ... donc je m'excuse si j'ai contribué à cela. Pouvez-vous me signaler les choses spécifiques que je pourrais changer sur cette réponse pour la mettre en adéquation avec les objectifs du site? Je soupçonne que je devrais au moins supprimer les références à "point-virgule" et "C ++", mais qu'en est-il de l'utilisation de Karel ++ comme outil d'enseignement pour le concept de langages orientés objet? Ou la mémoire de l'ordinateur?
Blackhawk
2

J'ai fait un diplôme en informatique et j'ai pensé qu'on nous enseignait beaucoup de programmation (dans différentes langues), nous avons également appris de nombreux aspects mathématiques (et du matériel aussi).

Les parties mathématiques étaient plus importantes pour la première année - pensez aux mathématiques matricielles qui sont essentielles aux graphiques 3D (comment calculez- vous une surface normale pour éclairer un sommet? ). Nous avons fait beaucoup de statistiques - pensez à l'analyse du débit des travaux, quel taux d'emplois pouvez-vous passer dans un système avant qu'il ne se bouche? C'est assez important pour de nombreux systèmes centralisés et réseaux.

Vous pouvez enseigner de nombreux algorithmes, une affiche mentionne ici donner aux élèves un numéro chacun, puis les amener à se trier à l'aide de divers algorithmes (c'est actif et informatif). En fait, tout algorithme qui peut être décrit dans une image animée sur Internet peut être enseigné de cette manière. De même les fondamentaux de l'informatique - compteur de programmes, accumulateur et registrespeut être enseigné de la même manière, ou sur papier. Que diriez-vous du multithreading basé sur les étudiants - définissez un jeu de cartes avec un groupe d'étudiants avec une pile entre chacun d'eux dans un exercice de multi-threading classique (ou le problème d'une cuillère partagée). Ou des modèles de conception, je peux penser que l'architecture du tableau noir est parfaite pour que les étudiants apprennent comment la communication multi-processus peut être mise en œuvre, ou une architecture à n niveaux décrite comme une sorte de jeu de chuchotements chinois ou de machines à états finis conviendrait aux étudiants agissant comme modules dans un «ordinateur vivant». Vous pouvez enseigner les mathématiques binaires ou l'exécution basée sur la pile (c'est-à-dire le polissage inversé).

Bien sûr, si vous avez accès à l'électronique, vous pouvez construire un ordinateur analogique à partir d'amplificateurs opérationnels. Ils sont cool.

Malheureusement, tout cela ressemblera plus aux mathématiques qu'à l'informatique, mais une grande partie de cela restera et un jour ils comprendront pourquoi ils leur ont été enseignés (en supposant qu'ils se lancent dans l'industrie informatique). N'oubliez pas que tout ce qu'un ordinateur peut faire, une personne peut le faire - cela lui prendra juste beaucoup plus de temps et d'ennui pour obtenir le même résultat. Il vous suffit de prendre des exemples simples pour démontrer ce que l'ordinateur ferait, et de l'imagination pour décrire les bases de l'informatique d'une manière moins sèche que l'on m'a appris, en arrière :)

gbjbaanb
la source
1

Demander comment étudier l'informatique sans ordinateur, c'est un peu comme demander comment étudier la cosmologie sans télescopes.

Je réponds principalement pour réagir à cette déclaration et parce que je suis fortement en désaccord avec d'autres réponses. La comparaison correcte serait à mon avis

Demander comment étudier l'informatique sans ordinateur, c'est un peu comme demander comment étudier la cosmologie sans cosmos .

L'informatique concerne les ordinateurs, pas seulement leur utilisation. Certes, beaucoup d'informatique est basée sur les mathématiques, donc les parties mathématiques peuvent être étudiées sans ordinateur (donc vous enseignez les mathématiques alors) tout comme au lieu de la cosmologie, vous pouvez étudier la physique qui sera utile une fois qu'il y aura un cosmos (ou avoir accès à des télescopes), mais à la fin ce que vous étudiez reste la physique.

Maintenant, ce que tout le monde fait dans les réponses ici, c'est de noter que l'informatique au niveau du baccalauréat est principalement théorique et ne nécessite pas d'ordinateurs, ce que ces gens oublient à mon humble avis, c'est que les mêmes personnes ont beaucoup utilisé les ordinateurs jusque-là. Sans une compréhension naturelle, plonger directement dans les trucs théoriques incitera de nombreux étudiants à abandonner ou à avoir une vision terriblement inadéquate de l'informatique. Donc, enseignez la programmation, comprenez ce que les ordinateurs sont d'abord et ensuite seulement entrez dans les trucs théoriques.

Comme si j'enseignais à des étudiants en Afrique qui n'ont aucune connaissance d'un ordinateur en plus du savoir-faire général mais qui aspirent à apprendre l'informatique avancée et qui consacrent la plupart de leur temps à ce passe-temps?

Dépend du budget:

  • Presque pas de budget Si vous avez l'argent pour voyager en Afrique, prenez un tas de clones Arduino (il y a des clones Arduino fonctionnels pour 13 $, consultez cette liste par exemple ), certains composants de sortie (tels que des LED) et un ordinateur portable. Commencez par une programmation de base, apprenez-leur sur papier et devez la saisir sur l'ordinateur portable. Ce n'est pas le moyen le plus efficace, mais cela leur apprendra au moins une compréhension de base de ce que les ordinateurs sont pratiquement.
  • Low Budget Acheter $ 750 dollars la valeur de $ 50 smartphones Android et les claviers (claviers microUSB ou claviers Bluetooth, vérifiez ebay.com ou aliexpress.com aussi bien pour les smartphones et les claviers). Oui, ils sont merdiques de mille façons, ne m'en parlez même pas. Cependant, vous pouvez saisir des données sur ces derniers (même si vous ne pensez même pas à utiliser les claviers à l'écran) et il existe de simples applications de codage pour Android. Avoir plusieurs étudiants par smartphone et cela peut très bien fonctionner.

Donc, laissez-moi être clair, je ne dis pas que l'informatique ne peut pas être enseignée sans ordinateurs, juste que vous devez être habitué aux ordinateurs et les connaître assez bien avant de commencer à envisager une telle chose.

David Mulder
la source
J'ai mal compris votre désaccord avec ma réponse ou je suis en désaccord avec elle. Si nous savions qu'il n'y avait pas de cosmos, la cosmologie serait une fabrication totale. Si nous croyions sincèrement à l'existence du cosmos, la cosmologie serait au pire un gaspillage de ressources bien intentionné. Mais, en fait, nous savons que cela existe. La cosmologie sans télescopes dit "Hé, je ne peux pas observer le cosmos cette semaine mais il est définitivement là. Je peux en apprendre maintenant et le regarder la semaine prochaine." CS sans ordinateur dit: "Hé, les ordinateurs existent vraiment, donc je peux les étudier maintenant et les expérimenter physiquement plus tard."
David Richerby
Et enseigner l'informatique à quelqu'un sans qu'il n'ait jamais utilisé ou pratiquement compris ce qu'est un ordinateur est tout autant une telle fabrication. Vous n'interagissez pas directement avec le cosmos à travers un télescope, ce n'est qu'une des nombreuses façons de l'observer. La nuit, il peut encore être vu et il peut être facilement compris à un niveau de base. La même chose ne s'applique tout simplement pas aux ordinateurs.
David Mulder
Je ne suis absolument pas d'accord pour dire que c'est de la fabrication d'enseigner à quelqu'un quelque chose qui existe réellement mais qu'il n'a pas vécu.
David Richerby
2
@DavidRicherby: Vous et les autres ici êtes tellement enracinés à être habitués aux ordinateurs qu'il est difficile de comprendre ce que cela signifie vraiment d'essayer d'enseigner à quelqu'un l'informatique sans base avec les ordinateurs en premier lieu ... Je connais quelqu'un qui a effectivement donné des cours aux jeunes qui n'ont jamais utilisé d'ordinateurs avec de vrais ordinateurs ... il n'a même pas essayé d'enseigner la programmation ou l'informatique et atteindre le niveau de base de compréhension de ce qu'est un ordinateur est une tâche qui lui est propre si vous n'avez pas grandi avec des ordinateurs. (suite)
David Mulder
2
De nos jours, c'est relativement plus facile car plus de jeunes ont au moins une certaine expérience, mais la question portait sur les cas où ils n'ont aucune expérience. Cette même personne m'a raconté comment, dans le pays où il enseignait, il y avait une période où les élèves du secondaire arrivaient à des cours d'informatique à l'université sans avoir jamais touché à un ordinateur auparavant ... après avoir appris quelques notions de théorie au secondaire et comment la plupart (de loin pas tous) des cas qui se terminent mal. Le problème / l'idée est que les emplois informatiques paient bien, alors ils veulent juste les obtenir, peu importe quoi ...
David Mulder
1

L'informatique concerne les algorithmes et non (strictement) les ordinateurs (et l'électronique).

Ainsi, l' étude des algorithmes (même de l'arithmétique élémentaire) peut permettre de comprendre l'informatique et la programmation. Rappelez-vous que même le terme "algorithme" est une paraphrase de l'auteur d'un livre d'arithmétique ( al-Khwārizmī , vers le 9ème siècle CE).

L'étude des algorithmes peut se faire en utilisant des moyens élémentaires, mais devrait fournir une couverture des raisons pour lesquelles l'algorithme fonctionne, comment il est né et comment peut-on réellement démontrer qu'il fonctionne correctement.

L'histoire derrière l'évolution de l'informatique, des algorithmes et de la programmation ne doit pas être sous-estimée. Par exemple, la calculatrice de Babbage / Ada, la machine Enigma, le plankalkul de Konrad Zuse , ENIAC etc.

Ensuite, on peut introduire la programmation (et les langages de programmation) comme un moyen de formaliser les algorithmes. Cela peut également être fait (dans une large mesure) en utilisant des moyens élémentaires.

Notez que certaines études ont montré que la programmation d'apprentissage des personnes a deux difficultés principales à comprendre (liées à la surcharge de symboles, par exemple le test d'affectation par rapport à l'égalité et le fonctionnement d'une machine RAM).

  1. Les constructions de boucles (par exemple pour, tandis que etc.) semblent difficiles
  2. Affectation vs tests d'égalité, semble également difficile.

Ainsi, on peut s'assurer que ceux-ci sont clairement saisis et compris par le peuple.

De plus, si un ordinateur est accessible (même une calculatrice qui peut être programmée), cela peut être utilisé pour fournir des exemples d'application et une expérience pratique. Sinon, on peut utiliser un ordinateur simulé. Cela peut être fait de différentes manières, par exemple un groupe de personnes peut simuler des parties d'un ordinateur et la classe peut concevoir des algorithmes pour résoudre divers problèmes pour cet ordinateur simulé et voir comment cela se passe. Cela peut aussi être vu comme un jeu, être créatif et créatif.

Ensuite, certains modèles de calcul (abstraits) (par exemple Turing Machines ) peuvent être introduits et liés au matériel précédent sur les algorithmes et la formalisation dans un langage (de programmation).

Si l'on veut introduire l'électronique d'un ordinateur réel, cela peut également se faire en deux parties.

Rappelez-vous que même dans les universités, certains cours d'électronique et d'architecture informatique sont théoriques (on n'entre pas en contact avec un CPU ou un design).

Ainsi, certains principes de fonctionnement de l'électronique (et de la physique sous-jacente) liés à l'architecture informatique peuvent être introduits ( semi - conducteurs , zones d'énergie à semi- conducteurs , portes p-np, etc.).

Ensuite, on peut tirer parti du matériel précédent sur la programmation et les algorithmes et introduire des techniques (modernes) de conception (et description) de CPU qui sont utilisées dans l'industrie ( portes logiques , bascules , FPGA , VHDL , circuits CMOS, etc.).

Cela peut être approfondi, les problèmes d'architecture de conception du processeur comme le parallélisme, le pipelining, la mémoire cache, l'adressage vectoriel, la micro-programmation, le DMA, etc.

Eh bien, peut-être que cela peut être trop, mais ajouté pour rendre la réponse autonome.

Nikos M.
la source
-1

Cherchez-vous à enseigner la programmation?

Quand j'étais enfant, nous sommes partis en vacances en camping et j'ai pris le manuel de l'ordinateur avec moi. J'ai pu écrire un jeu simple en utilisant du papier et un stylo.

C'était mon premier vrai programme, je suppose, donc beaucoup d'apprentissage a été impliqué. Je savais ce que je voulais faire, mais il y a eu beaucoup de faux départs pendant que je le comprenais. Mais finalement j'ai pu écrire tout le code.

Je suppose que ce que je dis, c'est commencer par du pseudo-code et / ou des organigrammes pour planifier le projet, puis traduire en code. J'ai pu déboguer une grande partie de mon code simplement en le lisant. Vous pouvez également utiliser les évaluations par les pairs ici.

Ricky
la source
J'irais certainement avec un pseudocode plutôt qu'avec des organigrammes.
David Richerby
Cette question mérite plus d'un point de données d'expérience par réponse.
Raphael
-2

Pour faire écho aux réponses précédentes: il y a beaucoup à apprendre rien qu'en lisant et en faisant des exercices avec un stylo et du papier. Si vous pouvez résoudre le problème sur papier, vous avez la partie dure vers le bas. Cependant, je souhaite également mentionner l'existence de moyens assez bon marché pour exposer les étudiants à la CS. Connaissez-vous le projet Raspberry Pi ? Même si plusieurs personnes doivent partager ou si vous ne pouvez vous permettre que d'obtenir 1 ou 2 unités, cela peut être utile d'envisager un moyen d'exposer vos élèves à la technologie.

liko
la source
Cela n'ajoute rien aux réponses existantes.
Raphael
1
@Raphael True, mais notez que les autres réponses qui mentionnent des appareils informatiques bon marché ont été publiées après celle-ci.
David Richerby
-3

Je vais essayer de bouger un peu sur celui-ci et de "sortir des sentiers battus". les ordinateurs complets sont en effet coûteux, parfois gourmands en ressources et difficiles à entretenir. mais il existe de nombreux systèmes électroniques bon marché qui imitent des ordinateurs à part entière, par exemple avec des écrans LCD, etc. et auxquels de nombreux principes de programmation de base peuvent être appliqués, dont beaucoup sont alimentés par batterie. il existe également un lien étroit entre les principes EE et le calcul, comme la construction de circuits logiques binaires, etc.; de nos jours, certains jouets ont des capacités de programmation.

  • calculatrices programmables . certains ont des langages de programmation entiers (pas si haut niveau mais plus comme des langages d'assemblage) intégrés. certains soutiendraient des programmes avancés.

  • Le mini-ordinateur / microcontrôleur Raspberry Pi a été développé à cet effet et fonctionne sous Linux. moins de 40 $ dans de nombreux cas.

  • Le microcontrôleur du kit STAMP de parallaxe nécessite une connexion USB mais peut-être qu'un Raspberry Pi serait suffisant. voir aussi microcontrôleur PIC

  • systèmes robotiques. il y en a beaucoup qui ont une logique programmable. Lego robotics mindstorms / nxt est l'un des meilleurs et il existe des modèles moins chers.

  • certains jeux de console ont des principes de programmation intégrés. Par exemple, Little Big Planet a des fonctionnalités de programmation incroyables intégrées. il existe des versions portables de jeux programmables. il existe de nombreuses vidéos youtube de constructions complexes pour l'inspiration.

  • les smartphones sont le nouveau monde de la programmation. ils ont des navigateurs qui exécutent javascript, et il existe de nombreuses applications liées à la programmation, et on pourrait même surfer sur des sites de programmation avec une connexion Internet (y compris le wifi).

suggèrent également, comme dans les commentaires, de créer des programmes de MT, par exemple pour les ajouter, etc. et d'essayer de les suivre à la main.

vzn
la source
2
Je soupçonne que les personnes qui n'ont pas accès à des ordinateurs n'ont pas non plus accès à Lego Mindstorms, aux consoles de jeu, aux smartphones ou au wifi.
David Richerby
un point juste / évident / prévu mais rien de mentionné n'a été explicitement exclu dans les critères de la question. ce n'est pas connu de la question de savoir si les étudiants n'ont pas de trucs parce que c'est cher par exemple, et tout ce qui est énuméré ci-dessus est moins cher que les ordinateurs de bureau comme référence. les élèves ou les écoles qui peuvent se permettre des manuels scolaires pourraient se permettre ce qui précède (peut-être les partager). et si les manuels ne sont pas abordables, que reste-t-il d'autre?
vzn
(La portée de la question fyi a été considérablement modifiée par le mod depuis que cette réponse a été écrite, pour moi, la modification de la question fait des hypothèses majeures non nca voulues par l'auteur original et préfère l'ambiguïté originale comme une fonctionnalité et non un bug)
vzn