С любов от Stepik: Hyperskill образователна платформа

Искам да говоря с вас за това защо поправяме водопроводни инсталации по-често, отколкото пишем дисертации за това, за различните подходи към преподаването на програмиране и как се опитваме да приложим един от тях в нашия нов продукт Hyperskill.

Ако не харесвате дългите въведения, преминете направо към параграфа за програмирането. Но ще бъде по-малко забавно.

С любов от Stepik: Hyperskill образователна платформа

Лирично отклонение

Нека си представим една млада дама Маша. Днес Маша щеше да измие плодове и да гледа филм на спокойствие, но лош късмет: внезапно откри, че кухненската мивка е запушена. Все още не е ясно какво да правим с това. Можете да отложите този проблем за неопределено време, но сега има свободно време, така че Маша решава да се справи с проблема веднага. Здравият разум предлага две възможности: а) повикайте водопроводчик б) оправете се сами. Младата дама избира втория вариант и започва да проучва инструкциите в YouTube. Следвайки съвета на потребителя Vasya_the_plumber, Маша поглежда под мивката и вижда виеща се пластмасова тръба, съставена от няколко части. Момичето внимателно развива едно парче в основата на мивката и не намира нищо. Долно парче тръба се оказва плътно запушено с неизвестно вещество и дори вилица, намерена на масата, не може да се справи със запушването. Експерти от Интернет дават разочароващи прогнози: частта ще трябва да бъде сменена. На картата Маша намира най-близкия магазин, взема злополучното парче тръба със себе си и купува същата, само нова. По съвет на продавача Маша грабва и нова цедка за профилактика. Мисията е завършена: мивката отново работи както трябва, а главният й герой междувременно е научил следното:

  • Можете сами да развиете и затегнете тръбите под мивката;
  • Най-близкият водопроводен магазин е на километър и половина от апартамента на Машина.

Най-вероятно Маша дори не забеляза колко нови неща е научила и научила, защото се тревожеше за собствения си комфорт в бъдеще и в същото време гледаше филм и миеше ябълката си. Следващият път, когато възникне подобен проблем, момичето ще го реши многократно по-бързо. Всъщност Маша не просто върна света в обичайното му състояние; Тя учеше индуктивно, тоест в специални случаи и ориентирани към практиката, тоест като правите нещата, а не ги изучавате подробно и предварително.

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

И така, кой подход е най-добрият? В случай на мивка и запушване - първото и поради следните причини:

  1. Ако е важна само работеща мивка, тогава е достатъчно да знаете само какво се отнася до тази конкретна област. Когато Маша осъзнае, че й липсват знания, тя определено ще намери начин да научи повече.
  2. Енциклопедичните знания може да не се активират в реална ситуация, защото навикът не е изграден. За да научите последователността от действия, има смисъл да не четете за тях, а да ги изпълнявате.

Нека оставим бедната Маша на мира и да преминем към учебния процес като такъв.

Програмиране: научете или правете?

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

Една от областите, в които „твърдата ръка“ или „диамантеното око“ вървят ръка за ръка с широката перспектива, е програмирането. Ако говорите с опитни разработчици, ще чуете смели истории, в които човек е учил математика/физика/преподаване от малък, а след това се е уморил и се е преместил в бекенда. Ще има и програмисти без висше образование! На първо място, това, което се цени в един разработчик, не е сертификат или диплома, а количеството и качеството на написаните програми, скриптове и уебсайтове.

„Но чакайте!“, възразявате вие, „Звучи красиво – вземете го и го направете!“ Не мога лесно да си напиша програма, ако не съм програмирал преди! За мен е важно да разбера къде да пиша, как основно да говоря на език за програмиране с компилатор. Не е като да намерите телефонен номер на водопроводчик в Google.

В това също има горчива истина. Един непознат аспект води до друг, който от своя страна води до трети и скоро този процес се превръща в шоу на магьосник, който продължава да вади вързани кърпички и не може да ги извади от цилиндъра. Процесът, честно казано, е неприятен, до 5-та „носна кърпичка“ вече изглежда, че дълбочината на невежеството е близо до Марианската падина. Алтернатива на това са същите лекции за 10 вида променливи, 3 вида цикли и 150 потенциално полезни библиотеки. за съжаление

Хиперумение: строихме, строихме и накрая построихме

Дълго мислихме за този проблем. Датата на последната публикация в блога ни говори красноречиво колко време сме мислили. След всички дебати и опити да интегрираме новия подход в Stepik, ние завършихме с... различен сайт. Може би вече сте чували за него като част от JetBrains Academy. Нарекохме го Hyperskill, изградихме обучение, базирано на проекти, свързахме база знания на Java с него и привлечехме подкрепата на екипа на EduTools. А сега повече подробности.

С любов от Stepik: Hyperskill образователна платформа

Конкретна цел. Ние предлагаме „меню“ от проекти, т.е. програми, които можете да напишете с наша помощ. Сред тях са tic-tac-toe, личен асистент, блокчейн, търсачка и др. Проектите се състоят от 5-6 етапа; Резултатът от всеки етап е завършена програма. „Тогава защо се нуждаем от другите етапи, ако всичко вече се е получило в първия?“ благодаря за въпроса С всяка стъпка програмата става по-функционална или по-бърза. Първоначално кодът отнема 10 реда, но накрая може дори да не се побере в 500.

Малко теория. Невъзможно е да седнете и да напишете дори Hello World, без да знаете и дума за програмиране. Затова на всеки етап от проекта виждате какви теоретични основи трябва да усвоите и най-важното откъде да ги вземете. Основите също се намират в Hyperskill в раздела „Карта на знанието“. Ако за първия етап на проекта от учениците не се изисква да четат данни от файл, тогава те може да не успеят да продължат. Те ще го научат сами по-късно, за общо развитие, или ще им трябва на следващ етап.

С любов от Stepik: Hyperskill образователна платформа

Карта на знанието. Показва ви какви теми вече сте изучавали и как те са свързани една с друга. Отворете всеки сладък горнище. Можете да го прегледате набързо, но ви препоръчваме да изпълнявате малки задачи, за да сте сигурни, че информацията пасва в главата ви. Първо платформата ще ви даде тестове, след което ще ви даде няколко програмни задачи. Ако кодът се компилира и премине тестовете, сравнете го с референтното решение, понякога това помага да се намери по-оптимален начин за прилагането му. Или се уверете, че вашето решение вече е отлично.

Нищо допълнително. Очакваме както „зелени“ потребители, така и опитни разработчици. Ако вече сте писали програми, няма значение, ние няма да ви принуждаваме да добавяте 2+2 или да обръщате ред отново. За да стигнете незабавно до желаното ниво, когато се регистрирате, посочете какво вече сте запознати и изберете по-сложен проект. Не се страхувайте да се надцените: ако нещо се случи, винаги можете да се върнете към забравена тема в картата на знанието.

С любов от Stepik: Hyperskill образователна платформа

Инструменти. Чудесно е да пишете малки парчета код в специален прозорец на сайта, но истинското програмиране започва с работа в средата за разработка (Iинтегрирано DРАЗВИТИЕ Eзаобикаляща среда). Опитните програмисти знаят не само как да пишат код, но и как да проектират графичен интерфейс, да сглобяват различни файлове в проект, да използват допълнителни инструменти за разработка, а IDE се грижи за някои от тези процеси. Защо не научите тези умения, докато учите програмиране? Тук на помощ идва JetBrains и специална версия на IntelliJ IDEA Community Educational с предварително инсталиран плъгин EduTools. В такава IDE можете да вземете курсове за обучение, да проверите решени проблеми и да разгледате съвети за проекти, ако сте забравили нещо. Не се притеснявайте, ако за първи път чувате думата „plugin“ или „IDE“: ние ще ви кажем какво е това и как да го инсталирате на вашия компютър или лаптоп с минимални страдания. Разберете теорията и след това отидете в IDE и завършете следващия етап от проекта точно там.

Срокове. Няма нито един от тях! Кои сме ние, че да ви чукаме по главата и да ви казваме с какво темпо да пишете програма? Когато ви харесва да пишете код и искате да го завършите, вие го завършвате днес или утре. Правете развитие за собствено удоволствие.

Грешки. Всички ги признават, както и вие на един от етапите на проекта и тогава този етап няма да премине автоматичните тестове. Е, ще трябва сам да разбереш какво се обърка. Можем да ви кажем къде се крие грешката, но това ще ви научи ли как да пишете код внимателно? Прочетете съвети от IDEA или теоретична тема за грешки и когато програмата най-накрая заработи, приливът на допамин най-вероятно няма да закъснее.

Ясен резултат. И така, завършихте първата чернова, какво следва? Насладете се на плодовете на вашия труд! Играйте тик-так с приятелите си и в същото време се хвалете с успеха си. Качете проекта в GitHub, за да го покажете на бъдещ работодател, сами напишете описание и посочете знанията, които сте приложили. 4-5 сложни проекта и сега е готово скромно портфолио за начинаещ разработчик.

Възможност за растеж. Да приемем, че разглеждате Hyperskill и не виждате никаква важна тема или полезен проект там. Уведомете ни за това! Ако вашият опит е по-широк и по-богат от картата на знанията, тогава ни пишете във формата Принос. Нашият екип ще сподели нашите собствени съвети и трикове с вас, така че ще се радваме да ви помогнем да трансформирате знанията си в полезно съдържание, което е разбираемо за потребители от различни възрасти и нива. Може би дори ще платим, но не е сигурно.

Добре дошли: hi.hyperskill.org Влезте, вижте, пробвайте, предлагайте, хвалете и критикувайте. Ние също се учим да ви учим.

Източник: www.habr.com

Добавяне на нов коментар