With love from Stepik: адукацыйная платформа Hyperskill

Я хачу пагаварыць з вамі пра тое, чаму мы часцей робім сантэхніку, чым пішам пра яе дысертацыі, пра розныя падыходы да навучання праграмаванню і пра тое, як мы спрабуем прымяніць адзін з іх у нашым новым прадукце Hyperskill.

Калі вам не па душы доўгія ўступы, то пераходзіце адразу да параграфа пра праграмаванне. Але так будзе менш весяла.

With love from Stepik: адукацыйная платформа Hyperskill

Лірычны адступ

Давайце прадставім нейкую паненка Машу. Сёння Маша збіралася памыць сабе садавіны і спакойна паглядзець фільм, але вось няўдача: нечакана яна выявіла, забілася ракавіна на кухні. Што з гэтым рабіць - пакуль незразумела. Можна адкласці гэтае пытанне на нявызначаны тэрмін, але вольны час ёсць зараз, таму Маша вырашае разабрацца з праблемай адразу ж. Разумны сэнс падказвае дзве опцыі: а) выклікаць сантэхніка б) зладзіцца самастойна. Паненка выбірае другі варыянт і прымаецца вывучаць інструкцыі на ютубе. Па парадзе карыстача Vasya_the_plumber Маша зазірае пад ракавіну і бачыць там якая змяяецца пластыкавую трубу з некалькіх дэталяў. Дзяўчына асцярожна адкручвае адну дэталь у падставы ракавіны і нічога не знаходзіць. Кавалачак трубы ніжэй аказваецца намёртва забіты невядомай субстанцыяй, і нават знойдзеная на стале відэлец не спраўляецца з засорам. Эксперты з інтэрнэту даюць несуцяшальныя прагнозы: дэталь давядзецца мяняць. На карце Маша знаходзіць найблізкую краму, бярэ з сабой злашчасны кавалак трубы і купляе такі ж, толькі новы. Па парадзе прадаўца Маша прыхоплівае і новае падсітак, для прафілактыкі. Квэст завершаны: ракавіна зноў працуе як трэба, а яго галоўная гераіня, тым часам, даведалася наступнае:

  • Трубы пад ракавінай можна самастойна раскруціць і закруціць;
  • Найбліжэйшая крама сантэхнікі за паўтара кіламетра ад Машынай кватэры.

Хутчэй за ўсё, Маша нават і не заўважыла, колькі новага даведалася і чаму навучыліся, таму што яе хваляваў уласны камфорт у будучыні, а заадно кінапрагляд і памыты яблычак. У наступны раз, калі ўзнікне падобная праблема, дзяўчына вырашыць яе ў разы хутчэй. Насамрэч, Маша не проста вяртала свет у звыклы стан; яна вучылася індуктыўна, гэта значыць на прыватных выпадках, і практыкаарыентавана, гэта значыць робячы рэчы, а не вывучаючы іх падрабязна і загадзя.

Усё магло скласціся інакш. Выкажам здагадку, Маша сядзіць увечар у крэсле і раптам разумее, што маральна і фізічна не гатовая да засора ў ракавіне. Яна спешна запісваецца ў акадэмію сантэхнікаў, вывучае віды ракавін, труб і магчымых злучэнняў, класіфікацыю праблем з сантэхнікай і магчымыя варыянты іх устаранення. Маша не спіць начамі, запамінаючы тэрміны і назвы. Магчыма, яна нават піша кандыдацкую па тэарэтычным трубазнаўстве, дзе разважае пра гумавыя пракладкі. Нарэшце, атрымаўшы сертыфікат, Маша ганарліва аглядае кухню ў поўнай упэўненасці, што зараз нават маламальская праблема з ракавінай вырашыцца па пстрычцы пальцаў. Пры такім сцэнары дзяўчына навучалася дэдуктыўна, пераходзячы ад агульнага да прыватнага, і арыентавалася хутчэй на тэорыю.

Дык які ж з падыходаў лепш падыдзе? У выпадку з ракавінай і засорам - першы, і вось па якіх прычынах:

  1. Калі важная толькі працуючая ракавіна, значыць дастаткова ведаць толькі тое, што датычыцца менавіта гэтай сферы. Калі Маша зразумее, што ведаў не хапае, яна абавязкова знойдзе спосаб даведацца больш.
  2. Энцыклапедычная падкаванасць можа не ўключыцца ў рэальнай сітуацыі, бо не адпрацавана звычка. Для таго, каб навучыцца паслядоўнасці дзеянняў, ёсць сэнс не прачытаць пра іх, а выканаць.

Давайце ўжо пакінем у спакоі бедную Машу і пяройдзем да працэсу навучання як такога.

Праграмаванне: вучыцца ці рабіць?

Мы прывыклі думаць, што, каб развіцца і стаць экспертам у незнаёмай вобласці, у першую чаргу трэба паступіць ва ўніверсітэт ці хаця б запісацца на курсы. Мы спраўна слухаем тое, што расказваюць, выконваем заданні. Калі ж на руках аказваецца запаветны дыплом ці сертыфікат, імгненна губляемся, бо так і не зразумелі, навошта нам столькі інфармацыі і як канкрэтна яе прымяняць. У гэтым няма праблем, калі далей у планах - пісаць навуковыя працы і ездзіць з імі на канферэнцыі. У іншым выпадку варта імкнуцца і да навыкаў, гэта значыць рабіць і зноў рабіць пэўныя рэчы, спрабаваць і памыляцца, каб надоўга запомніць, як лепш не рабіць.

Адна са сфер, дзе "набітая рука" ці "вока-дыямент" ідуць побач з шырынёй кругагляду - праграмаванне. Калі вы пагутарыце з дасведчанымі распрацоўшчыкамі, то пачуеце бравыя гісторыі, у якіх чалавек з юных гадоў займаўся матэматыкай/фізікай/выкладаннем, а потым стаміўся і перайшоў у бэкэнд. Знойдуцца і праграмісты без вышэйшай адукацыі! У першую чаргу ў распрацоўшчыку шануюць не сертыфікат, не дыплом, а колькасць і якасць напісаных праграм, скрыптоў і сайтаў.

«Але пачакайце!», запярэчыце вы, » Прыгожа гучыць — бяры і рабі! Я не магу папросту напісаць сабе праграму, калі да гэтага не праграміраваў(ла)! Мне важна разумець, дзе пісаць, як у прынцыпе размаўляць на мове праграмавання з кампілятарам. Гэта не тэлефон сантэхніка ў гугле знайсці.».

Горкая праўда ёсць і ў гэтым. Адзін незнаёмы аспект цягне за сабой іншы, той, у сваю чаргу, трэці, і хутка гэты працэс ператвараецца ў шоў штукара, які працягвае выцягваць звязаныя хустачкі і ніяк не дастане іх з цыліндру. Працэс, сапраўды скажу, непрыемны, на 5-м «хустачцы» ужо здаецца, што глыбіня невуцтва блізкая да Марыянскай западзіны. Альтэрнатыва гэтаму — тыя ж лекцыі аб 10 відах зменных, 3 відах цыклаў і 150 патэнцыйна карысных бібліятэках. Сумна.

Hyperskill: мы будавалі, будавалі і нарэшце пабудавалі

Мы доўга думалі над гэтай праблемай. Пра тое, як доўга мы думалі, красамоўна гаворыць дата апошняга посту ў нашым блогу. Пасля ўсіх спрэчак і спроб інтэграваць новы падыход на Stepik у нас атрымаўся іншы сайт. Магчыма, вы ўжо чулі пра яго як пра частку JetBrains Academy. Мы назвалі яго Hyperskill, убудавалі туды project-based learning, прывязалі да яго базу ведаў па Java і заручыліся падтрымкай каманды EduTools. А зараз падрабязней.

With love from Stepik: адукацыйная платформа Hyperskill

Канкрэтная мэта. Мы прапануем "меню" з праектаў (projects), г.зн. праграм, якія вы можаце з нашай дапамогай напісаць. Сярод іх - крыжыкі-нулікі, персанальны асістэнт, блокчейн, пошукавік і г.д. Праекты складаюцца з 5-6 стадый (stages); вынік кожнай са стадый - гатовая праграма. "Навошта тады астатнія стадыі, калі на першай ужо атрымалася ўсё?" Дзякуй за пытанне. З кожным крокам праграма становіцца функцыянальней ці хутчэй. Спачатку код займае 10 радкоў, пад канец можа не змяшчацца і ў 500.

Трохі тэорыі. Немагчыма сесці і, не ведаючы ні слова аб праграмаванні, напісаць нават Hello World. Таму на кожным этапе праекта вы бачыце, якія тэарэтычныя асновы вам трэба будзе асвоіць і, галоўнае, дзе іх узяць. Азы размясціліся таксама на Hyperskill у раздзеле "Карта ведаў" (Knowledge Map). Калі для першай стадыі праекта навучэнцы не абавязаны чытаць дадзеныя з файла, няхай і не ўмеюць далей. Вывучаць потым самі, для агульнага развіцця, ці спатрэбіцца на наступным этапе.

With love from Stepik: адукацыйная платформа Hyperskill

Карта ведаў. На ёй відаць, якія тэмы вы ўжо вывучылі і як яны звязаны адна з адной. Адкрыйце любы сімпатычны топік. Можаце прабегчыся па ім вачамі, але рэкамендуемы выканаць і невялікія задачкі, каб пераканацца, што інфармацыя ўклалася ў галаве. Спачатку платформа вам падкіне тэсты, пасля іх - пару задач на праграмаванне. Калі код кампілюецца і праходзіць тэсты, то параўнайце яго з узорам рашэння (reference solution), часам гэта дапамагае даведацца больш аптымальны спосаб рэалізацыі. Або ж пераканацца, што ваша рашэнне і так цудоўна.

Нічога лішняга. Мы чакаем і "зялёных" карыстальнікаў і бывалых распрацоўшчыкаў. Калі вы ўжо пісалі праграмы, не бяда, мы не прымусім вас зноў складаць 2+2 ці пераварочваць радок. Каб адразу патрапіць на патрэбны ўзровень, пры рэгістрацыі пакажыце, з чым вы ўжо знаёмыя, і выбірайце праект больш складана. Не бойцеся сябе пераацаніць: калі што - заўсёды можна вярнуцца да забытай тэмы ў карце ведаў.

With love from Stepik: адукацыйная платформа Hyperskill

Інструменты. Гэта выдатна - пісаць невялікія кавалачкі кода ў спецыяльнае акенца на сайце, але сапраўднае праграмаванне пачынаецца з працы ў асяроддзі распрацоўкі (Iінтэграваны DАЗВИТИЕ Enviroment). Доследныя праграмісты ведаюць не толькі як пісаць код, але і як канструяваць графічны інтэрфейс, збіраць розныя файлы ў праект, карыстацца дадатковымі прыладамі распрацоўкі, і частка гэтых працэсаў IDE бярэ на сябе. Чаму б не навучыцца і гэтым скілам, пакуль вы асвойваеце праграмаванне? Тут прыходзіць на дапамогу JetBrains і спецыяльная версія IntelliJ IDEA Community Educational з прадусталяваным убудовай EduTools. У такой IDE можна праходзіць навучальныя курсы, правяраць вырашаныя задачкі і падглядваць у падказкі па праекце, калі вы нешта забыліся. Не хвалюйцеся, калі ўпершыню чуеце слова "убудова" ці "IDE": мы распавядзем, што гэта такое і як яго ўсталяваць на кампутар або наўтбук з мінімальнымі пакутамі. Разбірайцеся з тэорыяй, а затым пераходзіце ў IDE і завяршайце чарговую стадыю праекту прама тамака.

Дэдлайны. Іх няма! Хто мы такія, каб стукаць па галаве і ўказваць, у якім тэмпе вам пісаць праграму. Калі вам падабаецца пісаць код і жадаецца дарабіць яго да канца, вы дапісваеце яго, сёння ці заўтра. Займайцеся распрацоўкай у сваё задавальненне.

Памылкі. Усе іх дапускаюць, дапусціце і вы на адным з этапаў праекту, і тады гэты этап не пройдзе аўтаматычныя тэсты. Што ж, давядзецца самастойна разабрацца, што пайшло не так. Мы маглі б сказаць, дзе крыецца памылка, але хіба гэта навучыць вас пісаць код уважліва? Чытайце падказкі ад IDEA або тэарэтычны топік пра Bugs, і, калі праграма нарэшце запрацуе, прыліў дофаміна, хутчэй за ўсё, не прымусіць сябе чакаць.

Наглядны вынік. Дык вось, вы дапісалі першы праект, што далей? Карыстайцеся плёнам прац! Згуляйце з сябрамі ў крыжыкі-нулікі, заадно пахваліцеся поспехамі. Загрузіце праект на GitHub, каб паказаць будучаму працадаўцу, напішыце апісанне самастойна, укажыце там тыя веды, якія ўжывалі. 4-5 складаных праектаў, і вось, сціплае партфоліё для распачыналага распрацоўніка гатова.

Магчымасць для росту. Дапусцім, вы глядзіце на Hyperskill і не бачыце там нейкай важнай тэмы або карыснага праекта. Паведаміце нам пра гэта! Калі ваш бэкграўнд шырэй і багацей карты ведаў, то напішыце нам у форму Спрыяць. Наша каманда падзеліцца з вамі ўласнымі tips&tricks, так што будзем рады дапамагчы вам пераўтварыць вашыя веды ў карысны кантэнт, зразумелы карыстальнікам рознага ўзросту і ўзроўню. Можа, мы нават заплацім, але гэта не дакладна.

Сардэчна запрашаем: hi.hyperskill.org Заходзьце, глядзіце, спрабуйце, прапануйце, хвалеце і лайце. Мы таксама вучымся вас вучыць.

Крыніца: habr.com

Дадаць каментар