Le cours CS101 explore les qualités essentielles des ordinateurs, comment ils fonctionnent, ce qu’ils peuvent et ne peuvent pas faire, et ne nécessite aucune connaissance informatique.Nous commencerons par examiner les caractéristiques de base des ordinateurs et nous commencerons à jouer avec le code informatique.
Remerciements : Merci à Nick Parlante pour son matériel. De Nick : « Merci à Google pour avoir soutenu mes premières recherches qui ont permis de créer cette classe. Merci à Mark Guzdial qui a popularisé l’idée d’utiliser les médias numériques pour introduire les ordinateurs. »
Équation fondamentale des ordinateurs
L’équation fondamentale des ordinateurs est:
Ordinateur = Puissant + Stupide
- Puissant assez pour regarder à travers des masses d’une donnée
-Milliards d' »opérations » par seconde - Stupide parce que chaque opération est simple et mécanique.
– Rien à voir avec la « perspicacité » ou la « pensée » (vidéo HAL 9000) - Puissant + Stupide… sortira dans nos exercices
- Pourquoi les ordinateurs sont-ils utiles malgré leur limitation ?
- C’est le but de CS101
-Visiter ce drôle de monde qu’est l’ordinateur, voir comment il fonctionne
-Comprendre ce qu’ils peuvent faire et comment les humains les exploitent
-Ne pas être intimidé - Agenda caché : ouvrir les yeux à certains, plus de cours d’informatique
Les ordinateurs sont très puissants pour examiner rapidement de grandes quantités de données. Les ordinateurs peuvent littéralement effectuer des milliards d’opérations par seconde. Cependant, les « opérations » individuelles que les ordinateurs peuvent effectuer sont extrêmement simples et mécaniques, rien à voir avec une pensée ou une intuition humaine. Les « opérations » typiques comprennent la comparaison de deux nombres ou l’addition de deux nombres.
Donc, bien que les ordinateurs soient rapides dans ce qu’ils font, les opérations qu’ils peuvent effectuer sont extrêmement rigides, simples et mécaniques. Ou dit autrement, les ordinateurs ne sont pas comme le HAL 9000 du film 2001 : L’Odyssée de l’espace : HAL 9000 vidéo.
Un élément clé à retenir est qu’un ordinateur n’agit pas comme un cerveau humain. L’ordinateur est un outil mécanique qui peut faire des choses étonnantes, mais il a besoin d’un humain pour lui dire ce qu’il doit faire.
Niveau élevé – Comment fonctionne un ordinateur ?
- L’ordinateur suit une série d’instructions « code »
- Chaque instruction est simple (par ex. ajouter 2 nombres)
- L’ordinateur « exécute » une longue série d’instructions
- Purement mécanique
Les ordinateurs sont très utiles
- Pensez à toutes les fonctions utiles de l’ordinateur (téléphone, appareil photo)
-Messagerie, courriel
-MP3 audio
-Réduction des yeux rouges - Si les ordinateurs sont si stupides…. comment sont-ils si utiles ?
- Qu’est-ce qui relie les deux côtés ?
Programmeurs
- Les programmeurs exploitent la puissance d’un ordinateur !
- Le programmeur pense à une fonctionnalité utile
-Requiert de la créativité, une perspicacité sur les besoins humains, et une connaissance des ordinateurs - Les programmeurs décomposent les étapes, en écrivant le code pour l’ordinateur
– Le simplifie pour l’ordinateur ! - Les meilleures caractéristiques des deux côtés : traitement peu coûteux/rapide de l’ordinateur + perspicacité créative du programmeur
- Explorations de CS101 : algorithmes et code
Puisque les ordinateurs sont totalement mécaniques et stupides, pourquoi sont-ils si omniprésents ? L’écart entre l’ordinateur et la réalisation de quelque chose d’utile est l’endroit où le programmeur humain crée des solutions. La programmation exige d’une personne d’être créative et d’avoir une perspicacité sur un problème ainsi que la capacité de décomposer la solution en instructions qu’un ordinateur peut suivre.
Le code fait référence au langage que l’ordinateur peut comprendre. Pour ces conférences, nous allons écrire et exécuter de courts extraits de code pour comprendre quelles sont les qualités essentielles des ordinateurs, et surtout leurs forces et leurs limites.
En expérimentant avec le code, la nature des ordinateurs apparaîtra très clairement… puissants à leur manière, mais avec une qualité limitée et mécanique. IMHO, cette nature mixte des ordinateurs est quelque chose que tout le monde devrait comprendre afin de bien les utiliser et de ne pas être intimidé par eux.
Avant de coder – Patience
- Nous allons commencer par un codage simple ci-dessous
- Le code est comme des briques de lego….
- -Les pièces individuelles sont super simples
- -Enfin, nous construisons de grandes combinaisons
- Mais nous devons commencer petit
Foreshadowing
Dans quelques heures de cours, nous ferons des effets spéciaux avec des images telles que les suivantes:
Mais pour l’instant nous avons juste print() !
Patience Nous allons commencer par apprendre quelques éléments de programmation ainsi que les différentes parties d’un ordinateur, et plus tard nous recombinerons ces quelques éléments pour résoudre de nombreux problèmes. Ces premiers éléments sont simples, ils ne sont donc pas très intéressants à regarder seuls. Soyez patient, bientôt nous assemblerons ces éléments — comme des briques de lego — pour faire des projets assez soignés.
Langage informatique Javascript
- Code Javascript plus quelques extensions juste pour le CS101
- Nos phrases de code sont petites….
- -Juste assez grandes pour expérimenter les idées clés
- -Pas des programmes complets et professionnels
- -Mais assez grandes pour montrer les vrais défis du codage
Pour ce cours, nous utiliserons une variante du langage connu sous le nom de Javascript, avec quelques fonctionnalités ajoutées pour ce cours. Le langage Javascript fonctionne dans le navigateur web, donc toutes nos expériences peuvent vivre directement dans le navigateur sans rien d’autre requis. Nous n’utiliserons que les parties de Javascript nécessaires à nos expériences, et non le langage complet que l’on peut voir dans le cadre d’une utilisation professionnelle de Javascript. Cela dit, Javascript est un langage réel, et notre code est un code réel. Nos petits programmes montrent les caractéristiques importantes du code, tout en gardant les choses rapides et petites.
Premier exemple de code – Print
Voici le code qui appelle la fonction « print ». Cliquez sur le bouton Exécuter ci-dessous, et votre ordinateur exécutera ce code, et la sortie du code apparaîtra à droite.
- Exécuter exécute chaque ligne une fois, de haut en bas
- print est une fonction, un verbe qui représente une action que l’ordinateur va entreprendre.
- Les données entre parenthèses sont transmises à la fonction print (noms)
-Ces données sont l’objet du « verbe »
-les données sont appelées les arguments de la fonction - Les valeurs multiples sont séparées par des virgules
- Les expériences modifient le code et exécutent après chaque modification voir la nouvelle sortie:
-Changer un nombre
-Ajouter d’autres nombres séparés par des virgules à l’intérieur du print(…)
-Copier la première ligne, et la coller deux fois après la dernière ligne
-Je promets que la sortie deviendra plus intéressante! - Syntaxe étroite pas de forme libre
-La syntaxe autorisée est super stricte et étroite
-par exemple, on ne peut pas laisser la parenthèse droite )
-Une réflexion de la nature intérieure et mécanique de l’ordinateur
-Ne vous laissez pas décourager – « Quand à Rome…… »
-Nous visitons le monde de l’ordinateur - Notez que cette « impression » n’est pas une partie normale de Javascript, je l’ai ajoutée pour CS101
Print And Strings
- Un commentaire commence par // et s’étend jusqu’à la fin de la ligne. Une façon d’écrire des notes sur le code, ignorées par l’ordinateur.
Pourquoi les programmeurs pourraient-ils utiliser des commentaires ? - Une chaîne de caractères est une séquence de caractères écrite entre guillemets pour être utilisée comme données dans le code
-par ex. « hello » ou « 123 »
-Les chaînes de caractères fonctionnent avec la fonction print, en plus des nombres
-Les chaînes de caractères dans l’ordinateur stockent du texte, comme les url ou le texte des paragraphes, etc. - Expériences:
-Modifier le texte dans une chaîne de caractères
-Ajouter d’autres chaînes de caractères séparées par des virgules
-Ajouter la chaîne de caractères « print » – délicat !
-A l’intérieur des guillemets, ce ne sont que des données - Code = instructions qui sont exécutées
- Données = nombres ou chaînes de caractères ; manipulés par le code
Notez que print est reconnu comme une fonction dans le code par rapport à la chaîne « hello » qui n’est qu’une donnée passive (comme les verbes et les noms).L’ordinateur ignore les commentaires, ils sont donc juste un moyen pour vous d’écrire des notes à vous-même sur ce que fait le code. Les commentaires peuvent être l’utiliser pour supprimer temporairement une ligne de code — « commenter » le code en plaçant un « // » à sa gauche.
Penser à la syntaxe et aux erreurs (le message clé d’aujourd’hui !)
- Syntaxe — le code est structuré pour l’ordinateur
- Erreur très courante — taper dans le code, avec un léger problème de syntaxe
- Les programmeurs professionnels font ce genre d' »erreur » tout le temps
- Heureusement, très facile à réparer…. ne vous en faites pas
- Ce n’est pas le reflet d’un quelconque défaut du programmeur
- C’est juste la nature de la saisie d’idées dans le langage informatique mécanique
- Les débutants peuvent dérailler par étape de syntaxe, pensant qu’ils font une grosse erreur
- Essayez de faire un tas d’erreurs de syntaxe typiques et de les corriger
- Corriger ces petites erreurs est une petite étape normale
- Note : Firefox vous donne les meilleurs messages d’erreur
Syntaxe La syntaxe présentée ci-dessus doit être suivie de manière rigide ou le code ne fonctionnera pas : nom de la fonction, parenthèses, chaque chaîne a des guillemets ouvrants et fermants, virgules séparant les valeurs pour un appel de fonction.
La rigidité de la syntaxe est le reflet des limites des ordinateurs, puisque leur langage naturel est fixe et mécanique. Il est important d’absorber cela lorsque vous travaillez avec des ordinateurs, et je pense que c’est là que beaucoup de gens déraillent en commençant avec les ordinateurs. Vous écrivez quelque chose que n’importe quel humain pourrait comprendre, mais l’ordinateur ne peut comprendre le code que là où il correspond à la syntaxe mécanique de l’ordinateur.
Les erreurs de syntaxe triviales et superficielles sont très courantes lorsqu’on écrit du code. Les programmeurs les plus experts de la terre font ce genre d’erreur tout le temps et n’en pensent rien. Les erreurs de syntaxe ne reflètent pas une stratégie défectueuse de l’auteur. Il s’agit simplement d’une étape naturelle de la traduction de nos pensées dans le langage plus mécanique de l’ordinateur. Comme nous le verrons plus loin, la correction de ces erreurs est très rapide.
Il est important de ne pas se laisser dérailler par ces petits cas d’erreurs superficielles. Pour vous aider à apprendre les modèles, nous avons ci-dessous de nombreux exemples montrant des erreurs typiques, afin que vous puissiez voir à quoi ressemblent les messages d’erreur et voir comment les corriger. Pour chaque extrait de code ci-dessous, quelle est l’erreur ? Parfois, le message d’erreur généré par l’ordinateur indique précisément le problème, mais parfois le message d’erreur révèle simplement que l’erreur a tellement embrouillé l’ordinateur qu’il ne peut pas créer un message d’erreur précis. Firefox produit actuellement les messages d’erreur les plus utiles et vous indique souvent la ligne spécifique qui présente des problèmes.
Exemples d’erreurs de syntaxe
Ces problèmes de syntaxe sont rapides à résoudre.
.