Université Bordeaux 1. Année 2014-2015, Licence semestre 1



Documents pareils
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

S LICENCE INFORMATIQUE Non Alt S Alt S S1 S2 S3 S4 SS5 S6 Parcours : S IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

Gestion collaborative de documents

Alpha PRIMO 58 boulevard baron du Marais Roanne / / contact@alphaprimo.fr

MIS 102 Initiation à l Informatique

A5.2.4 Étude d une technologie, d'un composant, d'un outil

Chapitre 1 Introduction

SCIENCES - TECHNOLOGIES - SANTE. STIC : Sciences et Technologies de l Information et de la Communication. Parcours Informatique

Algorithmique I. Algorithmique I p.1/??

DUT Informatique, orientation Imagerie Numérique

Programmation Web. Madalina Croitoru IUT Montpellier

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

PLAN DE FORMATION TECHNICIEN(NE) D'ASSISTANCE EN INFORMATIQUE TAI

LICENCE PROFESSIONNELLE

Présentation du Programme Régional de Formations Qualifiantes

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Business Intelligence avec SQL Server 2012

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

S LICENCE INFORMATIQUE Non Alt Alt SS1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

CQP Développeur Nouvelles Technologies (DNT)

Bases de données cours 1

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt.

Programme et contenus Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue (13:40)

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Les ateliers EPN 2015/2016

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Document de présentation technique. Blocage du comportement

Qu'est-ce qu'un moteur de recherche. Moteur de recherche sur Internet

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Dispositif e-learning déployé sur les postes de travail

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING

Formation Communiquer et être vu sur Internet - Webcomm

Formation Webmaster : Création de site Web Initiation + Approfondissement

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Master Technologies numériques appliquées à l'histoire Deuxième année

Présentation. Référenciel : textes officiels

Proposition année universitaire-informatique ( )

Installation locale de JOOMLA SEPIA

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Mise en œuvre des serveurs d application

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Formation en Logiciels Libres. Fiche d inscription

TEXT MINING von 7

Système de Gestion de Ressources

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Licence Professionnelle Génie logiciel, développement d'applications pour plateformes mobiles

SCOM 2012 (System Center Operations Manager) De l'installation à l'exploitation, mise en oeuvre et bonnes pratiques

Stockage du fichier dans une table mysql:

Formation : WEbMaster

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

ECTS INFORMATIQUE DE GESTION Option Administrateur de réseaux Locaux d entreprise

Dans la série Les tutoriels libres présentés par le site FRAMASOFT. AGORA-Projet. système de partage d'information et de travail collaboratif

GOOGLE, OUTILS EN LIGNE

Master Génie des Systèmes Industriels

les techniques d'extraction, les formulaires et intégration dans un site WEB

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Initiation à html et à la création d'un site web

Petite définition : Présentation :

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

PERFORMANCE ET DISPONIBILITÉ DES SI

AC PRO SEN TR «services TCP/IP : WEB»

Internet Découverte et premiers pas

Programmation Web. Introduction

LICENCE : INFORMATIQUE GENERALE

1 Introduction au codage

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Gestion de la mobilité en entreprise (EMM, enterprise mobility management)

Séance 0 : Linux + Octave : le compromis idéal

Cours: Administration d'une Base de Données

Poursuivre ses études à l'université de Rouen Masters professionnels en Informatique et en Mathématiques. UFR Sciences et Techniques /18

Présentation Internet

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Présentation des CMS au CIFOM-EAA

Internet et Programmation!

Présentation du déploiement des serveurs

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

Transcription:

Initiation à l'informatique (MI-1003) Université Bordeaux 1 Année 2014-2015, Licence semestre 1 Initiation à l informatique (MI-1003)

Plan du cours 1. Présentation et organisation 2. Algorithmes 3. Programmes 4. Manipulation d'images 5. Introduction aux graphes 6. Graphes : définition 7. Degré 8. Chaînes 9. Connexité 10. Graphes Eulériens 11. Coloration Initiation à l informatique (MI-1003) 2

1- Présentation et organisation Objectif et contenu Faut-il des connaissances préalables? Organisation et site web Support de cours Modalités de contrôle Comptes et tutorat Initiation à l informatique (MI-1003) 3

Objectifs et contenu Objectif : Initiation à la programmation et l'algorithmique. Thèmes : Manipulation d'images Étude d'un objet appelé graphe. Organisation : Généralités, temps de calcul Notions théorique et algorithmes Programmation : TP 4 notions abordées : images, graphes, algorithme, programme, temps de calcul. Initiation à l informatique (MI-1003) 4

Faut-il des connaissances préalables? Non prérequis Connaissance d'un langage, d'un système d'exploitation, Connaissance de la programmation, Connaissance de logiciels destinés au grand public. Prérequis Il sera nécessaire de pouvoir comprendre un raisonnement mathématique pour les preuves des théorèmes. Initiation à l informatique (MI-1003) 5

Organisation et site web Responsable : Samuel Thibault. Site Web : http://dept-info.labri.fr/initinfo/ Supports de cours. Textes des TD, TP. Annales d'examens. Planning : 14 séances de cours intégré (1h20) 14 séances de TP (1h20) dont un TP noté. travail individuel Initiation à l informatique (MI-1003) 6

Modalités de contrôle Epreuve CC (Tests) 1 TP noté 1 DS semaine 47 1 DS semaine 2 Durée 3 x 20mn 1h20 1h20 1h20 Coefficient 0.2 0.2 0.3 0.3 Initiation à l informatique (MI-1003) 7

Comptes sur machines - Tutorat Tutorat pour : Activation de comptes, Prise en main de l'environnement informatique, Soutien pour les cours d'informatique, Lundi-Jeudi de 12h45 à 13h45 (Rez-de- Chaussée bât. A22) a partir du 15 Septembre, à confirmer Initiation à l informatique (MI-1003) 8

2- Algorithmes Qu'est-ce qu'un algorithme? Efficacité des algorithmes Initiation à l informatique (MI-1003) 9

Qu'est-ce qu'un algorithme? Un algorithme est une méthode systématique (comme une recette) pour résoudre un problème donné. Il se compose d'une suite d'opérations simples à effectuer pour résoudre un problème. Exemple : faire n tasses de café mettre un filtre Tant que niveau_réservoir < n faire mettre une dose d eau dans le réservoir Fin tant que nb_doses = 0 Tant que nb_doses < n faire mettre une dose de café dans le filtre augmenter nb_doses de 1 Fin tant que allumer la cafetière Initiation à l informatique (MI-1003) 10

Qu'est-ce qu'un algorithme? Un algorithme est une méthode systématique (comme une recette) pour résoudre un problème donné. Il se compose d'une suite d'opérations simples à effectuer pour résoudre un problème. En informatique cette méthode doit être applicable par un ordinateur. Exemple : calculer la somme des diviseurs de l entier n somme = 0 si n > 0 alors pour tout entier i entre 1 et n faire si n est divisible par i alors ajouter i à somme Fin si Fin pour Fin si Initiation à l informatique (MI-1003) 11

Importance de l'algorithmique Pour un problème donné, il y a plusieurs algorithmes. Il est facile d'écrire des algorithmes faux ou inefficaces. Une erreur peut faire la différence entre plusieurs années et quelques minutes de calculs sur une même machine. C'est souvent une question d'utilisation de structures de données ou d'algorithmes connus dans la littérature. Une structure de données est une façon particulière d'organiser les données. Initiation à l informatique (MI-1003) 12

Représenter et organiser les données Exemple : Construire une ville de 15 maisons en évitant aux livreurs de pizzas qui suivent les rues un trajet trop long depuis la pizzeria. Organisation 1 : Linéaire. Numéros croissants. Pizzeria au numéro 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Organisation 2 : Embranchements. À l'ouest de la maison k, n < k, et à l'est, n > k. La pizzeria est au numéro 8. 8 12 14 1 3 5 7 9 11 13 15 Initiation à l informatique (MI-1003) 13

Temps de calcul Dans les deux organisations le livreur a une méthode simple pour trouver une maison en partant de la pizzeria. On suppose qu'il faut une unité de temps pour passer d'une maison à une autre (en suivant une rue). Quel est, dans le cas le pire, le temps mis par un livreur pou aller jusqu'à une maison depuis la pizzeria? Nombre de maisons Temps organisation 1 Temps organisation 2 15 14 3 1023 1022 9 1073741823 1073741822 29 n n-1 ~log_2(n) Note une organisation en étoile avec la pizzeria au milieu permet des trajets très courts, mais choisir la bonne rue prend du temps. Initiation à l informatique (MI-1003) 14

Temps de calcul Le temps de calcul (ou complexité) d'un algorithme est la fonction qui à un entier n associe le nombre maximal d'instructions élémentaires que l'algorithme effectue, lorsqu on travaille sur des objets de taille n. En pratique, on se contente d'un ordre de grandeur. Exemples d'opérations élémentaires : additionner, soustraire, multiplier ou diviser deux nombres, tester si une valeur est égale à une autre valeur, affecter une valeur à une variable. Initiation à l informatique (MI-1003) 15

Temps de calcul Pour déterminer si un algorithme est efficace, on compte le nombre d'opérations nécessaires à effectuer dans le pire des cas et en fonction de la taille de la donnée. Le temps de calcul d'un algorithme est une évaluation du nombre d'opérations élémentaires (opérations arithmétiques) qu'il effectue sur une donnée de taille n. Exemple avec l'organisation 1 de la ville, de taille n maisons, l'algorithme naturel pour trouver une maison a une complexité O(n). avec l'organisation 2 d'une ville de taille n maisons, l'algorithme naturel pour trouver une maison a une complexité O(log_2(n)), ce qui est bien inférieur. Initiation à l informatique (MI-1003) 16

Différence entre n et log n Pour notre livreur de pizza Si n = 10 6, alors log_2 20 Il fait 50 000 fois moins de déplacements si les maisons sont organisés par «embranchements» Si n = 10 9, alors log_2 n 30, il fait alors 30 000 000 fois moins de déplacements. Initiation à l informatique (MI-1003) 17

Temps de calcul : 2ème exemple Problème : déterminer si 2 ensembles E1, E2 de n entiers ont une valeur commune. Algorithme 1 : comparer successivement chaque élément de E1 avec chaque élément de E2 ~> n 2 comparaisons. 237623 5234 983 83889 9 =? 7363 19 873 111 87321 On peut résoudre le problème avec environ n*log(n) comparaisons! E1 = E2 Algorithme 1 Algorithme 2 n n 2 n*log(n) 10 100 10 1000 1000000 3000 100000 10000000000 500000 Initiation à l informatique (MI-1003) 18

Différence entre O(n 2 ) et O(n * log(n)) Sur un ordinateur exécutant une instruction élémentaire en 10-9 sec Si les ensembles E1 et E2 ont n = 1 000 000 = 10 6 éléments Exécuter n * log n instructions élémentaires nécessite 0,006s. Exécuter n 2 instructions élémentaires nécessite 10 3 s soit environ 16mn40. Si les ensembles E1 et E2 ont n = 10 000 000 = 10 7 éléments Exécuter n * log n instructions élémentaires nécessite 0,07s. Exécuter n 2 instructions élémentaires nécessite 10 5 s soit plus d une journée. En informatique, on manipule parfois des ensembles énormes Google indexe plusieurs milliards de pages web, Google reçoit près de 200 millions de requêtes/jour. Initiation à l informatique (MI-1003) 19

Représentation graphique : réseaux Ll Initiation à l informatique (MI-1003) 21

Représentation graphique : réseaux Ll Initiation à l informatique (MI-1003) 22

Qu'est-ce que l'informatique? L'informatique même pour non informaticiens Quelques domaines de l'informatique Initiation à l informatique (MI-1003) 23

Qu'est-ce que l'informatique? Dans la vie quotidienne : ordinateur avec logiciels. En entreprise : un outil de communication et de production. À l'université : une discipline scientifique. Une partie pratique (par exemple, autour de la programmation). Une partie théorique similaire aux maths (objets abstraits). Les objets en mathématiques : nombres, relations, fonction, transformations, etc. Les objets en informatique : algorithmes, programmes, preuves, systèmes de réécriture, images numériques, graphes, etc. Initiation à l informatique (MI-1003) 24

L'informatique pour non informaticiens Le travail d'un scientifique ou d'un ingénieur nécessite de plus en plus la manipulation de logiciels. Ces logiciels sont de plus en plus sophistiqués. Souvent, ces logiciels nécessitent de la programmation. Il faut des connaissances informatiques (algorithmique et programmation) pour programmer efficacement, maintenir les programmes. Initiation à l informatique (MI-1003) 25

Exemples de domaines en informatique Les bases de données 1.070.000.000 internautes en 2005 42 298 371 sites web en 2003 100 millions transactions FedEx / jour 150 millions transactions VISA / jour 300 millions appels longue distance / jour sur le réseau ATT s 35 milliards e-mails / jour dans le monde Trouver rapidement un billet d'avion, un trajet, une page web,... Traçabilité des transactions en agroalimentaire, dans le domaine financier, Croiser les informations des corps policiers au niveau européen, Systèmes d informations géographiques Initiation à l informatique (MI-1003) 26

Exemples de domaines en informatique La sécurité Transports Médecine, Finance Communications Énergie Systèmes embarqués Initiation à l informatique (MI-1003) 27

Exemples de domaines en informatique Les logiciels Navigateurs internet Anti-virus Pare-feu ou passerelle Clients de messagerie (mail) Jeux... Initiation à l informatique (MI-1003) 28

Exemples de domaines en informatique Les langages de programmation Les langages de programmation sont souvent utilisés dans des domaines spécifiques. HTML, php, javascript pour la création de pages web, SQL pour les bases de données, Java pour les applications embarquées, les serveurs, +... C pour les systèmes d'exploitation (Windows, Unix), +... Python pour... demandez à Initiation à l informatique (MI-1003) 29

Exemples de domaines en informatique Image et son MP3, JPEG, MPEG : codage et compression. Voix par IP, numérisation et transformation. Image 3D, jeux vidéos... Initiation à l informatique (MI-1003) 30