Projet final

Le point d'orgue de ce cours est son projet final. Le projet final est votre occasion de mettre à profit vos nouvelles connaissances en programmation et de développer votre propre logiciel. Tant que votre projet s'appuie sur les leçons de ce cours, la nature de votre projet dépend entièrement de vous. Vous pouvez réaliser votre projet dans n'importe quel langage. Vous êtes libre d'utiliser une autre infrastructure que CS50 Codespace. Tout ce que nous vous demandons, c'est de construire quelque chose qui vous intéresse, de résoudre un problème concret, d'avoir un impact sur votre communauté ou de changer le monde. Efforcez-vous de créer quelque chose qui survivra à ce cours.

Dans la mesure où le développement de logiciels est rarement un effort individuel, vous avez la possibilité de collaborer avec un ou deux camarades de classe pour ce projet final. Il va sans dire que l'on attend de chaque étudiant d'un tel groupe qu'il contribue de manière égale à la conception et à la réalisation du projet de ce groupe. De plus, on s'attend à ce que la portée d'un projet de groupe de deux ou trois personnes soit respectivement le double ou le triple de celle d'un projet individuel typique. Un projet individuel, remarquez bien, devrait impliquer plus de temps et d'efforts que ne le requiert chacun des ensembles de problèmes du cours.

Idées

  • une application Web utilisant JavaScript, Python et SQL
  • une application iOS utilisant Swift
  • un jeu utilisant Lua avec LÖVE
  • une application Android utilisant Java
  • une extension Chrome utilisant JavaScript
  • un programme en ligne de commande utilisant C
  • une application matérielle pour laquelle vous programmez un appareil

Commencer

Créer un projet entier peut sembler intimidant. Voici quelques questions auxquelles vous devriez réfléchir au début :

  • Que fera votre logiciel ? Quelles fonctionnalités aura-t-il ? Comment sera-t-il exécuté ?
  • Quelles nouvelles compétences devrez-vous acquérir ? Quels sujets devrez-vous rechercher ?
  • Si vous travaillez avec un ou deux camarades de classe, qui fera quoi ?
  • Dans le monde des logiciels, presque tout prend plus de temps à mettre en œuvre que prévu. Et donc, il n'est pas rare d'accomplir moins de choses que prévu dans un laps de temps déterminé. Que pourriez-vous considérer comme un bon résultat pour votre projet ? Un meilleur résultat ? Le meilleur résultat ?

Envisagez de vous fixer des jalons pour vous maintenir sur la bonne voie.

Si vous utilisez CS50 Codespace, créez un répertoire appelé project pour stocker le code source de votre projet et d'autres fichiers. Vous êtes libre de développer votre projet en dehors de CS50 Codespace.

Comment soumettre

Étape 1 sur 3

Créez une courte vidéo (qui ne dure pas plus de 3 minutes) dans laquelle vous présentez votre projet au monde. Votre vidéo doit commencer par une section d'ouverture qui affiche :

  • le titre de votre projet ;
  • votre nom ;
  • vos noms d'utilisateur GitHub et edX ;
  • votre ville et votre pays ;
  • et la date à laquelle vous avez enregistré cette vidéo.

Elle doit ensuite montrer votre projet en action, comme avec des diapositives, des captures d'écran, une voix off et/ou une action en direct. Consultez howtogeek.com/205742/how-to-record-your-windows-mac-linux-android-or-ios-screen pour obtenir des conseils sur la façon de réaliser un « screencast », bien que vous puissiez utiliser une caméra réelle. Téléchargez votre vidéo sur YouTube (ou, si elle est bloquée dans votre pays, un site similaire) et notez son URL ; il est possible de la marquer comme « non répertoriée », mais ne la marquez pas comme « privée ».

Soumettez ce formulaire !

Étape 2 sur 3

Créez un fichier texte README.md (nommé exactement ainsi !) dans votre dossier project qui explique votre projet. Ce fichier doit inclure : le titre de votre projet, l'URL de votre vidéo (créée à l'étape 1 ci-dessus) ; et une description de votre projet. Vous pouvez utiliser le modèle ci-dessous.

  # VOTRE TITRE DE PROJET
  #### Démo vidéo : <URL ICI>
  #### Description :
  TODO

Si vous n'êtes pas familier avec la syntaxe Markdown, vous trouverez utile la syntaxe d'écriture et de formatage de base de GitHub. Vous pouvez également prévisualiser votre fichier .md en cliquant sur l'icône « aperçu » comme expliqué ici : Aperçu Markdown dans vscode. Les README de projet logiciel standard peuvent souvent contenir des milliers ou des dizaines de milliers de mots ; le vôtre n'a pas besoin d'être aussi long, mais doit contenir au moins plusieurs centaines de mots qui décrivent les choses en détail !

Exécutez la commande submit50 ci-dessous depuis votre répertoire project (ou depuis le répertoire qui contient le fichier README.md et le code de votre projet, qui doit également être soumis), en vous connectant avec votre nom d'utilisateur et votre mot de passe GitHub lorsque vous y êtes invité. Pour des raisons de sécurité, vous verrez des astérisques à la place des caractères réels de votre mot de passe.

  submit50 cs50/problems/2024/x/project
Des difficultés à soumettre ?

Si vous rencontrez des problèmes parce que votre projet est trop volumineux, essayez de compresser tout le contenu de ce répertoire (à l'exception du fichier README.md) et soumettez-le ensuite. S'il est toujours trop volumineux, essayez de supprimer certains fichiers de configuration, de réduire la taille de votre soumission à moins de 100 Mo, ou essayez de télécharger directement en utilisant l'interface Web de GitHub en visitant github.com/me50/USERNAME (où USERNAME est votre propre nom d'utilisateur GitHub) et en faisant glisser et en déposant manuellement des dossiers, en vous assurant que lorsque vous téléchargez, vous le faites vers votre branche cs50/problems/2024/x/project, sinon le système ne pourra pas le vérifier !

Étape 3 sur 3

Assurez-vous de visiter votre carnet de notes sur cs50.me/cs50x quelques minutes après l'envoi. Ce n'est qu'en chargeant votre carnet de notes que le système peut vérifier si vous avez terminé le cours, et c'est également ce qui déclenche la génération (instantanée) de votre certificat CS50 gratuit et la génération (dans les 30 jours) du certificat vérifié d'edX, si vous avez terminé toutes les autres missions. Assurez-vous de réclamer votre certificat gratuit (en suivant le lien en haut de votre carnet de notes) avant le 1er janvier 2025.

C'est tout ! Votre projet devrait être noté dans quelques minutes. Si vous ne voyez aucun résultat dans votre carnet de notes, il est préférable de le soumettre à nouveau (en exécutant la commande submit50 ci-dessus) avec uniquement votre fichier README.md cette fois. Inutile de soumettre à nouveau votre formulaire.

C'était CS50x !