Besoin de se dégourdir les doigts ?
Rédigé par Fred - - 3 commentairesParfois on a (j’ai) envie de coder (ou faire coder des étudiants) et on ne sait pas quoi faire — ou alors on veut s’entrainer, tester de nouvelles choses. Voici une liste non-exhaustive de sites web — non testés pour la plupart — qui proposent des exercices pour apprendre à programmer, des défis pour faire s’affronter des programmes, voire pour gagner de l’argent (mais ce n’est pas le sujet).
En fait, l’idée de l’article est parti de la lecture de ce site : http://inventwithpython.com/blog/2012/02/20/i-need-practice-programming-49-ideas-for-game-clones-to-code/. Et effectivement, coder des petits jeux, c’est toujours plus sympa que faire des cribles d’Ératosthène ou des suites de fibonacci. Mais ça prend plus de temps… (Je mets quand même certains sites comme projecteuler, parce que je crois que j’ai commencé par lui, et qu’il est quand même relativement connu — me semble-t-il.)
Les sites qui permettent d’apprendre à coder sont tout aussi sympa si
on veut changer de langages, mais bien souvent, ils partent from
scratch et quand on connaît quelques langages (et même un seul), il
suffit — bien souvent — juste de connaître la syntaxe du if/for/class
pour être capable de programmer. (Les bonnes pratiques, c’est autre
chose par contre.)
J’ai essayé de regrouper par thème. N’hésitez pas à rajouter des sites.
- des exercices ou challenges, avec parfois la solution des autres,
une fois qu’on a réussi :
- https://www.newbiecontest.org/ : des challenges de programmation, de hacking…, le langage que l’on veut. Vaut le détour.
- https://projecteuler.net/ : exercices assez théoriques, le langage que l’on veut.
- http://codegolf.stackexchange.com/ : le langage que l’on veut, mais souvent le code le plus court gagne. On découvre alors des langages comme Pyth, CJam…
- http://codewars.com/ : limité à CoffeeScript, JavaScript, Python, Ruby, Java, Clojure, Haskell et C#
- https://www.reddit.com/r/dailyprogrammer : voir aussi https://www.reddit.com/r/dailyprogrammer/wiki/index#wiki_other_subreddits
- Non testés, mais dans mes liens :
- https://www.codingame.com/start
- http://exercism.io/
- http://codeforces.com/
- http://rosalind.info/problems/locations/
- https://www.hackerrank.com/
- http://www.codechef.com/
- http://programmingpraxis.com/
- http://www.spoj.com/
- https://www.hackerearth.com/problems/
- https://www.codechef.com/problems/easy
- http://coderbyte.com/CodingArea/Challenges/
- https://www.codingame.com/games
- affronter d’autres programmes :
- http://codegolf.stackexchange.com/questions/tagged/king-of-the-hill (souvent n’importe quel langage)
- http://fightcodegame.com/ (javascript)
- http://www.hacker.org/
- https://robotgame.net/ (python)
- http://leekwars.com/ (langage propre au jeu)
- http://scalatron.github.io/ (scala)
- http://www.battlecode.org/ (MIT, java/scala)
- https://schemaverse.com/ (PL/pgSQL)
- http://vindinium.org/ (n’importe quel langage)
- http://game-ai.gatech.edu/ (python)
- http://robocode.sourceforge.net/ (.NET, java. Attention, sourceforge. Merci Mathieu.)
- http://codecombat.com/
- http://aisandbox.com/home
- voir également https://www.reddit.com/r/gameai/
- spécifiques à un langage :
- refactoring/code review :
- idées de jeux/le programme d’autres personnes à refaire dans un
autre langage :
- http://www.ioccc.org/ : International Obfuscated C Code Contest (des grands malades)
- http://js13kgames.com/ : des jeux en 13 kilobytes
- http://js1k.com/ : en 1024 bytes
- http://ludumdare.com/compo/
- permet de gagner de l’argent/des prix :