Le cursus de la première année se compose de 12 cours (correspondant chacun à un Elément Constitutif ou EC), répartis en 5 Unités d’Enseignements (UE). Premier semestre (S1) UE introduction à l’informatique L’objectif de cette UE est de permettre à l’étudiant de comprendre le fonctionnement de son ordinateur et de savoir ce qu’on peut lui demander en termes de résolution de problèmes. Fondements des ordinateurs Ce cours aborde la représentation des nombres en machine (bases, signe, virgule flottante), la manipulation pratique des expressions logiques (approche algébrique, circuits séquentiels et combinatoires), l’architecture des ordinateurs, le langage machine et les bases de la programmation en assembleur. Introduction aux langages de programmation Ce cours présente les invariants communs aux langages de programmation, introduit à la maîtrise des outils génériques et de l’environnement de travail, ainsi qu’au traitement de problèmes au travers de langages de programmation variés. Langage fonctionnel Lisp, langage phare de l’intelligence artificielle, est aussi celui dans lequel il est le plus facile de fabriquer rapidement des méthodes de traitement de problèmes. Simple à mettre en oeuvre et facile à comprendre, il a été choisi ici comme langage d’introduction à la programmation. Il permet de comprendre et d’utiliser les concepts fondamentaux de la programmation, la programmation fonctionnelle, les listes chaînées, le traitement récursif, en préparation aux cours suivants qui amèneront l’étudiant à mettre en oeuvre ces concepts dans des langages plus performants. UE mathématiques L’objectif de cette petite formation aux mathématiques et à la logique est de donner à l’étudiant les bases minimales nécessaires à l’informaticien. Introduction au raisonnement scientifique Ce cours montre combien la logique et l’informatique gagnent à se nourrir mutuellement. L’informatique allège le raisonnement, le transforme. L’idée qu’on se fait de la vérité est différente en mathématique et en informatique. En mathématique, un calcul doit aboutir à un résultat juste ; en informatique, il aboutit à un résultat approché. Ce cours présentera les bases du raisonnement logique, de sa syntaxe, de la logique intuitionniste et des systèmes axiomatiques ; la notion de vérité et la sémantique des modèles logiques. Introduction aux mathématiques générales Ce cours fait le lien entre les mathématiques et l’expérimentation sur ordinateur, qui permet de simuler des situations en évolution et de traiter de nombreux problèmes auxquels la théorie ne suffit souvent pas à répondre. Il reprend et développe ce qui est appris au lycée, même pour les étudiants qui croient avoir tout oublié, de façon graduelle et flexible : se concentrer sur le bagage minimal, donner de nombreux exemples, et mener en parallèle le traitement sur ordinateur pour visualiser, tester, confronter les résultats avec la théorie, et pour s’en affranchir quand elle devient impuissante. UE Techniques d’expression Logique de l’interprétation L’objectif de cette UE, composée d’un seul cours, est de faire comprendre aux étudiants la logique des discours et de l’interprétation du langage. Les règles grammaticales et de ponctuation y seront abordées mais ne seront pas le centre du cours. En illustrant le propos par des discours tant politiques que juridiques ou publicitaires, ce cours donne aux étudiants les moyens de comprendre tout discours, dans ce qu’il dit et dans ce qu’il ne dit pas ou simplement dans ce qu’il présuppose. Deuxième semestre (S2) UE Langages de programmation Les langages de programmation appartiennent à plusieurs familles, qui se différencient suivant leur façon de traiter les problèmes. L’objectif de cette UE est d’apprendre à l’étudiant à maîtriser la programmation dans plusieurs de ces familles, dites paradigmes de programmation. Elle se compose du cours de langage impératif et d’un cours pris parmi les deux autres. Langage à objet Ce cours vise à donner les bases de la programmation par objets ; à travers la conception, le développement et la mise au point de projets personnels, l’étudiant développera une maîtrise de ce paradigme de programmation en Squeak, qu’il pourra appliquer ensuite dans d’autres langages de programmation de la même famille (Java, Python, etc.). Langage logique Ce cours aborde la programmation en Prolog, un langage interprété clair et concis qui permet une grande rapidité d’écriture. Nous étudierons les constructions fondamentales de la programmation logique (faits, variables, règles, questions), la programmation base de données, la programmation récursive, l’unification, la coupure et la négation, les prédicats extra-logiques. Nous aborderons la programmation non déterministe, les structures de données incomplètes avec quelques applications dans des programmes de jeux et des systèmes experts. Langage impératif Ce cours présente les bases de l’implémentation et de la compilation en langage C, le plus répandu des langages de programmation impératifs. On abordera les types de données élémentaires, les chaînes de caractères, les structures, les pointeurs et les tableaux. Le cours commence par de nombreux exercices d’implémentation de tous petits programmes, pour déboucher en fin de semestre sur les capacités nécessaires à la compréhension et au développement de programmes complets. UE Introduction à la psychologie Méthodologie de l’enquête : entretien, questionnaires, analyse de contenu L’objectif de ce cours est de présenter la méthode d’enquête en exposant ses différentes phases, de la conception à la remise du rapport. L’enquête occupe, de fait, une place particulière, à l’interface de l’observation et de l’expérimentation. Le cours envisage successivement la conception générale de l’enquête, le passage de la formulation d’une question à la formulation d’une problématique, la réalisation de la pré-enquête, les entretiens, l’analyse des entretiens, la réalisation du questionnaire, la passation du questionnaire, l’analyse des résultats et la rédaction du rapport. Communication et influence Ce cours aborde essentiellement la communication à visée persuasive. Après avoir défini la persuasion le cours aborde la notion d’attitude et les modalités du changement d’attitude puis les caractéristiques de la communication, les caractéristiques de la source d’influence, les modalités de l’argumentation et de la persuasion, l’appel à la peur. Les différentes théories susceptibles de rendre compte de l’influence sont également envisagées ainsi que les mécanismes de résistance à la persuasion. UE Langue vivante Anglais pour informaticiens L’objectif de cette UE, composée d’un seul cours, est de permettre à l’étudiant d’acquérir les bases de l’anglais pour informaticiens, de manière à pouvoir lire et écrire des documentations et des courriers techniques. Dans la suite du cursus, l’étudiant apprendra à analyser et à résoudre des problèmes réels de complexité croissante, à comprendre le fonctionnement des systèmes et des réseaux, l’architecture des machines, et s’initiera à la conception de logiciels, tout en poursuivant l’étude de la psychologie. Le détail des cours sera donné ultérieurement.