17 wyzwań związanych z kodowaniem, aby wyostrzyć krytyczne myślenie

Jeśli chcesz poprawić swoje umiejętności w istniejącym lub nowym języku programowania, jednym z najlepszych sposobów na to jest wyzwanie kodowania.

Z biegiem lat udostępniono wiele platform i stron internetowych, dostarczając ekscytujących wyzwań dla programistów na wszystkich poziomach. Niezależnie od tego, czy jest to nowy język, którego próbujesz się nauczyć, czy też chcesz sprawdzić swoją inteligencję w stresujących sytuacjach — wyzwania związane z kodowaniem mogą być jednocześnie zabawą i testem.

Korzyści z pracy nad tymi wyzwaniami, oprócz oczywistych, obejmują lepsze umiejętności rozwiązywania problemów, dogłębne zrozumienie języka i radość z uczenia się nowych algorytmów. Jak wiesz, algorytmy nie są rzadkością w procesie rekrutacji — więc posiadanie kilku zębów w grze może dać ci przewagę.

Ten post obejmuje jedne z najlepszych witryn i platform z wyzwaniami kodowania, jakie istnieją. Niektóre są przyjazne dla początkujących, podczas gdy inne są przeznaczone dla bardziej doświadczonych odbiorców. Dodajemy też kilka rzeczy, które od tego czasu możesz pokazać swoim dzieciom kodowanie przyjazne dzieciom stał się również dość popularny.

Edabit

Najłatwiejszym sposobem uczenia się nowych rzeczy jest konsekwentna interakcja z tym, czego próbujesz się nauczyć. Tak też jest w przypadku programowania. Czytanie najlepszych książek da ci zerową wiedzę, chyba że zastosujesz w praktyce słowo pisane.

Edabit to ugruntowana platforma, która oferuje wyzwania związane z kodowaniem o niewielkich rozmiarach, które mogą szybko poprawić Twoje umiejętności kodowania.

HackerRank

HackerRank to startup skupiający się na dostarczaniu wyzwań programistycznych zarówno osobom prywatnym, jak i organizacjom. W zależności od wyzwania najczęściej otrzymujesz instrukcje dotyczące projektu, który musi zostać ukończony, a sposób jego wykonania zależy od Ciebie.

Obecnie programiści mogą używać Java, Python, JavaScript, PHP, C++ i SQL do rozwiązywania stawianych wyzwań.

Za każdym razem, gdy przesyłasz swoje rozwiązania, platforma automatycznie ocenia Twoje zgłoszenie na podstawie takich czynników, jak dokładność. Następnie jesteś umieszczany w globalnej tabeli liderów, po drodze kultywując osiągnięcia (odznaki). Istnieją również „sprinty”, co jest innym terminem na zawody organizowane na platformie.

House of Codes napisał ekscytujący artykuł przedstawiający 50 najlepszych wyzwań znalezionych w Hacker Rank. Jeśli masz na to ciekawość, warto ją przeczytać, z mnóstwem przykładów i materiałów.

Koderbajt

Coderbyte to wyjątkowa aplikacja oparta na nowoczesnych praktykach programistycznych. Jego podstawową cechą są wyzwania związane z kodowaniem, które pomogły milionom ludzi na całym świecie stać się lepszymi programistami. W przeciwieństwie do podobnych aplikacji na rynku, Koderbajt zajmuje się pomaganiem ludziom w rozwiązywaniu problemów branżowych.

Jedną z zalet korzystania z tej platformy jest współpraca z niektórymi wiodącymi markami oprogramowania. Np. Google, LogMeIn, HBO, PWC i wiele innych. Jeśli kiedykolwiek będziesz chciał znaleźć pracę w takich firmach, możesz być pewien, że Coderbyte może dać ci wymagane wyzwania, aby sprawdzić twoje umiejętności.

Po zarejestrowaniu możesz wybierać spośród wyzwań i algorytmów. Istnieją setki tysięcy rozwiązań zgłoszonych przez użytkowników, które mogą pomóc w znacznie szerszym zrozumieniu konkretnych tematów programowania.

Organizacje mogą się zarejestrować i zarządzać swoim procesem sprawdzania. Stając się organizacją zarejestrowaną, zyskujesz dostęp do dodatkowych narzędzi, które mogą pomóc w indywidualnej kontroli każdego programisty.

Wojny kodów

Piękno konsekwentnej praktyki kodowania polega na tym, że zawsze wymyślasz nowe sposoby rozwiązywania problemów. Wojny kodów wykorzystuje ten pomysł. W oparciu o „katas” platforma zapewnia ćwiczenia i wyzwania w wielu różnych językach.

Po wykonaniu tych ćwiczeń możesz zdobyć punkty, ale także sprawdzić, jak inni programiści rozwiązali konkretny problem.

Jeśli masz zamiar ćwiczyć nowy język, Codewars to wyjątkowa witryna, którą możesz dodać do swoich zakładek.

Oto niektóre z obsługiwanych języków:

  • Clojure
  • Rdza
  • Szybki
  • Pyton
  • Haskell
  • Powłoka
  • JavaScript
  • PHP
  • Kotlin
  • Scala

W programie BETA dostępnych jest wiele innych języków, ale z potencjalnymi wąskimi gardłami.

Zasadniczo Edabit chce zapewnić platformę, która może wypełnić lukę między początkującymi i zaawansowanymi programistami. Możesz sprawdzić Mapa drogowa aby zobaczyć pełną listę funkcji.

CodinGame

Gry jako platformy edukacyjne nie są zupełnie nową rzeczą, ale wydaje się, że obecnie w tej dziedzinie jest znacznie więcej graczy. CodinGame to tylko jedna z wielu platform, które dostarczają wyzwań programistycznych poprzez zabawę. Zamiast pisać pusty kod, zamiast tego budujesz środowisko gry. Cały kod, który piszesz, w pewien sposób wpływa na sposób, w jaki toczy się „gra”.

Z perspektywy czasu, platformy takie jak CodinGame może pomóc twórcom technologii w kwestii przyczyny i skutku. I jak pewne decyzje prowadzą do konkretnych wyników.

To nie jest tylko jedna z tych tanich stron, w których piszesz niechlujny kod JavaScript. CodinGame wykorzystuje kilka algorytmów najwyższego poziomu i ma niezliczonych światowej klasy programistów, którzy pomagają dostarczać rozwiązania zarówno nowym, jak i doświadczonym programistom.

HakerZiemia

HakerZiemia to dobrze znana platforma, która prowadzi hackathony, wyzwania kodowania i różnego rodzaju konkursy.

To także miejsce, w którym można zdobyć ciekawą wiedzę na temat procesu rekrutacji w nowoczesnych firmach. Nie wszystkie, ale spora liczba wyzwań znalezionych w bazie danych HackerEarth może skończyć się zadawaniem pytań podczas każdej z twoich przyszłych rozmów kwalifikacyjnych.

A jak to możliwe? Cóż, głównie dlatego, że prawdziwym zajęciem HackerEarth jest dostarczanie rozwiązań rekrutacyjnych dla najlepszych firm technologicznych. Jeśli chcesz być uważany za najlepszego, musisz spędzać czas z najlepszymi. To sytuacja korzystna dla obu stron.

Programista

Programmr to dynamiczne laboratorium cyfrowe dla wszystkich poziomów programistów. Z Programista, możesz pisać kod, kompilować go i wykonywać projekty bezpośrednio z przeglądarki. Platforma obsługuje wszystkie główne używane obecnie języki. Niezależnie od tego, czy chcesz uruchomić aplikację mobilną, czy strukturę bazy danych — Programmr ma odwagę ją wspierać.

Po stronie wyzwań Programmr ma niestandardowy zestaw wyzwań dla Java, C++, PHP, C#, Ruby, Python i iOS. Każdy zestaw zawiera ponad 100 wyzwań, które można sortować według popularności (na podstawie głosów użytkowników) i innych czynników.

Tym, co odróżnia tych ludzi od innych, jest to, że możesz wykorzystać swoje nowo odkryte doświadczenia, aby uzyskać natychmiastową informację zwrotną, niezależnie od tego, czy jest to certyfikat dla określonego języka, czy tylko opinia od istniejących użytkowników.

Pociąg kodowania

Daniel Shiffman to jednoosobowa armia własnej roboty, tworząca i produkująca świetny materiał na temat programowania. Pociąg kodowania to osobista platforma YouTube Danielsa, na której udostępniał ekscytujące i pomocne filmy dotyczące rozwiązywania problemów związanych z programowaniem.

Ale ma to interesujące podejście. Zamiast umieszczać wszystko na swojej stronie internetowej, używa YouTube jako platformy dla wyzwania, a swojej strony internetowej jako platformy rozwiązania.

Zachowaj w naturze, na której opiera się jego wyzwania P5.js oraz Przetwarzanie — dwa popularne rozwiązania stosowane w sztuce i projektowaniu graficznym.

Wyzwania Wolframa

Wolfram to jedna z najbardziej znanych firm na świecie działająca pod branżą informatyczną. Ich platforma sprawiła, że ​​wiele osób zaniemówiło swoimi możliwościami.

Chociaż nie koncentrujemy się na Wolfram Alpha, nowej granicy wprowadzonej na początku 2018 r. — Wyzwania Wolframa.

Istnieje wiele przykładów wyzwań, które można sobie wyobrazić, a które wiążą się ze znalezieniem „najtańszego rozwiązania” lub „najlepszego dopasowania”. I jest to podobna konfiguracja z typowymi zadaniami uczenia maszynowego: znajdź funkcję (powiedzmy opartą na sieci neuronowej), która najlepiej radzi sobie z klasyfikacją określonego zestawu testowego itp.

W porównaniu z innymi stronami internetowymi/platformami w tym podsumowaniu, Wolfram obejmuje szeroki obszar wyzwań, a nie tylko kodowanie. Podsumowując, jeśli chcesz wyostrzyć swoje krytyczne myślenie — to będzie platforma do tego!

LeetKod

LeetKod to produkt, co oznacza, że ​​nie jest to tylko witryna z przypadkowymi wyzwaniami. Zamiast tego LetCode to sposób na przygotowanie się na przyszłe możliwości.

Platforma zapewnia nowoczesną naukę, skomplikowane wyzwania i doskonały pulpit nawigacyjny, aby to wszystko zrobić.

Istnieją również artykuły, fora dyskusyjne i inne aspekty społeczności, które zachęcają do bezproblemowego doświadczenia. Wielu użytkowników LeetCode „ukończyło” pracę w firmach takich jak Uber, Amazon, Stripe i innych.

Siły kodowe

Siły kodowe jest dla wszystkich zapalonych i oddanych programistów. Pomyśl o inżynierach oprogramowania, pentesterach, entuzjastach sztucznej inteligencji i ćpunach uczenia maszynowego! Jako platforma dla zaawansowanych programistów, Codeforces jest znana ze swojej notorycznej tabeli liderów i ducha rywalizacji.

A rozpoczęcie pracy jest łatwiejsze niż myślisz.

Ćwiczenia

Wspaniale jest widzieć inicjatywy stojące za wieloma platformami wyzwań związanych z kodowaniem.

I Ćwiczenia nie jest wyjątkiem. Katrina Owen, założycielka, mówi, że jej celem jest „pomóc ludziom w nauce kodowania [using Exercism] aby mogli znaleźć pracę w rozwoju”.

W chwili pisania tego tekstu dostępnych jest ponad 2600 ćwiczeń w 48 językach — wszystko za darmo! Czy chciałeś? naucz się Kotlinaa może lepiej zorientuj się w Vim? Teraz masz szansę nauczyć się nowych umiejętności poprzez ciekawe wyzwania!

Koder

Choć dla niektórych z was może to być zaskakujące, wciąż kodowanie dzieje się również w rozwoju front-endu!

Wyzwania tutaj są w większości łączone przez użytkowników. Np. ktoś może opublikować „Kartę Projektu Materiałowego” i poprosić Cię o jej ulepszenie lub stworzenie podobnej odmiany.

Rezultatem jest Twoja zdolność do realizacji kreatywnych pomysłów. Miło jest też zobaczyć, jak inni radzą sobie z podobnymi problemami w czasie rzeczywistym. Zawsze możesz ponownie wykorzystać kod przesłany przez innych w swoich projektach.

Żabka Flexbox

Mówiąc o front-endzie, jak idzie twoje zrozumienie Flexbox? Zawsze miło jest trochę odświeżyć pamięć, aby zachować ostrość i cel!

Żabka Flexbox to fajna mała gra, która prowadzi przez 28 kroków różnych zastosowań i wyrównań Flexbox. Być może jest to mniejsze wyzwanie niż przypomnienie, ale czy możesz przejść wszystkie poziomy bez szukania odpowiedzi?

Siatkowy ogród to bardzo podobna gra; jedyną różnicą jest to, że pracujesz z funkcją Grid, a nie Flex.

PyBites

Python jest powszechnie akceptowany jako najprostszy język do nauki. I jest często polecana początkującym programistom. Ale nie pozwól, aby to zniechęciło Cię do wiary w możliwości Pythona.

Obecnie wiele procesów uczenia maszynowego i generowania zestawów danych odbywa się wyłącznie za pomocą Pyton — a to nie lada wyczyn!

PyBites pozwala na bieżąco z najnowszymi wydarzeniami. Artykuły, wyzwania związane z kodowaniem i inne krytyczne ciekawostki, które pomogą Ci wyostrzyć umysł. Każde wyzwanie obejmuje kontynuację jako przegląd, w którym możesz porównać swój kod i zbadać właściwy sposób rozwiązania problemu.

CodeCombat

CodeCombat to kolejna gra w kodowanie zapewniająca dynamiczne i wymagające środowisko kodowania. Różnica między produktem takim jak CodinGame polega na tym, że CodeCombat skupia się na nauczycielach. W rezultacie możesz używać tej platformy do nauczania programowania i rozwiązywania problemów na poziomie szkoły.

Istnieją narzędzia, materiały i inne zasoby dostosowane specjalnie do tego celu. I to też świetna zabawa. Tworzone przez ciebie gry CodeCombat są zarówno interesujące, jak i oszałamiające wizualnie. A gry są już tak popularne wśród dzieci. Postawienie dzieciom wyzwania, jakim jest rozwój ich wirtualnego środowiska, może zainspirować je do zbudowania czegoś niesamowitego w przyszłości!

Tynker

Jak krótko wspomniano we wstępie, mamy coś dla wszystkich rodziców. Tynker to zabawna mała platforma, która pomaga uczyć kodowania dzieci. Opiera się na bardzo prostym interfejsie przeciągnij i upuść, w którym dzieci mogą przetasować się między wyborami i, miejmy nadzieję, rozwiązać przedstawione problemy.

I nie daj się zwieść, Tynker jest przystosowany do nowoczesnych standardów bardziej niż myślisz. Jeśli masz dzieci, które wkradają się w nastolatki, możesz pozwolić im pisać rozwiązania przy użyciu Pythona lub JavaScriptu, a nie samych bloków.

Słowa końcowe: Rzuć sobie wyzwanie!

Łącznie we wszystkich wymienionych witrynach i platformach istnieje prawdopodobnie 10 000 unikalnych wyzwań związanych z kodem. Nie da się tak po prostu przejść przez wszystkie.

Zamiast tego radzę znaleźć platformę, która najlepiej odpowiada Twoim potrzebom i skupić się tylko na tej jednej platformie. Możesz budować przyjaźnie, uczyć się nowych rzeczy i kto wie — możesz nauczyć się wystarczająco dużo, aby zdobyć nową pracę w najlepiej płatnej firmie!

Możesz również rozważyć DataCamp, aby nauczyć się nauki o danych, która obejmuje wyzwania związane z kodowaniem i projekty.

A co powiesz na znalezienie sposobu dodawania komentarzy w popularnych językach programowania?