Programme de SIO1

un professeur, deux matières
Le professeur de mathématiques en première année de BTS SIO est en charge de deux enseignements:
  • les mathématiques pour l'informatique (appelées U21): essentiellement en classe entière soit 2h par semaine.
    Il s'agit d'acquérir ou d'approfondir différentes connaissances en mathématiques utiles pour l'informatique. L'évaluation finale de cet enseignement est une épreuve écrite qui à lieu en fin de deuxième année.

    Le programme comporte 5 grands thèmes à traiter sur l'ensemble des deux années de BTS:
    • Système de numération, Arithmétique
    • Suites numériques
    • Logique, Ensemble
    • Matrices
    • Graphes et ordonnancement

    A noter qu'il existe une option mathématique au système de notation avantageux qui permet de gagner des points pour le BTS et mieux se former à la poursuite d'étude pour les élèves volontaires. Elle s'appuie sur l'étude de fonctions et les statistiques.

  • l'algorithmique appliquée (appelée U22): essentiellement en demi groupe 1h par semaine.
    Il s'agit de développer quelque soit sa future spécialité (SISR ou SLAM) un minimum de compétence en algorithmique. L'algorithmique consiste à élaborer des démarches claires et rigoureuses en vue de résoudre un problème.

    L'algorithmique est une discipline "papier". Néanmoins, il est intéressant de pouvoir vérifier sa démarche et l'améliorer en "essayant" son algorithme sur ordinateur. On a alors besoin de traduire l'algorithme dans un langage de programmation: c'est l'implémentation. Le langage que j'ai choisi de retenir c'est Python 3.2. Pourquoi? parce qu'il donne des bonnes habitudes de présentation du code, qu'il impose de penser son programme, que c'est le langage majoritairement choisi au niveau académique et national, qu'il est gratuit et facile à installer et très proche du langage naturel (anglais!).

    L'évaluation a lieu avant la fin de la première année sous forme de CCF (contrôle en cours de formation). Le nom est trompeur. Il s'agit d'un oral ponctuel en dehors des heures de cours dont l'examinateur est le professeur. Nous organisons généralement deux sessions: une en février (pour les élèves volontaires) et l'autre fin avril. La note de cet oral compte coefficient 2 pour les épreuves de BTS.

"Pourquoi c'est le prof de maths qui fait l'algorithmique et pas le prof de développement?"

D'abord, parce que c'est ce que demande le bulletin officiel. Même si dans certains lycée, cela ne peut être respecté car aucun professeur de mathématiques n'a accepté la charge de cet enseignement, c'est le cas dans la plupart des lycées.

Ensuite, les deux matières sont liées. En effet, les sujets d'algorithmique peuvent être des problèmes de mathématiques (trouver la racine carrée d'un nombre par exemple) ou d'informatique, qui utilise des modèles mathématiques (une image peut être assimilée un tableau de nombres par exemple).

Les professeurs de mathématiques sont habitués à développer et utiliser des algorithmes, généralement en langage naturel, et de plus en plus avec une implémentation. De plus, avec l'introduction d'algorithmie dans les programmes du lycée et la création de la spécialité Informatique en Terminale S, nombre d'entre nous se sont formés. Bref, le professeur de mathématiques est compétent, même si son point de vue est probablement légèrement différent de celui du professeur de développement.


"Pourquoi encore un autre langage que celui de développement?"

D'abord, parce que c'est ce que recommande le bulletin officiel.

Ensuite, parce qu'on pense que vous en êtes capable et que cela est enrichissant. Vous allez apprendre différents langages: Java, PHP et donc un peu de Python. L'idée est de multiplier les langages pour que vous preniez conscience de ce que ces langages ont en commun. Actuellement, vous pouvez observer des guerres de clochers pour savoir si Java ou C# est le meilleur/plus répandu des langages. La vérité c'est que si vous espérez apprendre aujourd'hui un langage et garder le même jusqu'à votre retraite, vous vous illusionnez. Les modes en matière de langage se font et se défont. Apprendre un langage ne permet pas de distinguer ce qui est spécifique à ce langage et ce qui serait vrai aussi dans d'autres langages. En apprendre plusieurs est censé vous permettre de prendre du recul et percevoir l'universalité des structures. Après vous serez capable de vous adapter rapidement à tout nouveau langage.