Wednesday, April 19, 2017

Where can I find programming puzzles and challenges?

Question
I'm trying to find places where I can hone my craft outside the context of school or work. Are there places online, or books available, where I can access lists of programming puzzles or challenges?
Answer

Books

Communities and Blogs

Game sites and ongoing contests

  • Codingame - fun games (solo and multiplayer) to practice your coding skills. Supports 25+ programming languages.
  • CodeChef
  • Code Combat - Javascript and Python solo and multiplayer games in the style of a strategy game.
  • Hacker.org Challenge — "The hacker.org challenges are a series of puzzles, tricks, tests, and brainteasers designed to probe the depths your hacking skills. To master this series you will need to crack cryptography, write clever code, and dissect the impenetrable; and in the process you will enrich your understanding of the world of hacking."
  • Pex for fun — game from Microsoft research where you duel against other programmers
  • Rankk — "You start with the easy levels and progress to the intermediate and hard levels by solving the minimum number of required challenges at each level. The journey to the top is an arduous yet rewarding one. You need to be sufficiently determined and persevering to go far. Only a few are expected to reach the apex and attain Geb."
  • TopCoder
  • Google Code Jam—algorithmic puzzles

Language specific

  • 4Clojure (Clojure) — "4Clojure is a resource to help fledgling clojurians learn the language through interactive problems. The first few problems are easy enough that even someone with no prior experience should find the learning curve forgiving. See 'Help' for more information."
  • Prolog Problems (Prolog) — "The purpose of this problem collection is to give you the opportunity to practice your skills in logic programming. Your goal should be to find the most elegant solution of the given problems. Efficiency is important, but logical clarity is even more crucial. Some of the (easy) problems can be trivially solved using built-in predicates. However, in these cases, you learn more if you try to find your own solution."
  • Python Challenge (Python) — "Python Challenge is a game in which each level can be solved by a bit of (Python) programming."
  • Ruby Quiz (Ruby) - "Ruby Quiz is a weekly programming challenge for Ruby programmers in the spirit of the Perl Quiz of the Week. A new Ruby Quiz is sent to the Ruby Talk mailing list each Friday."
  • IOCCC (C) - "A contest to write the most obscure/obfuscated C program. (Fun to try to understand the previous year's entries, or to submit a new one.)"
  • Underhanded C Contest (C) - "contest to turn out code that is malicious, but passes a rigorous inspection, and looks like an honest mistake. (Try to understand previous year's entries, and learn to find similar mistakes in other people's code)"
  • CheckiO - Python programming challenges. Custom "Missions" can be created by members.

Online judges / automatic assessment

Problem lists and contest archives

Security oriented

No comments:

Post a Comment