Skip to content

POO – Épreuve de contrôle

Voici le sujet ainsi que le corrigé-type de l’épreuve de contrôle de Programmation Orientée Objet pour la 2e année de Licence Informatique de cette année 2014-2015 :

N.B. : Voici une classe Java avec main() qui permet d’essayer la dernière question de l’exercice 2 : http://ideone.com/NR622z (le résultat de l’exécution est en bas, sous « stdout »)

 

L1ST – Informatique1 : Chapitre 3 (1-41) (1-58)

Voici les 41 58 premières diapositives du chapitre 3 d’Informatique1 pour la 1re année de licence ST de cette année 2014-2015 :

Je vous rappelle que vous pouvez trouver de bons livres sur la programmation Python à la bibliothèque de la faculté, et notamment celui dont je vous ai parlé sur ce blog.

Si vous avez besoin de mon aide, je suis disponible pour les étudiants de ST tous les mardis de 11h30 à 13h au département d’informatique (tour des départements, 2e étage). Demandez M. Brikci.

Installation du module Turtle Graphics sous Ubuntu

Pour pouvoir faire le TP sur Turtle Graphics, il faut que le paquetage python3-tk soit installé, sinon une erreur apparaît au moment de l’importation du module turtle : ImportError: No module named ‘_tkinter’, please install the python3-tk package

Le problème se pose car le DVD d’Ubuntu ne comporte qu’une version minimale de Python, fonctionnelle (qui permet de faire fonctionner les programmes Python inclus par défaut dans Ubuntu) mais pas complète (car la majorité des utilisateurs n’ont pas besoin du reste) et qui n’inclut donc pas python3-tk.

Signalons au passage que ceux qui ont fait le (mauvais) choix de travailler sous Microsoft Windows ou Mac OS X n’ont pas ce problème car sous ces systèmes l’installateur déploie un Python complet.

Revenons à Ubuntu.
Pour installer python3-tk sur une machine qui est connectée à internet, il suffit de taper dans un terminal sudo apt-get install python3-tk

Pour les machines qui n’ont pas accès à internet, il est possible d’apporter et d’installer les fichiers du paquetage et des paquetages dont il dépend. Pour cela il faut d’abord connaître la version d’Ubuntu installée.

Attention : Il ne faut surtout pas se tromper de version et installer les fichiers de paquetages faits pour une autre version. Ça m’est arrivé. Cela crée une incohérence dans les dépendances des paquetages qui est assez difficile à réparer.

Pour savoir quelle version d’Ubuntu est installée sur une machine on peut appuyer sur Ctrl+Alt+F1 pour passer au 1er terminal virtuel, lire la version affichée, puis pour revenir à l’environnement graphique appuyer sur Ctrl+Alt+F7.

J’ai téléchargé sur ma clé USB les paquetages nécessaires pour les versions d’Ubuntu qui sont installées aux labos (et dont je possède les DVD d’installation puisque c’est moi qui les ai installées). Voici en fonction de la version d’Ubuntu la liste des fichiers de paquetages à installer :
Ubuntu 12.04 32 bits :
blt_2.4z-4.2ubuntu1_i386.deb
libxss1_1%3a1.2.1-2_i386.deb
python3.2_3.2.3-0ubuntu1_i386.deb
python3.2-minimal_3.2.3-0ubuntu1_i386.deb
python3_3.2.3-0ubuntu1_all.deb
python3-minimal_3.2.3-0ubuntu1_all.deb
python3-tk_3.2.3-1_i386.deb
tcl8.5_8.5.11-1ubuntu1_i386.deb
tk8.5_8.5.11-1_i386.deb
Ubuntu 13.10 64 bits :
blt_2.4z-7_amd64.deb
libxss1_1%3a1.2.2-1_amd64.deb
python3-tk_3.3.1-0ubuntu2_amd64.deb
tcl8.5_8.5.13-1ubuntu4_amd64.deb
tcl8.5-lib_8.5.13-1ubuntu4_amd64.deb
tk8.5_8.5.11-2ubuntu4_amd64.deb
tk8.5-lib_8.5.11-2ubuntu4_amd64.deb
Ubuntu 14.04 64 bits :
python3-tk_3.4.0-0ubuntu1_amd64.deb

Voici comment j’ai fait pour les télécharger :

  1. j’ai démarré un PC connecté à Internet avec le DVD d’Ubuntu correspondant
  2. j’ai tapé dans un terminal sudo apt-get install python3-tk
  3. j’ai inséré ma clé USB et j’y ai copié tous les fichiers .deb que j’ai trouvé dans le dossier /var/cache/apt/archives

Contactez-moi si vous voulez que je vous envoie les fichiers ci-dessus…

Une fois les fichiers de paquetages récupérés, pour les installer sur la machine sur laquelle vous voulez jouer travailler avec Turtle Graphics : ouvrir un terminal, aller (cd) dans le répertoire qui contient les fichiers .deb et taper sudo dpkg -i *.deb

Voilà ! Je reste à votre disposition pour toute question (dans les commentaires, ci-dessous).

POO – Nouveaux cours : POO en Java avec BlueJ

BlueJ est un environnement de développement intégré pour la programmation Java spécialement conçu pour l’apprentissage des concepts de la programmation orientée objet.

Nous l’utilisons pendant les séances de travaux pratiques et il doit commencer à vous être familier.

Le développeur original de ce logiciel, Michael Kölling, est enseignant à l’Université de Kent en Angleterre. Il a créé ce projet dans le cadre de ses recherches scientifiques sur la pédagogie de l’enseignement de l’informatique. Il a d’ailleurs communiqué et publié de nombreux articles sur ce sujet et a été plusieurs fois récompensé. Ses travaux ont inspiré de nombreux enseignants et BlueJ est utilisé par des centaines d’universités dans le monde pour l’enseignement de la programmation. Voyez par exemple le cours à l’Université de San José (dans la Silicon Valley), accessible en ligne via Udacity : https://www.udacity.com/course/cs046

M. Kölling a écrit, avec son collègue David Barnes, un support de cours sous la forme d’un livre appelé « Objects First with Java: A Practical Introduction using BlueJ » et fournit gracieusement aux enseignants qui veulent l’utiliser la série des diapositives de son propre cours à l’Université de Kent (CO320 Introduction to Object-Oriented Programming, qui est cette année assuré par D. Barnes).
Objects First With Java
M. Kölling fournit également un fichier compressé contenant l’ensemble des projets BlueJ présentés dans le livre et durant le cours.

Ce livre a été traduit en français sous le titre « Conception objet en Java avec BlueJ : Une approche interactive ». Un exemplaire est disponible dans sa 4e édition (la dernière en date) à la bibliothèque de notre faculté des Sciences.
Conception objet en Java avec BlueJ
Le traducteur, Patrice Moreaux, enseignant-chercheur en informatique à l’Université Paris Dauphine, met également à la disposition des enseignants la traduction française des diapositives (« transparents ») du cours de M. Kölling qui accompagnent le livre, sur son site personnel.

Par conséquent, j’ai décidé qu’à partir du cours d’hier, j’utiliserai ces diapos pour le cours de Programmation Orientée Objet.


En conclusion (tl;dr) : Pour réviser le cours, vous trouverez ci-dessous les liens pour télécharger :


Remarque : Si vous préférez jeter un coup d’œil sur la 5e édition (la dernière en anglais),  voici les liens pour :

POO – Chap2: Présentation de Java (suite et fin)

Voici la totalité des diapos du chapitre 2 de Programmation Orientée Objet pour la 2e année de Licence Informatique de cette année 2014-2015 :

  • java.pdf : Présentation du langage Java

Pour plus de détails, vous pouvez toujours consulter mon mémoire de DEUA.

Erratum: Une erreur s’est glissée dans le mémoire : j’y ai écrit que la classe Object, qui est la racine de la hiérarchie des classes en Java, était une classe abstraite. C’est faux : Object n’est pas une classe abstraite. L’erreur vient de la tendance à croire que les classes abstraites ne peuvent pas hériter de classes concrètes, ce qui est faux : il suffit que les méthodes abstraites ne soient pas présentes dans la superclasse et il n’y aura alors aucune raison qu’elle soit abstraite. Je l’ai précisé dans les diapos du cours (mais le mémoire contient toujours l’erreur).

 

L1ST – Informatique1 : chapitre 3 (1-16)

Voici les 16 premières diapositives du chapitre 3 d’Informatique1 pour la 1re année de licence ST de cette année 2014-2015 :

Ce chapitre commence l’initiation à la programmation avec le langage Python3.

 

L1ST – TP N°5 : Turtle Graphics

Voici la fiche de TP N°5 d’Informatique1 pour la 1re année de licence ST 2014-2015 :

 

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 44 autres abonnés