1. Nauka oparta na praktyce

Nauka Javy oparta na praktyce

Są ludzie, którzy kochają CodeGym całym sercem i są ludzie, którzy nienawidzą go całym sercem. Ale nawet najbardziej zaciekły krytyk CodeGym z łatwością zgodzi się, że ma imponująco ogromną liczbę zadań. A powodem, dla którego jest ich tak wiele, jest to, że podstawą wszystkich szkoleń CodeGym jest praktyka .

Programowanie to umiejętność. Nikt nie mówi: „Umiem programować”. Każdy programista mówi: „Umiem programować”. Jest to umiejętność praktyczna, taka jak pływanie lub gra w szachy. A tę umiejętność można rozwijać tylko poprzez ciągłą praktykę.

Dlatego cały kurs CodeGym to sekwencja coraz trudniejszych zadań. Zaczynasz od bardzo łatwych, prymitywnych zadań, a kończysz na tych najtrudniejszych i najciekawszych. Trudność rośnie trochę z każdym poziomem. To jest właśnie ścieżka, która doprowadzi Cię do celu, jakim jest zostanie programistą.


2. Rodzaje zadań

W CodeGym czeka na Ciebie cała masa różnego rodzaju zadań. Wymieńmy główne:

Zadania, w których piszesz kod na podstawie przykładu

To jest najprostsze ćwiczenie. Celem tych zadań jest ćwiczenie umiejętności pisania kodu. Aby rozwiązać zadanie, musisz napisać kod tak, jak istnieje w przykładowym kodzie. Jest to bardzo przydatne, ale bardzo szybko się nudzi. Takich zadań już prawie nie ma: zastąpiliśmy je zadaniami bardziej interesującymi dla uczniów CodeGym.

Karty do takich zadań są oznaczone literą T:

Rodzaje zadań

Zadania, w których piszesz program

To są najważniejsze zadania na kursie. Ich poziom trudności jest bardzo zróżnicowany: od najprostszych zadań po te, nad którymi będziesz musiał dużo myśleć.

Celem tych zadań jest napisanie programu spełniającego określone warunki i wymagania. Większość zadań należy do tej kategorii. Dla wygody uczniów CodeGym zadania te oznaczamy według stopnia trudności: ŁATWE , ŚREDNIE , TRUDNE i EPICKIE .

Zadania EPIC są często oparte na przyszłych materiałach do nauki w lekcjach, których jeszcze nie odblokowałeś. Są popularne wśród studentów CodeGym, którzy uważają, że kurs jest dla nich zbyt łatwy. Inni mogą po prostu pominąć te zadania i wrócić do nich później, gdy zapoznają się już z odpowiednią teorią.

Zadania, w których piszesz program

Projektowanie

Minusem zwykłych zadań jest to, że są małe. Zrobione i zapomniane, jak to mówią. Dlatego rzadko jest możliwe, aby były bardzo interesujące. Jednak duży program jest trudny do przetestowania: istnieje po prostu zbyt wiele sposobów jego wdrożenia.

To CodeGym wprowadziło zadania projektowe — duże zadania podzielone na 10-30 zwykłych podzadań. Wykonujesz wszystkie podzadania sekwencyjnie i otrzymujesz duży program.

Na końcu każdego poziomu zadań wielowątkowości i kolekcji znajduje się jedno duże zadanie projektowe, które jest podzielone na dwadzieścia podzadań. Istnieje również 6 innych zadań gry, które są również projektami. W sumie w całym kursie znajduje się 27 zadań projektowych.

Quizy

Przez długi czas w CodeGym nie było żadnych testów ani quizów. Twórca CodeGym stoi na stanowisku, że zdane testy tworzą w ludziach „iluzję wiedzy”. Ludzie tak naprawdę nie wiedzą, jak programować, ale są głęboko przekonani, że jest inaczej, ponieważ zdali testy. Tacy ludzie przestają się uczyć, skoro „wszystko już wiedzą”.

Następnie dodano quizy, aby umożliwić uczniom CodeGym łatwe identyfikowanie luk w nauce. Dla programistów przydatna jest znajomość niuansów rzeczy, z którymi na co dzień pracują w swoim zawodzie.

Quizy Jawa

Filmy

Wreszcie ostatnim typem zadania jest oglądanie wideo. W lekcjach CodeGym znalazło się wiele przydatnych i ciekawych filmów związanych z branżą IT.


3. Statusy zadań

Każde zadanie w CodeGym ma specjalny status. Status może się zmieniać w miarę rozwiązywania zadań.

Każde zadanie CodeGym jest powiązane z lekcją. Początkowo nie będziesz mieć dostępu do żadnych zadań, co oznacza, że ​​nie będziesz mógł ich rozwiązać.

zablokowany

Gdy otworzysz następną lekcję, wszystkie zadania w tej lekcji staną się dostępne do rozwiązania, tzn. ich status zmieni się na „Dostępne”.

Dostępny

Jeśli choć raz przesłałeś zadanie do weryfikacji, to jego status zmienia się z „Dostępne” na „W toku”.

W trakcie

Wreszcie, gdy pomyślnie spełnisz wszystkie wymagania, a walidator zaakceptuje Twoje zgłoszenie, status zadania zmieni się na „Ukończono”.

Zakończony

Użytkownicy z subskrypcją Premium Pro mają jeszcze 3 dni na próbę napisania innych rozwiązań tego zadania. Po wygaśnięciu tego dodatkowego przedziału czasu zadanie przechodzi do stanu „Zamknięte” i ten stan nie będzie się już zmieniał.Zamknięte


4. WebIDE

Aby ułatwić Ci rozwiązywanie zadań, napisaliśmy specjalny widżet: WebIDE . Wygląda mniej więcej tak:

WebIDE

Po lewej stronie widzisz warunki zadania i wymagania , które musi spełniać Twoje rozwiązanie. Na środku mamy edytor, w którym musisz napisać swój kod . Twój program wyświetlił tekst, który możesz zobaczyć w okienku na dole.

A u góry zobaczysz te przyciski:

  • Zweryfikuj : prześlij swoje rozwiązanie do testów.
  • Pomoc : Zadaj pytanie dotyczące Twojego rozwiązania w społeczności CodeGym.
  • Dyskusja : Przedyskutuj zadanie z innymi użytkownikami.
  • Resetuj : Zresetuj swoje rozwiązanie, tj. zacznij od nowa.
  • Uruchom : Uruchom program bez wysyłania go do weryfikacji (twój licznik weryfikacji nie wzrośnie).
  • Analiza kodu : uzyskaj sugestie dotyczące stylu kodu Twojego rozwiązania

5. Wymagania

We wczesnych latach CodeGym, kiedy weryfikowałeś każde zadanie, otrzymywałeś prosty wynik: tak lub nie. Program albo przeszedł wszystkie testy, albo nie. Super proste, ale niezbyt pomocne.

Kiedy ludzie się uczą, bardzo ważne jest, aby zrozumieli, co robią źle i jak zacząć robić to dobrze. W związku z tym ma sens, że jeśli serwer nie zaakceptuje twojego rozwiązania, zapytasz, cóż, co jest z nim nie tak?

Aby uzyskać odpowiedź na to pytanie, potrzebujesz kogoś, kto zagłębi się w twoje rozwiązanie, przeanalizuje je i powie ci, co jest z nim nie tak. To zajęłoby dużo czasu i byłoby kosztowne. Piękno natychmiastowej weryfikacji zadań polega na tym, że możesz usiąść do nauki o 2 w nocy i wszystko będzie działać tak, jak zawsze.

Dlatego przepisaliśmy wszystkie zadania w CodeGym. Teraz każde zadanie ma nie tylko warunki zadania, ale także listę 5-10 wymagań, które uzupełniają warunki. Co najważniejsze, każdy wymóg jest weryfikowany osobno.

Oznacza to, że przesyłając dzisiaj zadanie do weryfikacji, otrzymasz rozszerzoną odpowiedź: obok każdego wymagania zadania zobaczysz specjalną ikonę wskazującą, czy Twój program spełnia to wymaganie, czy nie. Przykład:

Wymagania

Takie podejście znacznie upraszcza życie podczas pracy nad zadaniami, które wymagają napisania kilku klas lub metod. Zawsze będziesz mógł zobaczyć, które metody lub klasy napisałeś poprawnie, a które nie.


6. Zalecenia

Czy można jakoś ulepszyć zadania? Czy nie byłoby wspaniale, gdyby po każdym sprawdzeniu powiedziano ci, co dokładnie jest nie tak w twoim programie i dostałeś wskazówki, jak to naprawić? Tak, to byłoby fajne! Zastanów się? Właśnie to robimy w CodeGym 🙂

Wyłapujemy dziesiątki typowych błędów, sprawdzając każde wymaganie zadania. Jeśli twój program popełni błąd, o którym walidator wie, to wydaje rekomendację — podpowiedź, jak możesz poprawić swoje rozwiązanie, aby spełniało wszystkie wymagania.

Pomyśl o tym. W CodeGym dostępnych jest obecnie około 1200 zadań, w sumie około 10 000 wymagań. Z każdym wymaganiem wiąże się kilka zaleceń. Niektóre wymagania mają ich dziesiątki. Walidator CodeGym jest gotowy do sporządzenia ponad 50 000 rekomendacji rozwiązań dla użytkowników.

Ponadto wszystko to dzieje się, gdy Twoje rozwiązanie jest sprawdzane, co w większości przypadków zajmuje mniej niż sekundę. Żadna osoba nie mogłaby tego zrobić. To prawdziwy wirtualny mentor.

Zalecenia