Арганізатары і асістэнты выкладчыкаў аб анлайн-праграмах CS цэнтра

14 лістапада CS цэнтр у трэці раз запускае анлайн-праграмы "Алгарытмы і эфектыўныя вылічэнні", "Матэматыка для распрацоўшчыкаў" і "Распрацоўка на C++, Java і Haskell". Яны створаны, каб дапамагчы акунуцца ў новую вобласць і закласці падмурак для навучання і працы ў IT.

Каб паступіць, вам трэба будзе пагрузіцца ў атмасферу навучання і здаць уступны іспыт. Падрабязней аб праграме, экзамене і кошце чытайце на code.stepik.org.

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

Арганізатары і асістэнты выкладчыкаў аб анлайн-праграмах CS цэнтра

Як уладкованыя праграмы

У CS цэнтры ёсць тры анлайн-праграмы на платформе Stepik: "Алгарытмы і эфектыўныя вылічэнні", «Матэматыка для распрацоўшчыкаў» и "Распрацоўка на C++, Java і Haskell". Кожная праграма складаецца з дзвюх частак. Гэта курсы, падрыхтаваныя вопытнымі выкладчыкамі і вучонымі:

  • Алгарытмы і тэарэтычная інфарматыка ў складзе праграмы па алгарытмах.
  • Матаналіз, дыскрэтная матэматыка, лінейная алгебра і тэорыя верагоднасцяў у праграме па матэматыцы для распрацоўшчыкаў.
  • Курсы па C++, Java і Haskell у анлайн-праграме па мовах праграмавання.

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

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

Кожны курс унутры праграмы ідзе прыкладна два месяцы. У фінале студэнты павінны здаць іспыт або атрымаць залікі па ўсіх курсах.

Арганізатары і асістэнты выкладчыкаў аб анлайн-праграмах CS цэнтра

Хто нашы студэнты

Студэнты анлайн-праграм:

  • Жадаюць запоўніць прабелы ў матэматыцы або праграмаванні. Напрыклад, вопытныя распрацоўшчыкі, якія хочуць падцягнуць матэматычную базу.
  • Пачынаюць знаёміцца ​​з праграмаваннем і ўключаюць праграмы цэнтра ў свой самаадукацыйны план.
  • Рыхтуюцца да паступлення ў магістратуру ці CS цэнтр.
  • Студэнты з іншым профільным адукацыяй, якія вырашылі кардынальна змяніць напрамак. Напрыклад, хімікі ці педагогі.

Арцемій Пестрацоў: «У нас быў студэнт, мужчына ў самым росквіце сіл, які працаваў у нафтагазавай кампаніі і ўзяў адтэрміноўку па дэдлайнах, бо паехаў у камандзіроўку на свідравіну. Прыкольна, што людзі з зусім розным досведам бачаць, што IT-тэхналогіі і матэматыка набралі абароты. Гэта якія адбыліся людзі, якія могуць і так выдатна жыць, але спрабуюць даведацца нешта новае, жадаюць развівацца ў іншых абласцях».

Міхаіл Весялоў, vmatm: «Узровень ва ўсіх розны: нехта не да канца разбіраецца з базавымі рэчамі ў мове, а нехта прыходзіць праграмістам на Java ці Python, і з ім можна падтрымліваць размову ў духу «як зрабіць лепш». Галоўнае, арыентавацца не на лепшых з лепшых, а на сярэдні ўзровень, каб курс аказаўся карысны ўсім».

Як арганізавана навучанне

Некалькі інструментаў дапамагаюць арганізатарам і выкладчыкам будаваць працэс.

Перапіска ў пошце. Для важных і фармальных аб'яваў.
Чат з выкладчыкамі і арганізатарамі. Хлопцы часта пачынаюць дапамагаць адно аднаму ў чаце яшчэ да таго, як выкладчык або асістэнт убачаць пытанне.
YouTrack. Для пытанняў і здачы задач выкладчыкам і асістэнтам. Тут можна задаваць прыватныя пытанні і абмяркоўваць рашэнне сам-насам: дзяліцца рашэннямі адзін з адным студэнты, вядома, не могуць.

Арганізатары размаўляюць са студэнтамі і імкнуцца хутка вырашаць праблемы. Крысціна Смольнікава: “Калі некалькі студэнтаў пытаюцца адно і тое ж, значыць, гэта агульная праблема і трэба расказаць пра яе ўсім”.

Як дапамагаюць асістэнты

Код-рэўю

Студэнты праграм здаюць хатнія заданні, а асістэнты правяраюць, наколькі іх код чысты і аптымальны. Вось як хлопцы арганізавалі раўчу ў мінулы раз.

Арцемій Пестрацоў стараўся адказваць на пытанні на працягу 12 гадзін, таму што студэнты здавалі задачы ў розны час. Чытаў код, знаходзіў праблемы з пункту гледжання стандартаў, агульных практык праграмавання, дакопваўся да дробязяў, прасіў аптымізаваць, падказваў, якія імёны зменных трэба выправіць.

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

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

«У першыя адзін-два тыдні навучання людзі пішуць не вельмі акуратны код. Ім трэба клапатліва нагадаць пра стандарты, якія ёсць і ў Python, і ў Java, распавесці пра аўтаматычныя аналізатары кода на прадмет відавочных памылак і недахопаў, каб потым на гэта не адцягвацца і каб увесь семестр не даставаць чалавека тым, што ў яго пераносы няправільна зроблены або коска не там стаіць».

Парады тым, хто хоча праводзіць навучальныя code review

1. Калі студэнт напісаў праблемны код, не трэба прасіць перарабляць яго нанава. Важна, каб ён зразумеў, у чым праблема менавіта гэтага кода.

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

3. Не трэба засяроджваць увагу на тым, што студэнт пачатковец: калі чалавек нешта робіць упершыню, ён больш сур'ёзна ставіцца да крытыкі, зусім не ведае, як гэта робяць звычайна, і што ў яго атрымліваецца, а што не. Лепш акуратна казаць толькі пра код, а не пра мінусы студэнта.

4. Выдатна навучыцца адказваць на пытанні ў «адукацыйнай» манеры. Задача - адказаць не прама, а зрабіць так, каб студэнт сапраўды зразумеў і сам дайшоў да адказу. Арцемій: «У 99% выпадкаў я мог адразу адказаць на пытанне студэнта, але не часта мог тут жа ўзяць і напісаць адказ, бо трэба шмат што ўзважваць. Напісаў пяцьдзесят радкоў, сцёр, зноў напісаў. Я адказны за рэпутацыю курсаў і веды студэнтаў, і гэта няпростая праца. Вельмі крутое пачуццё ўзнікае, калі студэнт кажа: "О, у мяне азарэнне!" І я таксама такі: «У яго азарэнне!».

5. Важна быць уважлівым і не крытыкаваць моцна. Натхняць, але не надта, каб студэнт не думаў, што робіць усё шыкоўна. Тут давядзецца навучыцца пісьменна кіраваць узроўнем сваіх эмоцый.

6. Карысна калекцыянаваць агульныя заўвагі і аднатыпныя памылкі, каб эканоміць час. Можна запісаць першае такое паведамленне, а потым проста капіраваць і дадаваць дэталі ў адказ іншым на такое ж пытанне.

7. З-за розніцы ў ведах і вопыце некаторыя рэчы здаюцца відавочнымі, таму першыя часы асістэнты не расшыфроўваюць іх у каментарах для студэнтаў. Дапамагае проста перачытаць напісанае і дапісаць тое, што здавалася банальным. Міхаіл: «Мне падаецца, чым даўжэй я дапамагаю з праверкай рашэнняў, тым больш зразумела я студэнтам новага курсу з самага пачатку. Першыя каментары да кода я б зараз прачытаў і сказаў: "Трэба было акуратней, падрабязней".

Выкладаць і асіставаць - класна

Мы папрасілі рабят расказаць, які карысны вопыт яны атрымалі, пакуль праводзілі код-рэўю і размаўлялі са студэнтамі.

Арцемій: «Галоўнае, чаму я навучыўся, — такому, выкладчыцкаму, цярпенню. Гэта абсалютна новы навык, я асвойваю для сябе зусім новыя, не тэхнічныя вобласці. Думаю, што выкладанне вельмі дапаможа, калі я буду выступаць на канферэнцыях, у размове з калегамі ці прэзентацыі праектаў на мітынгу. Раю ўсім паспрабаваць!»

Міхаіл: «Гэты досвед дапамог крыху больш памяркоўна ставіцца да таго, што нехта піша код не так, як я. Асабліва калі толькі пачынаеш глядзець на рашэнне. Курсы па Python і па Java я праходзіў сам і падобныя задачы вырашаў інакш. Па-іншаму называў зменныя і функцыі. І рашэнні рабят усё крыху іншыя, таму што ў праграмаванні не бывае эталоннага рашэння. І вось тут патрэбна некаторае цярпенне, каб не сказаць: "Трэба было рабіць толькі так!" Гэта дапамагло потым на працы абмяркоўваць плюсы і мінусы канкрэтных рашэнняў, а не плюсы і мінусы таго, што гэта зрабіў не я».

Падрабязней пра анлайн-праграмы і водгукі выпускнікоў

Крыніца: habr.com

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