Leonard Euler |
Wstępniak
Project Euler rozpoczął Colin Hughes w październiku 2001 r. w podsekcji na mathschallenge.net. Któż mógł przewidzieć, jak popularne okażą się tego typu problemy? Od tego czasu liczba członków nadal rosła i Project Euler przeniósł się do własnej domeny w 2006 roku. Wydaje mi się, że nazwa projektu jest wyrazem szacunku dla jednego z najwybitniejszych matematyków Leonarda Eulera.
Daty już znam, ale o co chodzi?
Screen1: Sygnatura generowana przez serwis. |
Zalety
- Ciągły rozwój projektu: co tydzień w niedzielę dodawane jest nowe zadanie + co kilka miesięcy większe zmiany
- Konkurencja: strona prowadzi statystyki (ilu jest programistów z jakiego kraju, jaki jest procent rozwiązanych zadań itp), co motywuje do działania, by piąć się w górę rankingów
- Jakość programowania: nie chodzi tylko o to, by rozwiązać problem, lecz by zrobić to także efektywnie
- Statystyki i poziomy: poprzez statystyki oraz nadawanie poziomów doświadczenia (max 6 + 2 specjalne), strona zachęca do rozwiązywania kolejnych i kolejnych zadań (mi to przypomina trochę tryb RPG (nabijanie poziomów itp., dlatego pochłonęło mnie na początku bez reszty, w pewnym momencie tak się wczułem, że zacząłem myśleć nad własną wersją, gdzie za każde zadanie dostawalibyśmy losowe przedmioty do ubierania swojego bohatera ;))
- Różnorodność zadań: od najprostszych nadających się na wejściówki na laboratoria, po trudniejsze, gdzie rozwiązanie należy znaleźć np. poprzez przeszukiwanie drzewa binarnego
- Rozwija, uczy, bawi: proste hasło, ale jakże prawdziwe - nie dość, że samo rozwiązywanie jest ciekawe, a satysfakcja z kolejnej poprawnej odpowiedzi jest ogromna, to projekt uczy nas ważnej rzeczy: podejścia, które jest nam wpajane na studiach, a mianowicie: czytamy problem, ZASTANAWIAMY SIĘ NAD NIM, kodujemy (a nie odwrotnie), jeśli wynik sie nie zgadza, to problem zostawiamy na następny dzień, by na świeżo spróbować go rozwiązać (sam miałem kilka razy takie olśnienia po czasie, gdy pierwsze próby kończyły się niepowodzeniem)
- Mało-wiele funkcji: projekt mimo wielu funkcji jest prosty i to jego ogromna zaleta: nie skupiamy się na dodawaniu przyjaciół, werbowaniu nowych ludzi, przeglądaniu wpisów na tablicy innych użytkowników, czy ich nowych zdjęć, bo tego tu po prostu nie ma, w zamian całą naszą uwagę pochłaniają zadania do rozwiązania
- Dedykowana sygnatura: udostępnia dla każdego ciekawy obrazek z ksywką i liczbą rozwiązanych zadań, który można wkleić na przykład na forum jako sygnaturę
- Forum: po rozwiązaniu zadania mamy dostęp do forum, gdzie użytkownicy dzielą się efektywnymi rozwiązaniami
Screen 2: Lista państw. |
- Słabo opisane zadania: niektóre polecenia opisane są tak prosto, że więcej czasu zajmuje mi zrozumienie o co chodzi (a właściwie odpowiedzenie np. na pytanie: "Czy elementy macierzy mogę dodawać przechodząc z krawędzi prawej strony na lewą krawędź?" itp.)
- Brak wyszukiwania użytkowników: to dla mnie jedyny minus, gdyż jeśli rozwiązujemy zadania ze znajomym, muszę się przebijać przez kilkanaście stron polskich użytkowników, by go znaleźć i sprawdzić jego statystyki ;)
Podsumowanie
ProjectEuler.net to świetna zabawa, którą polecam każdemu programiście. Uczymy się wiele, odkrywamy, testujemy, próbujemy, a satysfakcja jest niesamowita. Uwaga, Uzależnia!
1 komentarze:
Hmmm... wygląda fajnie.
Chętnie bym podszkolił swoje umiejętności Python'a, może się czegoś nowego nauczę, a jeśli nawet nie to znajdę przynajmniej praktyczne zastosowanie dla mojej wiedzy, bo ostatnio pomysłów na nowe programy nie mam.
Swoją drogą fajny blog ;] Będę go odwiedzał (a może bardziej przeglądał RSS)
Prześlij komentarz