Gdzie mogę znaleźć puzzle programistyczne i wyzwania? [Zamknięte]

167

Próbuję znaleźć miejsca, w których mogę doskonalić swoje rzemiosło poza kontekstem szkoły lub pracy. Czy są dostępne miejsca online lub książki, w których mogę uzyskać dostęp do list zagadek programistycznych lub wyzwań?

cmcculloh
źródło

Odpowiedzi:

293

Uwaga moderatora: ma to być lista kanoniczna; sprawdź, czy Twoja sugestia została już dodana do odpowiedzi. Jeśli nie, edytuj odpowiedź, aby dodać swoją, najlepiej z wyjaśnieniem lub powodem, dla którego ją sugerujesz.

Na stosie wymiany

Wybierz tag, śledź nowe opublikowane pytania i spróbuj je rozwiązać. Jeśli znajdziesz dobry, dodaj go do zakładek w celu późniejszego użycia:

Książki

Społeczności i blogi

Witryny z grami i trwające konkursy

  • Codingame - zabawne gry (solo i dla wielu graczy), aby ćwiczyć umiejętności kodowania. Obsługuje ponad 25 języków programowania.
  • CodeChef
  • Code Combat - gry solo i wieloosobowe JavaScript i Python w stylu gry strategicznej.
  • Wyzwanie Hacker.org - „Wyzwania hacker.org to seria łamigłówek, sztuczek, testów i łamigłówek zaprojektowanych w celu zbadania głębi twoich umiejętności hakerskich. Aby opanować tę serię, musisz złamać kryptografię, napisać sprytny kod i przeanalizować nieprzeniknione, a tym samym wzbogacisz swoje zrozumienie świata hakowania ”.
  • Pex for fun - gra z badań Microsoft, w której pojedynkujesz się z innymi programistami
  • Rankk - „Zaczynasz od łatwych poziomów i przechodzisz do poziomów pośrednich i trudnych, rozwiązując minimalną liczbę wymaganych wyzwań na każdym poziomie. Podróż na szczyt jest uciążliwa, ale satysfakcjonująca. Musisz być wystarczająco zdeterminowany i wytrwały posunąć się daleko. Oczekuje się, że tylko nieliczni osiągną szczyt i Geb ”.
  • TopCoder
  • Google Code Jam - łamigłówki algorytmiczne

Specyficzne dla języka

  • 4Clojure (Clojure) - „4Clojure jest zasobem, który pomaga młodym klojurom uczyć się języka poprzez interaktywne problemy. Pierwsze kilka problemów jest na tyle łatwe, że nawet osoba bez wcześniejszego doświadczenia powinna znaleźć wybaczającą krzywą uczenia się. Aby uzyskać więcej informacji, zobacz„ Pomoc ”. „

  • Prolog Problems (Prolog) - „Celem tego zbioru problemów jest umożliwienie ci ćwiczenia swoich umiejętności programowania logicznego. Twoim celem powinno być znalezienie najbardziej eleganckiego rozwiązania danych problemów. Wydajność jest ważna, ale logiczna przejrzystość jest jeszcze bardziej istotne. Niektóre (łatwe) problemy można w prosty sposób rozwiązać za pomocą wbudowanych predykatów. Jednak w takich przypadkach dowiesz się więcej, jeśli spróbujesz znaleźć własne rozwiązanie. ”

  • Python Challenge (Python) - „Python Challenge to gra, w której każdy poziom można rozwiązać za pomocą programowania (Python)”.

  • Ruby Quiz (Ruby) - „Ruby Quiz to cotygodniowe wyzwanie programistyczne dla programistów Ruby w duchu Perl Quiz tygodnia. W każdy piątek wysyłany jest nowy Ruby Quiz na listę mailingową Ruby Talk”.

  • IOCCC (C) - „Konkurs na napisanie najbardziej niejasnego / zaciemnionego programu w języku C. (Fajnie jest spróbować zrozumieć wpisy z poprzedniego roku lub przesłać nowy.)”

  • Underhanded C Contest (C) - „konkurs na wyłudzenie kodu, który jest złośliwy, ale przechodzi rygorystyczną kontrolę i wygląda jak uczciwy błąd. (Spróbuj zrozumieć wpisy z poprzedniego roku i nauczyć się znajdować podobne błędy w kodzie innych osób)”

  • CheckiO - Wyzwania programistyczne w języku Python. Członkowie mogą tworzyć niestandardowe „Misje”.

Sędziowie online / automatyczna ocena

Listy problemów i archiwa konkursów

Zorientowane na bezpieczeństwo

grokus
źródło
Spróbuj tych wyzwań
Umesh Kushwaha,