1. Gyakorlaton alapuló tanulás

Java tanulás gyakorlaton alapuló

Vannak, akik teljes szívükből szeretik a CodeGymet, és vannak, akik teljes szívükből utálják. De még a CodeGym legádázabb kritikusa is készséggel egyetért azzal, hogy lenyűgözően sok feladata van. És azért van belőlük olyan sok, mert minden CodeGym edzés gyakorlaton alapul .

A programozás egy készség. Senki sem mondja, hogy "tudok programozni". Minden programozó azt mondja: "tudok programozni". Ez egy gyakorlati készség, mint az úszás vagy a sakkozás. A készséget pedig csak állandó gyakorlással tudod fejleszteni.

Éppen ezért az egész CodeGym tanfolyam egyre nehezebb feladatok sorozata. Nagyon könnyű, primitív feladatokkal kezdi, és a legnehezebb és legérdekesebb feladatokkal fejezi be. A nehézség minden szinten egy kicsit nő. Pontosan ez az út vezet el a célodhoz, hogy programozó legyél.


2. Feladatok típusai

Különböző típusú feladatok egész sora vár rád a CodeGym-en. Soroljuk fel a főbbeket:

Feladatok, ahol programot írsz

Ezek a legfontosabb feladatok a tanfolyamon. Nehézségi szintjük nagyon változó: a legegyszerűbb feladatoktól az olyanokig, amelyeken sokat kell gondolkodni.

Ezen feladatok célja egy olyan program megírása, amely megfelel a meghatározott feltételeknek és követelményeknek. A legtöbb feladat ebbe a kategóriába tartozik. A CodeGym tanulók kényelme érdekében ezeket a feladatokat nehézségi szintjük szerint jelöljük: EASY , MEDIUM , HARD és EPIC .

Az EPIC feladatok gyakran olyan leckék jövőbeli tananyagán alapulnak, amelyeket még nem nyitott meg. Népszerűek a CodeGym-hallgatók körében, akik úgy érzik, hogy a tanfolyam túl könnyű számukra. Mások egyszerűen kihagyhatják ezeket a feladatokat, és később visszatérhetnek hozzájuk, amikor már megismerkedtek a vonatkozó elmélettel.

Projektek

A hétköznapi feladatok hátránya, hogy kicsik. Kész és elfeledett, ahogy mondani szokás. Ezért ritkán lehet őket nagyon érdekessé tenni. De egy nagy programot nehéz tesztelni: egyszerűen túl sok módja van a megvalósításnak.

Ezért vezette be a CodeGym a projektfeladatokat – a nagy feladatokat 5-35 közönséges részfeladatra osztva. Az összes részfeladatot egymás után hajtod végre, és egy nagy programhoz jutsz.

A 20. szint után minden szint végén van egy nagy projektfeladat, amely húsz részfeladatra van felosztva. Van még további 6 játékfeladat, amelyek szintén projektek. És van egy projektfeladat az online gyakorlatra való felvételhez. A teljes tanfolyamon összesen 27 projektfeladat található.

Kvízek

A CodeGymben sokáig nem voltak tesztek vagy kvízek. A CodeGym alkotója azon a véleményen van, hogy a sikeres tesztek a „tudás illúzióját” keltik az emberekben. Az emberek nem igazán tudnak programozni, de alaposan meg vannak győződve az ellenkezőjéről, hiszen átmentek a teszteken. Az ilyen emberek abbahagyják a tanulást, hiszen "már mindent tudnak".

Ezt követően kvízekkel egészültek ki, hogy a CodeGym tanulói könnyen azonosíthassák a tanulási hiányosságokat. A programozók számára hasznos, ha ismerik azokat a dolgokat, amelyekkel a szakmájukban napi szinten dolgoznak.


3. Feladatok állapotai

A CodeGym minden egyes feladatának különleges státusza van. Az állapot változhat a feladatok megoldása során.

Minden CodeGym feladat egy leckéhez van társítva. Kezdetben nem fog hozzáférni egyetlen feladathoz sem, ami azt jelenti, hogy nem fogja tudni megoldani azokat.

A következő lecke megnyitásakor a leckében lévő összes feladat megoldhatóvá válik, azaz állapotuk „Elérhető”-re változik.

Ha egy feladatot legalább egyszer benyújtott ellenőrzésre, akkor annak állapota „Elérhető”-ről „Folyamatban” állapotra változik.

Végül, ha sikeresen teljesített minden követelményt, és az érvényesítő elfogadja a beküldést, a feladat állapota „Befejezve”-re változik.

A Premium Mentor előfizetéssel rendelkező felhasználóknak még 3 napjuk van, hogy megpróbáljanak más megoldásokat írni a feladatra. Miután ez a további időtartam lejár, a feladat „Lezárt” állapotba kerül, és ez az állapot a továbbiakban nem változik.


4. Követelmények

A CodeGym korai éveiben, amikor minden egyes feladatot ellenőriztél, egyszerű eredményt kaptál: igen vagy nem. A program vagy megfelelt az összes teszten, vagy nem. Szuper egyszerű, de nem túl hasznos.

Ahogy az emberek tanulnak, nagyon fontos, hogy megértsék, mit csinálnak rosszul, és hogyan kezdjék el jól csinálni. Ennek megfelelően teljesen logikus, hogy ha a szerver nem fogadja el a megoldásodat, akkor megkérdezed, hogy mi a baj?

Ahhoz, hogy választ kapjon erre a kérdésre, szüksége van valakire, aki belemerül a megoldásába, elemzi azt, és elmondja, mi a baj. Ez sokáig tartana és drága lenne. Az azonnali feladatellenőrzés szépsége abban rejlik, hogy hajnali 2-kor leülhet tanulni, és minden ugyanúgy működik, mint máskor.

Ezért minden feladatot átírtunk a CodeGym-en. Mostantól minden feladatnak nemcsak feladatfeltételei vannak, hanem egy 5-10 követelményből álló lista is, amelyek pontosítják a feltételeket. A legfontosabb, hogy minden követelményt külön ellenőriznek.

Ez azt jelenti, hogy amikor ma elküld egy feladatot ellenőrzésre, akkor egy kiterjesztett választ fog kapni: minden feladatkövetelmény mellett megjelenik egy speciális ikon, amely jelzi, hogy a program megfelel-e ennek a követelménynek vagy sem. Példa:

Követelmények

Ez a megközelítés nagymértékben leegyszerűsíti az életet, amikor olyan feladatokon dolgozik, amelyekhez több osztály vagy módszer megírása szükséges. Mindig láthatja, hogy melyik metódust vagy osztályt írta helyesen, és melyiket nem.


5. Ajánlások

Lehet valahogy még jobbá tenni a feladatokat? Nem lenne nagyszerű, ha minden ellenőrzés után elmondanák, hogy pontosan mi a hiba a programban, és tippeket kapna a javításhoz? Igen, az klassz lenne! Nos, mit gondol? Pont ezt tesszük a CodeGym-en 🙂

Az egyes feladatkövetelmények ellenőrzésével több tucat gyakori hibát észlelünk. Ha a program olyan hibát követ el, amelyről az érvényesítő tud, akkor javaslatot tesz – tippet ad arra, hogyan javíthatja ki a megoldást úgy, hogy az minden követelménynek megfeleljen.

Gondold át. Jelenleg nagyjából 1200 feladat található a CodeGym-en, összesen körülbelül 10 000 feltétellel. És minden követelményhez számos ajánlás kapcsolódik. Egyes követelményeknek több tucatja van. A CodeGym validátora készen áll arra, hogy több mint 50 000 javaslatot tegyen a felhasználói megoldásokhoz.

Ráadásul mindez a megoldás érvényesítésekor történik, ami a legtöbb esetben kevesebb mint egy másodpercet vesz igénybe. Ezt senki sem tehette meg. Ez egy igazi virtuális mentor.

Ajánlások

6. Közösség

A CodeGym egy csomó gyakorlatra összpontosít , amely a teljes tanulási folyamat több mint 80%-át teszi ki . A tanulást egy nagy, lebilincselő küldetéssé változtattuk (valójában küldetések sorozatává).

De mindenki más: egyesek gyorsan, mások lassabban tanulnak. Vannak, akiknek könnyű, míg mások nehezebben találják az új anyagokat. De a mi dolgunk az, hogy minden diákunk a célba érjen. Legalábbis erre törekszünk.

Ebben a világban a programozók nem csupán néhány millió ember, akik különböző nyelveken írnak kódokat, és szabadidejükben startupokat hoznak létre. Globális hálózatot alkotnak, folyamatosan megosztják tudásukat másokkal, készek válaszolni a kérdésekre és segítenek megérteni az összetett témákat.

A világ legnagyobb fejlesztői közössége – a StackOverflow webhely – abból a célból született, hogy a programozóknak tanulniuk kellett egymástól. A koncepció egyszerű: feltesz egy kérdést, és a világ bármely programozója válaszolhat rá. Kényelmes, igaz? 🙂

A CodeGymnél úgy gondoljuk, hogy a tanulók közötti tudáscsere rendkívül értékes. Ahogy a programozók másokon segítenek, ők maguk is fejlődnek . És nincs jobb módja annak, hogy valamit saját maga is megértsen, mint hogy elmagyarázza valaki másnak. Ezért külön rovatokat hoztunk létre weboldalunkon, amelyek célja, hogy minden diákunk lehetőséget adjon tudásának megosztására és egymás tanulásának segítésére.

Szóval mit csinálsz, ha elakadsz a legújabb feladatnál? Rossz ötlet kész megoldást keresni az interneten. Természetesen a feladat elismerését kapja, ha valaki más megoldását másolja, vagy a mi helyes megoldásunkat használja. De nem fogod bezárni tudásbeli hézagot, és ez a jövőben minden bizonnyal vissza fog harapni a fenekedbe.


7. Feladatokkal kapcsolatos kérdések

A követelmények , az ajánlások és a virtuális mentor nagyon jók. De mi van akkor, ha a validátor továbbra sem fogadja el a megoldást, és nem biztos benne, hogy mi a probléma?

Még ebben az esetben is van kiút. Ismerje meg a Súgó részt. A weboldal ezen részében a CodeGym tanulói kérdéseket tehetnek fel feladatokkal kapcsolatban, egymás megoldásait fedezhetik fel, tanácsokat és tippeket is adhatnak. Teljes megoldások közzététele nem megengedett!

Nagyon egyszerűen és alapvetően hangzik, de valójában meglehetősen kifinomult.

Először is, minden kérdéshez tartozhat egy feladat . Ez azt jelenti, hogy nincs értelme az összes kérdésen átgázolni, ha egy konkrét feladattal kapcsolatos kérdések érdekelnek. Egy szűrő segítségével mindig egyszerűen csak az Önt érdeklő feladathoz kapcsolódó kérdéseket láthatja. Csak írja be a feladat nevét a keresősávba:

Kérdések a feladatokkal kapcsolatban

Másodszor, ha egy feladat megoldása közben rákattint a „Közösségi súgó” gombra, azonnal a Súgó részbe kerül, ahol csak a folyamatban lévő feladattal kapcsolatos kérdések jelennek meg. Ha a megoldás sikertelen lesz a feladatellenőrzésben, akkor a kérdéseket a rendszer hasznos módon rendezi: a legfontosabb kérdések azokra a kielégítetlen követelményekre vonatkoznak, amelyek a megoldás sikertelenségét okozták.

Súgó gomb

Harmadszor, az IntelliJ IDEA bővítmény hasonló funkciókat kínál. Kattintson a "Súgó" gombra, vagy nyomja meg a Ctrl+Alt+W billentyűkombinációt, amely azonnal megnyitja a Súgó részt a böngészőben. És természetesen a szűrő csak az IntelliJ IDEA- ban megoldandó feladattal kapcsolatos kérdéseket jeleníti meg .

IntelliJ IDEA súgó

8. Kérdés létrehozása

Ha a Súgó részben nem talál megfelelő elemzést a hibájáról, bármikor elkészítheti saját kérdését. Ezt meglehetősen egyszerű megtenni – csak kattintson a „Kérdés” gombra, és töltse ki a szükséges mezőket:

Kérdés létrehozása

Sok más szolgáltatással ellentétben, mint például a StackOverflow, a Code Ranch stb., a CodeGym nem követeli meg, hogy minden fontos információt a kérdés címébe zsúfoljon. Írja le kérdését, ahogy tetszik.

És mellesleg nem kell kimásolnia a kódját a WebIDE- ből vagy az IntelliJ IDEA- ból , és hozzá kell adnia a kérdéséhez. Amikor kérdést hoz létre egy feladattal kapcsolatban, a megoldás kódja a különféle feladatkövetelmények állapotaival együtt automatikusan hozzáadódik hozzá , azaz mely követelményeknek tesz eleget a megoldás és melyek nem.

Kérdés létrehozása 2

Ez azt jelenti, hogy a CodeGym többi tanulója azonnal látja az összes lényeges információt a kérdező megoldásáról, ami jelentősen megkönnyíti a jó tanácsadást.


9. Megoldás kódja

Számos webhelyen a kóddal kapcsolatos kérdés létrehozásakor vagy csatolnia kell egy archívumot programfájlokkal a kérdéshez, vagy hozzá kell adnia ezeket a fájlokat magának a kérdésnek a szövegéhez. Az eredmény egy nagy zűrzavar, amelybe az emberek nem akarnak, vagy nem tudnak beleásni.

A gyors és hatékony kérdésfeltevés egy egész művészeti forma. A szokásos weboldalakon vagy fél órát kell töltenie a kérdés megfogalmazásával, vagy el kell fogadnia azt a tényt, hogy senki nem fog válaszolni. Egy feladattal kapcsolatos jó kérdésnek feltétlenül tartalmaznia kell a következő információkat:

  • Link a kérdező által megoldandó feladathoz
  • A feladat feltételei, hogy másoknak ne kelljen sehova levadászniuk őket
  • Megoldáskód – ez sok fájlt tartalmazhat
  • Az egyes feladatkövetelmények állapota, azaz mi működik jelenleg és mi nem.
  • A kérdés szövege: ez általában teljesen világos – a megoldásom nem működik, és nem tudom, miért.

A CodeGym ezeket az információkat egy speciális widget segítségével jeleníti meg, amely nagyon hasonlít a WebIDE widgethez. Végtére is, már úgy tervezték, hogy megjelenítse az összes információt. Nos, talán magát a kérdést kivéve.

Megoldás kódja

Valójában azért írtunk egy speciális widgetet, hogy kényelmesebben tanulmányozhassa más felhasználók megoldásait. És hogy a többi felhasználó könnyen és kellemesen megvizsgálhassa az Ön által feltett kérdésekre adott megoldásait.