Code et langage informatique

Documentation

Notes de cours

Intro

l'adresse IP est insuffisante pour identifier l'utilisateur, d'où le recours aux cookies

brokers : recoupent les infos des cookies tiers


décrire les concepts abstraits qui nous entourent et des façons de le transformer
"la machine ne peut pas faire d'implicite"

"ma façon d'enseigner, c'est de faire le parallèle entre les langages naturels et les langages de programmation"

  • noms communs : partagés par tous
    en prog ce sont des mots-clés, rattachés au langage
    mots-outils (adjectifs, adverbes) (ex : import)
  • noms propres : tout le monde ne les connaît pas forcément, certains sont connus, d'autres sont inventés
    en prog = identifiants, pour éviter toute ambiguïté
    font toujours référence à la même chose : variables, méthodes, fonctions
    certains identifiants sont crées par nos-mêmes, d'autres sont déjà connus (ex : random)

le juste prix

blablabla l'UTF-8

structure de contrôle (ex : while)

définition implicite du type de variable ("en Python ça ne marche pas tout à fait comme ça")

"le "ou" en français, ça ne veut pas dire la même chose que le "ou" en logique"

Bibliothèque

"que vous soyez informaticien ou pas, ça peut être sympa d'utiliser Git (sic)"

par convention, les noms de classe sont écrits en CamelCase
(le Python est sensible à la casse)

entité : ce qu'on définit

les langages de programmation ont évolué vers plus d'automatisation du processus de programmation

langages descriptifs (ex. SQL) : le langage est la bibliothèque de programmation
"en SQL, vous ne dites jamais : "pour faire ça, faire ça" ; vous dites : "voilà ce que je veux""

"sous RStudio on va lancer le terminal sous Bash, dans le terminal on va lancer Python, et dans l'interpréteur Python on va lancer SQLite"

"le Python c'est un langage interprété, c'est un peu lent pour faire des calculs très complexes, on peut utiliser le C++ pour ça"

algorithmique : "on appelle ça l'informatique fondamentale"
Turing, 1950, "est-ce que les ordinateurs peuvent penser ?" : "ce n'est pas un article hyper sérieux, il imagine un ordinateur qui apprend dans une classe avec d'autres élèves"
machine de Turing : "il démontre que cette machine peut résoudre tous les problèmes mathématiques"
mais "certains problèmes prennent des milliards d'années à être résolus" :

  • problème du voyageur de commerce : "c'est un problème de graphe"
    (factoriel : n! = n × (n-1)!)
    "on pouvait ramener certains problèmes sur des problèmes polynomiaux, mais pas celui-là : c'est un problème NP-complet"

jeu des traductions corrigé :
from, if, else, while : "c'est les noms communs du langage, le développeur n'a pas à les définir"
les crochets et accolades de la même couleur ont la même fonction : ce sont des caractères spéciaux, "plutôt des mots-outils, des verbes"
dico, victoires, tentative : "ce sont les noms propres"
"les accolades qui ont leur couleur n'ont pas la même fonction que les autres accolades"

"c'est parce que j'ai mis "français" : que Python sait que dico est un dictionnaire, il a inféré la structure de la variable"

antislash (\) = caractère d'échappement

frontière = index du dernier jour non traité
temp = variable temporaire, nécessaire pour faire une permutation sans perdre la valeur