Introduction à l’informatique


Objectif

  • Approfondir les compétences en représentation des données et algorithmique.
  • Définir la structure d'un programme.
  • Elaborer des utilitaires.
  • Se familiariser avec différents algorithmes/programmes autour de domaines variés tels que les graphes, les méthodes d’optimisation numérique, les méthodes de tri, la programmation dynamique …

Principaux acquis de la formation :

A l’issue de ce cours, l’étudiant sera capable de :

  • concevoir et mettre en œuvre un algorithme,
  • comprendre la structure d’un programme informatique,
  • mettre en œuvre un traitement numérique.

Plan

  1. Généralités : principe de codage de l’information sur l’ordinateur, algorithmique, instructions et langages informatiques, variables, types de données et opérateur …
  2. Les programmes python – les modules –  les fonctions : utilisation
  3. Les booléens et l'instruction conditionnelle "if "
  4. Les séquences – l'instruction de boucle " for"
  5. L'instruction de boucle "while "
  6. Les fonctions et procédures : création des sous-programmes
  7. Les fichiers et les dictionnaires (classes et programmation objet)
  8. Les modules – l’interface graphique et le module "matplotlib" – les exceptions
  9. Quelques algorithmes/programmes:
    Algorithmes de tri
    Files d’attente, simulation informatique
    Plus court chemin dans un graphe
    Plus court chemin reliant tous les nœuds d’un graphe, cartes de Kohonen
    Distance d’édition, distance entre deux séquences
    Optimisation numérique, algorithmes BFGS, DFP
    Classification à l’aide des k plus proches voisins (k-PPV), optimisation de la
        recherche du plus proche voisin
    Modèles de Markov cachés et algorithme Expectation-Maximisation (EM)

Références

Balkanski, Cécile et Maynard, Hélène, Algorithmique et C++, Supports de TD et de TP, IUT d'Orsay, département Informatique
Chesneau, Myriam, Cours d'informatique – Initiation au langage C, IUT d'Annecy, Département Mesures Physiques, 2010-2011
Chun, W. J., Au Coeur de Python, CampuPress, 2007
Cordeau, Bob, Introduction à Python 3, version 2.71828,

Cordeau, Bob, Python, Python 3, Exercices corrigés, version 2.2, 2008-2009,
Dabancourt, Christophe, Apprendre à programmer, Algorithmes et conception objet, Eyrolles, 2008, 2e édition
Faure, Robert, Lemaire, Bernard et Picouleau, Christophe, Précis de recherche opérationnelle
Le Goff, Vincent, Apprenez à programmer en Python, Le Livre du Zéro, 2011,
Lutz, Mark et Bailly, Yves, Python précis et concis, O'Reilly, 2e édition, 2005
Martelli, Alex, Python en concentré, O’Reilly, 2004
Martelli, Alex, Python par l'exemple, O’Reilly, 2006
Pointal, Laurent, site web : Cours Programmation Python,

Pointal, Laurent et Marduel, Sabine, Informatique et Algorithmique, Supports de cours, TD et de TP, IUT d'Orsay, département Mesures Physiques
Swinnen, Gérald, Apprentissage de la programmation
Swinnen, Gérard, Apprendre à programmer avec Python 3, Eyrolles, 2010, http://inforef.be/swi/python.htm
Summerfield, Mark, Programming in Python 3, Addison-Wesley, 2e édition, 2009
Younker, Jeff, Foundations of Agile Python Development, Apress, 2008
Ziadé, Tarek, Programmation Python. Conception et optimisation, Eyrolles, 2e édition, 2009
Ziadé, Tarek, Python : Petit guide à l’usage du développeur agile, Dunod, 2007
Manuel de référence python : http://www.python.org, cliquer sur DOCUMENTATION
Wikibook python : http://fr.wikibooks.org/wiki/Programmation_Python
Developpez.com (site d'entraide) : http://python.developpez.com