Cette année je suis responsable du cours L02 Logiciels Libres, à la troisième année de la licence en informatique de l'Institut Galilée, Université Paris 13.
Cette page est la page web officielle du cours.
L'évaluation est en deux parties :
Aucune tentative de triche ne sera tolérée. En particulier, me présenter du code ou du texte écrit par des autre comme s'il aurait était par vous impliquera une note de 0 (zéro) sur 20.
make checkpour exécuter la testsuite, et
make distpour générer une tarball des sources, que l'utilisateur final pourra configurer et compiler même sans avoir Autoconf et Automake.
Plusieurs étudiants qui ne se sentent pas encore à l'aise en utilisant Unix m'ont demandé des autres ressources. Même si ce n'est pas strictement indispensable pour ce cours, je conseille le matériel suivant :
Présentations :
La distribution «Kali Linux» -- [nom éliminé] Ruby tutorial -- [nom éliminé] Prolog tutorial -- [nom éliminé] GCC: comment ça marche -- [nom éliminé] GCC: comment ça marche -- [nom éliminé] Forth programming tutorial (to learn, read the introduction on the GForth manual) -- [nom éliminé] Guile tutorial -- [nom éliminé] Scheme programming tutorial (to learn, read the introduction on the Guile manual)Emacs(je l'ai présenté moi-même)autoit(video scripting, à confirmer) [I checked. If it's this one: https://en.wikipedia.org/wiki/AutoIt then no, it's not free software, and by the way it only runs on windows]
Projets :
Language recognition (en C ou en OCaml ou C++ ou Lisp): noninteractive, read from stdin, write the language name on stdout -- [nom éliminé] Un hack utilisant SQL pour un bout différent des bases de données. Chess game (two players only: no artificial intelligence, or completely random artificial intelligence) 8-bit style sound player -- [nom éliminé] +Othello (two players only: no artificial intelligence, or completely random artificial intelligence) -- [nom éliminé] Tetris (C++) -- [nom éliminé] +Arithmetic expression simplifier (variables, integers, +, -, * /, parenthèses) : any language with a free software implementation [Utiliser un algorithme de rechercche (heuristique) dans un espace d'états] -- [nom éliminé] Sokoban -- [nom éliminé] +Snake -- [nom éliminé] Tic-tac-toe (juste s'il y a l'intelligence artificielle aussi) -- [nom éliminé] Mastermind -- [nom éliminé] Duplicate file search (searches above a given dimension, from a given root directory) Benchmarking software: measuring the performance of another software, drawing graphics and showing statistical information (confidence intervals, normality) Shooter game -- [nom éliminé] Trivial machine translation (dictionaries must be free to reuse and modify aussi: wikidata and dbpedia are ok) Pong -- [nom éliminé] Text editor [graphisme en Java] -- [nom éliminé] Jeu de plateforme 2d en Python -- [nom éliminé] Bataille navale, C -- [nom éliminé] Puissance 4 / Connect 4 (C) -- [nom éliminé] Démineur (C) -- [nom éliminé] Roulette, avec de la complexité ajoutée -- [nom éliminé] +Pendu (C) -- [nom éliminé]Variante modifiée du DémineurÉchecs (C) -- [nom éliminé] «Le compte est bon» (C) -- [nom éliminé] Le jeu des paires / Memory [solveur non interactif, ou pour un joueur humain mais interactif et avec interface graphique] [langage?], ou bien Go -- [nom éliminé] Snake (significant) variant (C) -- [nom éliminé] Pushover (provisoire) -- [nom éliminé] Une variante du pendu avec des changements importants des règles (Python), à confirmer -- [nom éliminé] 2048, C++ -- [nom éliminé] Generate mouse movements on X11 or thru GTK (à confirmer ?) -- [nom éliminé] Launcheur multi-jeu (langage) -- [nom éliminé] Snack (C) -- [nom éliminé] Allumettes (C) -- [nom éliminé]