Projet de programmation CMI ISI

Informations

Langue d'enseignement : Français
Crédits ECTS: 3

Programme

  • Heures d'enseignement dispensées à l'étudiant : 10 heures
  • Temps de travail personnel : 80 heures

Objectifs et compétences

Objectifs :
Acquisition et mise en application de principes et techniques

liés au développement de programmes: programmation modulaire

et/ou objet, gestion des erreurs, tests, compilation,

programmation système, programmation réseau, programmation

répartie, programmation parallèle, etc.

Initiation et expérience pratique de génie logiciel : réalisation

d'un cahier des charges, spécifications, architecture, tests,

travail en équipe, planification et répartition du travail,

rédaction de documents techniques, etc.

Initiation à une pratique scientifique : justification des choix,

critiques du travail réalisé, assimilation de nouveaux concepts,

recherche et analyse de l'existant, bibliographie, techniques de

rédaction, etc.

Compétences :
  • Être en capacité d'investir ses connaissances et aptitudes dans le cadre d'une mise en situation professionnelle.
  • Travailler en équipe dans différents contextes, y compris avec des personnes issues de disciplines différentes : s'intégrer, se positionner, collaborer, communiquer et rendre compte.

  • Être autonome dans le travail
  • Etre capable de travailler en équipe

  • Savoir traiter, analyser et interpréter des données qualitatives et quantitatives, dans des contextes variés.
  • Mettre en œuvre des techniques de programmation (objet) dans des langages de calcul comme scilab, R, python.
  • Maîtriser les concepts de base des architectures logicielles, aussi bien pour les langages de programmation modulaires que pour les langages par objets.
  • Comprendre et expliquer un algorithme donné répondant à un problème fixé
  • Mettre au point un nouvel algorithme ou adapter un algorithme existant pour répondre à un problème donné

  • Analyser la complexité et les limites de validité d'une solution algorithmique donnée
  • Comparer l'utilisation de différentes structures de données dans le cadre de la résolution d'un problème donné
  • Adapter une structure de données existante pour répondre à un problème fixé
  • Distinguer diverses approches algorithmiques (e.g., incrémentale, diviser pour régner, glouton)
  • Utiliser des outils et des environnements de développement d'applications logicielles et d'automatisation de tests
  • Connaître et respecter les bonnes pratiques à adopter en programmation afin de réaliser des programmes lisibles et exploitables par des tiers
  • Utiliser une bibliothèque (API) en consultant sa documentation technique

Organisation pédagogique

le mode de fonctionnement de l'UE est présenté au début des enseignements

Contrôle des connaissances

Session 1

Evaluation continue individuelle (coef. 0.4)

Evaluation continue de groupe (coef. 0.6)

Session 2

Examen terminal QCM (coef. 1) ou Oral selon faible effectif

Lectures recommandées

l'ensemble des références bibliographiques est communiqué au début des enseignements

Responsable de l'unité d'enseignement

Bruno Pinaud

Enseignants

la composition de l'ensemble de l'équipe pédagogique est communiquée au début des enseignements