INF 111 PROGRAMMATION ORIENTÉ-OBJET Présentation du cours, été 2013 (groupe 80, cohorte particulière de juin) Francis Cardinal Avec des éléléments de Pierre Bélisle (intro java)
Présentations Mon nom: Francis Cardinal Email: francis.cardinal.1@ens.etsmtl.ca Questions pour inf111? Commencez votre sujet de courriel par « INF111: » J’ai enseigné plusieurs cours à l’ETS. Vous me croiserez peut-être dans le futur dans des cours de LOG ou de GTI.
Et vous? Votre programme d’études? Votre DEC collégial? Combien d’autres cours prenez-vous? Qu’est-ce que INF111 pour vous? Quels sont vos attentes?
Logistique du cours Voir le syllabus Un cours par semaine (4h) le lundi. Attention début du cours à 18h00 au B-4416. Une séance de laboratoire par semaine (3h30) le mercredi. Débute à 18h00. Au local B-2402. Pondération des travaux Quiz 10% Travaux de Laboratoire 40% Examens 50%
Examens et Quiz Des quiz peuvent être donnés en classe à une intervalle variable. Ce sont généralement des questions qui visent la compréhension de la matière. Ce sont pour la plupart des quiz d’une durée de 15 à 30 minutes sans avoir droit aux notes de cours. Il est possible qu’il y ait au cours de la session des exercices à faire à la maison et/ou exercices à faire en classe. Le contenu des examens est cummulatif au courant de la session (examen final sur toute la matière du cours, examen intra, sur tout ce qu’on va voir jusqu’à l’intra) L’examen intra et l’examen final comptent pour 25% de la note chacun.
Laboratoires Les labs ont une durée de 3h30 par semaine. Pondération totale des laboratoires = 40% Les détails sur le nombre de semaines pour chacun des laboratoires, les dates de remises et la pondération seront indiqués sur le site web du cours et discutés en laboratoire. Adresse du site de cours: cours.etsmtl.ca/inf111 Les laboratoires se font individuellement ou en équipe. Les détails seront donnés en cours et en laboratoire.
Travaux de laboratoire T1: un travail, où l’étudiant(e) aura à se familiariser avec les outils de développement Java. Un travail spécifique concernant les notions de base sera demandé. Plus de détails seront dévoilés lors du premier lab (10%). T2: un travail qui couvrira des notions intermédiaires sera demandé. Plus de détails seront dévoilés lors du premier lab du T2 (15%). T3: un travail qui couvrira l’ensemble des notions vues en classe. Plus de détails seront dévoilés lors du premier lab du T3 (15%).
Ce que vous pouvez faire cette semaine … Vérifier si vous avez accès avec votre carte au B-2402. Vérifiez que vous avec un compte et logguez vous sur les ordis du département (B-2402)! Essayer d’installer un outil de programmation Java (eclipse de préférence) pour avoir un environnement semblable à celui de l’école pour travailler de la maison / en cours sur votre portable.
Introduction à Java
Caractéristiques principales Caractéristique numéro 1 Portablilité (fonctionne sur n’importe quel système) Linux, Microsoft, … Caractéristique numéro 2 Orienté-objet (nous y reviendrons) Programmation WEB
Environnement Java Java ne s’exécute pas directement sur l’ordinateur. (Contrairement aux autres langages de programmation). Il fonctionne avec un ordinateur hypothétique (Virtual Machine). Java 2 Platform (J2SE 6.0) Java Virtual Machine (JVM) Java Runtime Environment (JRE) Java Developpement Kit (JDK 6.0) Java Application Programming Interface (API) Ensemble de composants utilitaires
Compilation et interprétation Le code contenu dans un fichier texte .java est compilé et traduit en byte code dans un fichier .class Interprétation Le JVM interprète les .class en exécutant une instruction à la fois.
Compilation et interprétation Interprétation (suite) On peut exécuter un programme java de deux façons différentes: Comme un programme sur un ordinateur (il sera exécuté par le JVM). Exemple de .jar. Dans un fureteur web. Cette version s’appelle un Applet java. (Nous ne couvrirons pas cette façon de faire dans le cours, mais il ne serait pas trop difficile d’adapter vos programmes pour les faire rouler ainsi…). Exemple d’applet.
Compilation et exécution .java Editeur de texte Compilation(javac) Exécution(java) http://pages.infinit.net/tsjyv/ch1_intro.html .class JVM Programme exécuté
L’ordinateur Un ordinateur prend ses instructions dans ce qu’on appelle un langage machine. Comme il est difficile d’écrire nos instructions et directives à l’ordinateur directement en langage machine, des langages existent avec un langage de plus haut niveau. Lors de la compilation, ce langage se transforme en langage machine et est exécuté par l’ordinateur (java interprêté et transformé en langage machine par le JVM).
Vue interne d’un ordinateur
L’ordinateur Le CPU lit les instructions machine directement dans la mémoire. Ces instructions dirigent les interactions entre le CPU et la mémoire, les périphériques (clavier, souris, écran, son, etc.), et les support de données (disques, clefs usb, etc.)
Le langage JAVA Était développé au départ pour faire de la programmation multi-plateformes sur des machines autres que des ordinateurs. Est devenu populaire grâce aux applets sur le Web. Il a été conçu pour être sécuritaire et portable.
Le langage JAVA
Le langage JAVA
Le langage JAVA Chaque application JAVA possède une classe où il y a un « main ». Lors de l’exécution du programme, tout ce qui se trouve dans le main est exécuté en premier.
Le langage JAVA – les erreurs Il y a deux types d’erreurs que vous allez rencontrer en java: Les erreurs de syntaxe (vous vous êtes trompés dans un mot réservé, dans un nom de variable, vous avez oublié de la ponctuation etc…). Ces erreurs sont détectées par le compilateur. Les erreurs de logique (run-time errors) sont des erreurs de fonctionnement qui démontrent un bug de vos algorithmes. Ces erreurs sont trouvées en testant vous-même vos programmes lors de l’exécution.
Le langage JAVA – les étapes Pour passer du code source à l’exécution
Le langage JAVA – les étapes