Źródła zadań do nauki programowania

By 19 listopada 2015ITlogy

Często dostajemy od Was zapytania o to, skąd brać zadania do ćwiczenia programowania. Poniżej więc zestawienie najciekawszych źródeł, które dadzą Wam możliwość nauki.

Project Euler

Wyzwania matematyczne i programistyczne, których trudność rośnie wraz z kolejnymi numerami zadań. Po zalogowaniu możliwość sprawdzenia swojego wyniku. Projekt ten ma sporą tradycję i na niejednym githubie znajdziecie rozwiązania problemów w różnych językach programowania.

Zrzut ekranu 2015-11-19 o 22.49.21

Codility

Większość z Was kojarzy pewnie platformę codility z zadaniami rekrutacyjnymi, które to, nie każdemu przypadają do gustu (dlaczego nie są naszą ulubioną formą weryfikowania wiedzy pisaliśmy tutaj). Jednak na pewno warto sprawdzić tutoriale, które uczą jak podchodzić do takich problemów. Znajdziemy tam też zadania do rozwiązania. Co więcej, na stronie Codility znajdują się też comiesięczne wyzwania programistyczne.

Zrzut ekranu 2015-11-19 o 22.48.20

 

CodeFight

Opcja na testowanie swoich umiejętności … na czas ;) Mamy więc prawdziwą arenę i prawdziwych przeciwników. Jest też opcja training, gdzie po prostu można poćwiczyć. Fajna opcja w szczególności do treningu przed rozmowami rekrutacyjnymi dla juniorów – zadania są dość proste, więc warto sobie je rozwiązywać i ćwiczyć programowanie. Na platformie znajdziecie też turnieje i wyzwania.

Codefight.

Codefight.

Reddit

Międzynarodowy wykop też ma swój dział z wyzwaniami programistycznymi.  Znajdziecie tam różne zadania z podziałem na poziomy trudności.  Propozycje rozwiązań publikowane są w komentarzach, jest to więc też ciekawe źródło do porównania języków programowania między sobą.

For-learning-refreshing-or-just-for-fun-

CodeChef

Wiele zadań na kilku poziomach trudności, ale też wiele wyzwań i konkursów. CodeChef zebrał ponad 100 tysięczną społeczność, która aktywnie udziela się na portalu i współtworzy treści.

Zrzut ekranu 2015-11-19 o 22.51.58

CodingBat

Zadania z Javy i Pythona.

Zrzut ekranu 2015-11-19 o 22.47.05

CodeByte

Kolejna strona z wyzwaniami programistycznymi o różnym poziomie. Aby przesłać swoje rozwiązanie musisz być zalogowany.

Coderbyte-Programming-Game-Challenges-Competitions

TopCoder

Wyzwania, dzięki którym możesz zarobić, społeczność prawie miliona programistów i zadania, które są dość wymagające. Wyzwania dzienne  i tygodniowe wymagają przede wszystkim logicznego myślenia i mogą okazać się trudne. Polecamy raczej bardziej zaawansowanym programistom.

Zrzut ekranu 2015-11-19 o 22.45.33

Exercism.io

Platforma, która uczy również code review. Po wysłaniu swojego rozwiązania możesz ocenić rozwiązania innych. Platforma stawia na komunikację między użytkownikami, bo bardzo bliska jest jej idea, że to właśnie rozmawiając o kodzie możesz nauczyć się najwięcej. Przykład takiej uczącej rozmowy znajdziecie w tym linku.

exercism.io_

CodeWars

To co wyróżnia CodeWars to nauka TDD (test driven development)! Są też elementy grywalizacji i rywalizacji i ładny interfejs. Więcej  o platformie znajdziecie w tym filmie.

Zrzut ekranu 2015-11-19 o 22.42.39

CodinGame

Pisanie kodu. by grać w grę w wersji nietrywialnej. Pamiętam, że sama bawiłam się tymi zadaniami gdy uczyłam się programowania i całkiem mnie wciągnęło. Do wyboru wiele gier, a w każdej kilka wyzwań. Ciekawa opcja by zobaczyć, że te for’y czy if’y faktycznie coś robią ;)

Untitled

HackerEarth

Na stronie znajdziecie wyzwania, które są też ofertami pracy bądź/i konkursami z nagrodami. Ale na stronie można znaleźć też zadania dla początkujących!

Zrzut ekranu 2015-11-19 o 22.40.14

HakerRank

Strona zawiera sporo ciekawych wyzwań, jak i zadań. Na początku określa się swoje obszary zainteresowania, by jeszcze lepiej dobierała nam materiał do ćwiczeń, co jest bardzo fajnym pomysłem.Zrzut ekranu 2015-11-19 o 22.17.13

CodeAbbey

Minimalistycznie i konkretnie, dużo zadań, które mogą przydać się ma początku Twojej nauki.

Zrzut ekranu 2015-11-19 o 22.36.30

Rosalind

Zadania związane z bioinformatyką, ale też duży zbiór tych o algorytmach, czy podstawach pythona. Umieszczenie swojego rozwiązania możliwe po zalogowaniu.

Zrzut ekranu 2015-11-19 o 22.34.40

Sphere online jugde

Zadania algorytmiczne, bez konkretnej specjalizacji. Możliwość wysłania rozwiązania do oceny i porównania z innymi.

CheckiO

Gra dla programistów, w której nie tylko poprawisz swoje umiejętności programistyczne, ale także możesz wyzwać współpracowników na pojedynek!

EMPIRE of CODE

Kolejna ‚growa’ propozycja dla programistów, która skupia się na konflikcie JavaScript vs Python. Wprawdzie programowanie nie jest stricte wymagane, jest to nadal ciekawy sposób na naukę.

Tyle od nas, choć zdajemy sobie sprawę, że tematu nie wyczerpaliśmy, a stron z zadaniami jest znacznie więcej – jeśli masz jakaś ulubioną, koniecznie daj znać. Wiemy natomiast jedno, to są naprawdę fajne i różnorodne  źródła  – na pewno znajdziesz tam coś dla siebie.  Wymówka nie wiem co programować chyba własnie przestała istnieć :)

  • 11
  •  
  •  
  • 9
  •  
  • Godziu

    Od siebie polecę jeszcze codingbat :-)

  • Verdandi

    Jeszcze jest HakerRank, a także Rosalind – to drugie specyficzne o tyle, iż zadania tam odnoszą się do tematyki bioinformatycznej :)

  • Świetny post, nie znałam większości tych stron. Zacznę od projekt Euler. Na 3 najwyższych levelach (18lvl, 19lvl, 20lvl) nie ma ani jednego Polaka. Można zostać pionierem! :D

  • A co ze spoj.com? Czy ta platforma sobie czymś nagrabiła?

    • W żadnym wypadku, po prostu nie znamy jeszcze całego Internetu ;) Dzięki za linka, dodajemy do artykułu!

  • Oxy

    no i jeśli chodzi o podstawy programowania i przygode np. z Pythonem to obowiązkowo: https://www.checkio.org/

    łatwo i przyjemnie, ciekawe zadania a https://empireofcode.com/ jeszcze wprowadza elementy rozgrywki i rywalizacji pomiędzy JS a Pythonem

  • Krzysiek Witczak

    SQL-Zoo. Fajne źródło by poznać podstawy i typowe problemy.
    FreeCodeCamp. Spójrzcie na gwiazdki na GitHubie ;)