Cours de développement I

Quadrimestre 1 -

48 heures

Coordinateur : PBT

Enseignants : PBT, HAL, NRI, MCD, CLG, BIS, BEJ, NPX, DBO, SRE

Description générale du cours

Premier contact avec un langage de programmation de haut niveau.

Java a été choisi pour ses qualités pédagogiques, la simplicité de sa syntaxe et ses mécanismes de programmation défensive. Sa syntaxe permettra d'appréhender bon nombre d'autres langages ensuite.

Matières de base utilisées

Ce cours n'exige aucune compétence particulière bien qu'il suppose une certaine familiarité avec l'ordinateur.

Objectifs

Apprentissage de la construction d'algorithmes cohérents (structures logiques des programmes).

Etude de plusieurs méthodes de représentation des algorithmes.

Approche des paradigmes de la programmation.

Etude de la manipulation de certaines structures de données.

Apprentissage d'un premier langage de programmation

Acquisition de bons réflexes de programmation: modularité, réutilisabilité, documentation, respect des conventions...

Acquis d'apprentissage

Rédiger la résolution d'un problème donné en étapes élémentaires et séquentielles, exprimées dans un pseudo-code dont la syntaxe sera scrupuleusement respectée.

Maitriser les structures alternatives et itératives contrôlant le déroulement d'un algorithme.

Gérer le découpage modulaire, c'est-à-dire la division d'un problème important en une combinaison de sous-problèmes plus élémentaires.

Savoir reproduire et adapter les modèles algorithmiques classiques présentés aux cours (par ex. algorithmes de tri, traitements de rupture, etc.) à des problèmes similaires.

Identifier les données et les résultats attendus d'un problème donné, et représenter et mettre en pratique les structures de données adéquates à utiliser pour sa résolution.

Connaitre, comprendre et expliquer des concepts de base d'un langage de haut niveau. Notamment: types et littéraux, variables locales, expressions, assignations, instructions, exceptions, structures alternatives, structures répétitives, modules, tableaux...

Analyser l'environnement dans lequel s'inscrit l'activité de programmation; compilation, interprétation, déverminage, analyse, déploiement...

Écrire un programme simple dans un langage de haut niveau.

Appliquer les bonnes pratiques de la programmation (modularité, lisibilité,documentation du code, réutilisabilité...)

Compléter son information pour de nouveaux besoins en faisant des recherches dans la documentation du langage (du style API Java), comprendre cette documentation et l'utiliser pour mettre en pratique ces nouveautés.

Mettre en oeuvre les capacités de lecture, d'écriture et d'expression orale sanctionnée par le CESS au service de l'activité d'apprentissage.

Être attentif aux échéances et gérer son calendrier. Notamment lorsque les détails sont donnés oralement.

Plan du cours

Notions fondamentales

  • Etapes dans la résolution d'un problème
  • Procédures de résolution : composants d'une marche à suivre
  • L'ordinateur comme exécutant des programmes
  • Développer en Java, premier survol
  • Lisibilité et javadoc

Algorithmes séquentiels

  • Variables et types
  • Opérateurs et expressions
  • Algorithmes de base
  • Notion de package, types et littéraux

Les structures alternatives

  • si - alors - sinon
  • selon que

Les modules

  • Paramètres
  • Variables locales
  • Les tests

Les variables structurées

Les structures répétitives

  • pour
  • tant que

Les chaines

Les tableaux

  • Notion de variable indicée
  • Algorithmes de base : parcours, recherche

Le tri

Bibliographie

  • Le syllabus du cours
  • Les notes et exemples pris pendant le cours.