Département d’informatique et de recherche opérationnelle Automne 2005 Stefan Monnier [email protected] Bureau 3353 Concepts des langages de programmation IFT 2030 Premier cours: mardi 6 Septembre, 13h30-15h30, salle 1355 Description Ce cours présente les différents concepts à la base des langages de programmation. Le cours vise à aider aux étudiant(e)s à mieux connaı̂tre les outils qu’ils utiliseront dans le reste de leur carrière, et à les familiariser avec des méthodes et styles de programmation avancés ainsi qu’avec l’implantation de ces langages. Plusieurs styles de programmation seront vus, tels la programmation fonctionnelle, la programmation impérative, la programmation logique. Des langages de programmation représentatifs seront étudiés à tour de rôle pour explorer chaque style de programmation et, lorsque nécessaire pour expliquer certains concepts, des exemples seront tirés d’autres langages. Nous ne cherchons pas à former des spécialistes d’aucun des langages étudiés, mais plutôt à donner une solide formation de base qui permettra à l’étudiant(e) de maı̂triser en peu de temps n’importe quel nouveau langage. Des travaux de programmation permettrons aux étudiant(e)s de confronter dans la pratique les concepts présentés dans le cours. Le cours n’est cependant pas un cours de programmation et il n’entend pas non plus enseigner certains langages: il se concentre sur les concepts théoriques sous-jacents. Sujets traités Syntaxe, sémantique, types, interprétation et compilation, structures de contrôle, représentations des données, portée, passage d’arguments, gestion mémoire, procédures, traitement de listes, fonctions d’ordre supérieur, macros, variables et environnements, . . . 1 Manuel recommandé Ravi Sethi, Programming Languages — Concepts and Constructs, 2e édition, Addison-Wesley. Autres manuels recommandés • Benjamin C. Pierce, Types and Programming Languages, MIT Press. • Simon Thompson, Haskell: The Craft of Functional Programming, 2e édition, Addison-Wesley. • Paul, Hudak, The Haskell School of Expression, Cambridge University Press. Horaire Jour Lundi Mardi Mercredi 1er Nov 20 Déc Heure 12h30-13h30 13h30-15h30 8h30-10h30 13h30-15h30 13h30-16h15 Lieu 1355 1355 1340 & X-115 1355 1140 Type Cours Cours Démonstration Intra Final Évaluation Il y aura 3 travaux pratiques de 15 points chacun et deux examens de 25 points chacun, plus 5 points sur les exercices hebdomadaires. La note finale sur 100 sera convertie en note litérale à la fin du cours seulement, selon un barème qui dépendra de la moyenne du groupe et de la répartition des notes des étudiants. Un total aux deux examens inférieur à 25 points (i.e. la moitié des points) est éliminatoire. Rappel Le plagiat et le copiage sont des fautes graves passibles de sanctions disciplinaires. Dans ce cours, nous prendrons toutes les mesures que nous jugeons nécessaires pour dépister et contrer ce genre d’activités. (voir http://www.secgen.umontreal.ca/pdf/reglem/francais/sec 30/ens30 3.pdf) 2