Category of courses dedicated to Computer Science

Ce cours a pour but d'introduire les paradigmes de la programmation et de la conception par objets dans le cadre du génie logiciel.

La COO (Conception Orientée Objet) et la POO (Programmation Orientée Objet) sont abordées en prenant en compte la qualité du logiciel (fiabilité, modularité, évolutivité et réutilisabilité). Le cours présente les concepts fondamentaux de la POO : classe, instance, message, héritage, polymorphisme, généricité, contrat, etc.

Par ailleurs, ce cours reprends les approfondie les notions d'algorithmique simples et avancées qui sont supposées connues à la fin du L3 Miage.

L'ensemble des expérimentations sera fait en utilisant le langage Java.


Virtual Lab for learning basic algorithmic and programming skills in Java.

Supports pour le cours d'initiation à la programmation en Java pour les L3 Maths-Info

Ce cours propose une introduction à la programmation en Python et s'adresse à un public débutant en algorithmique et en programmation. Il n'y a aucun pré-requis.

Python est un langage à la syntaxe relativement simple qui permet d'acquérir les bases de l'algorithmique de manière plus aisée que d'autres langages de programmation qui nécessitent la maîtrise de mécanisme bas-niveaux, tels que le C.

Compétences visées:

  • Comprendre les bases de l'algorithmique (Instruction conditionnelle, boucles, ....)
  • Savoir structurer son code grâce aux fonctions
  • Acquérir les bonnes pratiques de programmation: lisibilité du code, commentaires, ....
  • Savoir écrire un programme Python pour résoudre un problème, en particulier le traitement de données numériques ou textuelles

Concepts abordés:

  • Vocabulaire de base: variables, instructions, ...
  • Interactions d'un programme avec l'utilisateur (Entrée/Sortie)
  • Instruction conditionnelle (If ... else)
  • Instructions de boucles (For, while)
  • Fonctions
  • Structures de données : listes et dictionnaire
  • Lecture et écriture dans un fichier

INF101: Cours d'Algorithmique et de Programmation en Python dispensé en L1 à l'Université Grenoble Alpes

INF204: Cours d'Algorithmique et de Programmation en Python dispensé à l'Université Grenoble Alpes, pour les L1 Sciences pour l'Ingénieur (SPI) et Sciences de la Terre (ST).

Programme résumé :

  • programmation modulaire
  • introduction à la problématique de test de logiciel (test unitaire, test de performance)
  • abstraction, généricité
  • outils d'aide au développement de logiciel : mise au point, Makefile, test unitaire

Le langage utilisé est C.

Compétences visées :

Savoir mettre en œuvre les principes élémentaires du génie logiciel.
Être préparé à gérer les étapes de réalisation d'un logiciel, de la conception à la validation.
Connaître les principes des outils de développement classiques, et les avoir pratiqués.

Volumes horaires

Travaux Pratiques (TP)15
CM et TD intégrés (CTD)15
Heures encadrées30
Travail personnel estimé30

Ce cours permet, pour ceux qui programment déjà en C++03, éventuellement en Java ou C#, de faire une mise à niveau importante en C++>=11. Il comprend la mise à niveau technique (langage) et la mise au niveau indispensable concernant les (bonnes) pratiques de programmation avec ce 'nouveau' langage.

Il est destiné principalement aux chercheurs/enseignats-chercheurs et stagiaires (masters et doctorants).

Ce cours est en cours de montage. Il est pour l'instant incomplet et son contenu est amené à changer. Il se présente pour l'instant sous la forme de slides animées au format LibreOffice Impress. A terme, il devrait prendre la forme d'une vidéo (slides commentées).


Vous rendrez ici vos documents HTML, XML, XSD, XSLT, SAX et StAX pour la partie "Langages pour le Web" du PAI.

Ces documents seront analysés de manière automatique, ce qui constituera une partie de la note de projet. Évidemment, c'est la compréhension globale du projet qui sera également prise en compte pour la note finale.

AlgoProg (INF 301) : Séquences, Chainage, Récursivité
Copie d'un module : https://im2ag-moodle.e.ujf-grenoble.fr/course/view.php?id=267

Programmation déclarative, avec une introduction aux différentes formes de programmations déclaratives (programmation par contrainte, programmation logique, programmation logique avec contraintes, programmation parallèle logique, programmation fonctionnelle concurrente) et un découpage en :

  • introduction à la programmation logique (avec ProLog)
  • application à l'analyse des langages formels (Expressions régulières, langages rationnels)
  • introduction à la programmation fonctionnelle concurrente (avec Erlang)

Ce cours est destiné à des étudiants de niveau L1, débutant en Informatique. Il couvre les sujets suivants:

  • Représentations des entiers en binaire, opérations arithmétiques
  • Représentation des flottants selon la norme IEEE754, opérations arithmétiques
  • Utilisation d'une table ASCII
  • Codes correcteurs d'erreur: bits de parité et Codes de Hamming
  • Bases de la logique booléenne (fonction logique, tableau de Karnaugh, circuit logique combinatoire)

Cours de mise à niveau en programmation en Java à destination des personnels SNCF du programme UP TO IT avant l'entrée en M1 MIAGE