1. Учене на базата на практика

Java обучение, базирано на практика

Има хора, които обичат CodeGym с цялото си сърце, и има хора, които го мразят с цялото си сърце. Но дори и най-яростният критик на CodeGym лесно ще се съгласи, че има впечатляващо огромен брой задачи. И причината, поради която има толкова много от тях, е, че цялото обучение в CodeGym има практика като основа .

Програмирането е умение. Никой не казва: „Аз знам How да програмирам“. Всеки програмист казва: „Мога да програмирам“. Това е практическо умение, като плуване or игра на шах. И можете да култивирате умението само чрез постоянна практика.

Ето защо целият курс на CodeGym е поредица от все по-трудни задачи. Започвате с много лесни, примитивни задачи и завършвате с най-трудните и интересни. Трудността нараства малко с всяко ниво. Точно това е пътят, който ще ви отведе до вашата цел да станете програмист.


2. Видове задачи

Цял куп различни видове задачи ви очакват в CodeGym. Нека изброим основните:

Задачи, при които пишете code по пример

Това е най-простото упражнение. Целта на тези задачи е да упражните способността си да пишете code. За да решите задачата, ще трябва да напишете code точно Howто съществува в примерния code. Това е много полезно, но много бързо омръзва. Почти не останаха такива задачи: заменихме ги със задачи, които са по-интересни за учениците на CodeGym.

Картите за такива задачи са маркирани с буквата T:

Видове задачи

Задачи, при които се пише програма

Това са най-важните задачи в курса. Тяхното ниво на трудност варира в широки граници: от най-простите задачи до тези, за които ще трябва да мислите много.

Целта на тези задачи е да се напише програма, която отговаря на определени условия и изисквания. Повечето задачи попадат в тази категория. За удобство на учениците на CodeGym маркираме тези задачи според нивото им на трудност: ЛЕСНИ , СРЕДНИ , ТРУДНИ и ЕПИЧНИ .

EPIC задачите често се основават на бъдещ учебен материал в уроци, които все още не сте отключor. Те са популярни сред студентите на CodeGym, които смятат, че курсът е твърде лесен за тях. Други могат просто да пропуснат тези задачи и да се върнат към тях по-късно, когато вече са се запознали със съответната теория.

Задачи, при които се пише програма

проекти

Недостатъкът на обикновените задачи е, че са малки. Готово и забequalsо, Howто се казва. Следователно рядко е възможно да ги направим много интересни. Но голяма програма е трудна за тестване: просто има твърде много начини да се приложи.

Това е CodeGym въведе проектни задачи - големи задачи, разделени на 10-30 обикновени подзадачи. Изпълнявате всички подзадачи последователно и в крайна сметка получавате голяма програма.

В края на всяко ниво в куестовете за многопоточност и колекции има една голяма проектна задача, която е разделена на двадесет подзадачи. Има и още 6 игрови задачи, които също са проекти. Общо в целия курс има 27 проектни задачи.

Викторини

Дълго време CodeGym нямаше тестове or викторини. Създателят на CodeGym е на мнение, че издържаните тестове създават у хората „илюзията за знание“. Хората наистина не знаят How да програмират, но са напълно убедени в обратното, тъй като са преминали тестовете. Такива хора спират да учат, тъй като "вече знаят всичко".

Впоследствие бяха добавени тестове, за да позволят на студентите от CodeGym лесно да идентифицират пропуските в своето обучение. За програмистите е полезно да познават нюансите на нещата, с които работят ежедневно в своята професия.

Тестове Java

Видеоклипове

И накрая, последният вид задача е гледането на видеоклип. В уроците по CodeGym са включени много полезни и интересни видеа, свързани с IT индустрията.


3. Статуси на задачите

Всяка задача в CodeGym има специален статус. Състоянието може да се променя, докато решавате задачи.

Всяка задача на CodeGym е свързана с урок. Първоначално няма да имате достъп до ниHowви задачи, което означава, че няма да можете да ги решавате.

заключено

Когато отворите следващия урок, всички задачи в урока стават достъпни за решаване, т.е. статусът им се променя на "Налични".

На разположение

Ако поне веднъж сте изпратor задача за проверка, нейният статус се променя от „Наличен“ на „В процес“.

В ход

Накрая, когато успешно изпълните всички изисквания и валидаторът приеме подаването ви, тогава състоянието на задачата се променя на „Завършено“.

Завършено

Потребителите с абонамент Premium Pro имат още 3 дни, за да опитат да напишат други решения за задачата. След като изтече този допълнителен период от време, задачата преминава в състояние „Затворено“ и това състояние вече няма да се променя.Затворено


4. WebIDE

За да ви улесним при решаването на задачи, написахме специална джаджа: WebIDE . Изглежда приблизително така:

WebIDE

Вляво виждате условията на задачата и изискванията , на които вашето решение трябва да отговаря. В центъра имаме редактора, където трябва да напишете своя code . Вашата програма показа няHowъв текст, който можете да видите в панела в долната част.

И в горната част ще видите тези бутони:

  • Проверка : Изпратете решението си за тестване.
  • Помощ : Задайте въпрос относно вашето решение в общността на CodeGym.
  • Обсъждане : Обсъдете задачата с други потребители.
  • Нулиране : Нулирайте вашето решение, т.е. започнете отначало.
  • Изпълнение : Стартирайте програмата, без да я изпращате за проверка (вашият брояч за проверка няма да се увеличи).
  • Анализ на code : Получете предложения за стила на codeа на вашето решение

5. Изисквания

В ранните години на CodeGym, когато сте проверявали всяка задача, сте получавали прост резултат: да or не. Програмата or премина всички тестове, or не. Супер просто, но не супер полезно.

Докато хората се учат, е много важно да разберат Howво правят грешно и How да започнат да го правят правилно. Съответно, напълно логично е, че ако сървърът не приеме вашето решение, тогава ще попитате, добре, Howво не е наред с него?

За да получите отговор на този въпрос, трябва някой да се потопи във вашето решение, да го анализира и да ви каже Howво не е наред с него. Това ще отнеме много време и ще бъде скъпо. Красотата на незабавната проверка на задачите е, че можете да седнете да учите в 2 сутринта и всичко ще работи Howто всяко друго време.

Затова пренаписахме всички задачи в CodeGym. Сега всяка задача има не само условия на задачата, но и списък от 5-10 изисквания, които конкретизират условията. Най-важното е, че всяко изискване се проверява отделно.

Това означава, че когато изпратите задача за проверка днес, ще получите разширен отговор: до всяко изискване на задачата ще видите специална икона, показваща дали програмата ви отговаря на това изискване or не. Пример:

Изисквания

Този подход значително опростява живота, докато работите върху задачи, които изискват да напишете няколко класа or метода. Винаги ще можете да видите кои методи or класове сте написали правилно и кои не.


6. Препоръки

Възможно ли е по няHowъв начин задачите да бъдат още по-добри? Няма ли да е страхотно, ако след всяка проверка ви се казва Howво точно не е наред във вашата програма и получавате съвети How да го поправите? Да, би било страхотно! Е, познайте Howво? Правим точно това в CodeGym 🙂

Ние улавяме десетки често срещани грешки, като проверяваме всяко изискване на задачата. Ако вашата програма направи грешка, за която валидаторът знае, тогава тя прави препоръка — намек How можете да коригирате решението си, така че да отговаря на всички изисквания.

Помисли за това. Сега има приблизително 1200 задачи в CodeGym, с общо приблизително 10 000 изисквания. И има няколко препоръки, свързани с всяко изискване. Някои изисквания имат десетки от тях. Валидаторът на CodeGym е готов да направи над 50 000 препоръки за потребителски решения.

Освен това всичко това се случва, докато вашето решение се валидира, което в повечето случаи отнема по-малко от секунда. Никой човек не би могъл да направи това. Това е истински виртуален ментор.

Препоръки