Introduction au projet Rigel

CS-108

Introduction

Le but du projet de cette année, nommé Rigel en hommage à l'une des étoiles les plus brillantes, est d'écrire un programme de visualisation du ciel nocturne.

La copie d'écran ci-dessous montre à quoi devra ressembler le programme une fois terminé. On y voit une représentation du ciel tel qu'une personne se trouvant sur le site de l'EPFL le 17 février 2020 à 20h17 et regardant en direction du sud le verrait, à supposer que la météo soit clémente.

rigel;64.png
Figure 1 : Un bout du ciel visible de l'EPFL dans la soirée du 17 février 2020

La ligne rouge au bas de l'écran représente l'horizon, et la lettre S placée au dessous indique le sud. Le curseur de la souris est placé sur l'étoile Rigel, de la constellation d'Orion, qui se trouve à cet instant à l'azimut 186° — presque plein sud — et 35° au-dessus de l'horizon, comme indiqué en bas à droite. Les lignes bleues lient entre elles les étoiles formant un certain nombre d'astérismes, tel celui évoquant un nœud papillon vertical auquel Rigel appartient.

Organisation

Le projet se fait par groupes de 2 personnes au maximum. La formation de ces groupes est libre et peut changer au cours du semestre, pour peu que les directives concernant le plagiat soient respectées. En particulier, si deux personnes ayant travaillé en commun se séparent, elles doivent se partager le code et ne peuvent chacune l'emporter en totalité de leur côté.

La mise en œuvre du projet est découpée en 12 étapes hebdomadaires, regroupées en trois parties :

  1. la première partie est composée des étapes 1 à 6,
  2. la seconde partie est composée des étapes 7 à 11,
  3. la troisième partie est composée de l'étape 12, qui est une étape bonus optionnelle et (presque) totalement libre.

Référence

Le projet se base sur la quatrième édition du livre Practical Astronomy with your Computer or Spreadsheet de Peter Duffett-Smith et Jonathan Zwart, dont la totalité des formules de calcul astronomique sont extraites. Ce livre est disponible en version électronique via la bibliothèque de l'EPFL, et peut être téléchargé au format PDF en suivant le lien ci-dessus.

La lecture de ce livre n'est absolument pas obligatoire, mais les personnes désirant plus de détails sur les sujets introduits dans les descriptions des étapes hebdomadaires, ou simplement des explications différentes, pourront s'y reporter. Pour leur faciliter la tâche, chaque fois qu'un concept décrit dans les instructions d'une étape l'est également dans le livre, une référence précise sera donnée.

Notation

Un total de 500 points est attribué durant le semestre, répartis ainsi :

  • projet : 300 350 points,
  • examen intermédiaire : 75 points (annulé en 2020),
  • examen final : 125 150 points.

Les 300 350 points attribués au projet sont répartis de la manière suivante :

  • rendus testés : 90 points (18 points par rendu),
  • rendu intermédiaire : 80 points,
  • rendu final : 110 points,
  • étape 12 : 50 points (uniquement en 2020),
  • test final : 20 points.

Un rendu testé est un rendu qui est évalué automatiquement au moyen de tests unitaires. Il y a 5 rendus testés au cours du semestre, un pour chacune des étapes 2 à 6. Le nombre de points obtenus à un rendu testé est proportionnel au nombre de tests passés avec succès.

Le rendu intermédiaire, qui concerne les étapes 1 à 6, et le rendu final, qui concerne les étapes 7 à 11, sont quant à eux évalués par des correcteurs, et les points attribués en fonction de la qualité du programme. L'efficacité, la concision et l'élégance du code sont pris en compte dans cette évaluation.

Le test final consiste en un test non automatisé (contrairement aux tests unitaires) du bon fonctionnement du projet complet.