Показват се публикациите с етикет програмиране. Показване на всички публикации
Показват се публикациите с етикет програмиране. Показване на всички публикации

неделя, 1 ноември 2015 г.

Чиракуването

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

Исторически, чиракуването е било често срещан начин за обучение. По време на Възраждането, много деца били изпращани да учат занаят при известни майстори и търговци. В "Записки по българските въстания", Захари Стоянов описва своето чиракуване при един майстор абаджия. Чиракът обикновено метял, чистил, разнасял поръчки, носил вода, бил "момче за всичко" и междувременно учел занаята поне няколко години. Ако бил трудолюбив и схващал занаята, след няколко години го повишавали в калфа, а след още няколко, можел да бъде избран и за майстор.

Един интересен пример за модела на чиракуването виждаме в живота на Никола Фичев (1800 - 1881 г.). Кольо Фичето става чирак на десетгодишна възраст, а след 7 години става калфа. За времето докато бил калфа, Дабко Уста-Генчов (неговия първи биограф) отбелязва, че "в работата си той е бил много точен, акуратен и изработените предмети го издавали за един вещ майстор-дюлгерин". През следващите 16 години, той се учил на строителство и архитектура от различни майстори, които му предавали своя опит. Също така, придобил много практически умения и научил три чужди езика по време на работата си по различните строежи, в които участвал. Десет години след като станал майстор, той вече организирал работата по няколко проекта едновременно. За да се справи с всички строежи, той имал няколко екипа, ръководени от други майстори, обучени от него.
* * *

През 21-ви век, чиракуването не е напълно изчезнало и все още дава добри резултати. През лятото имах възможност да бъда на стаж в една бързоразвиваща се българска софтуерна фирма. Работих по истински проекти (макар и вътрешни) и преминах през няколко важни обучения. Правех доста проучвания, преди реално да започна работа по даден проект.

Менторът ми ме напътстваше през цялото време, даваше ми ценни съвети по време на код-ревютата, даваше ми интересни примери за ползването на шаблоните, които изучавах. Също така ме запозна със съвременни организационни методи като Kanban и Scrum. Беше ми много полезно и интересно да се уча от професионалисти. Колегите ми работеха по интересни проекти, a понякога след работа играехме футбол. Другото лято продължаваме…

Ще завърша с това, че стажът е полезен по много начини за:
  • Стажанта, тъй като той се научава да поема отговорност, да работи, да си организира времето и още куп други полезни умения. Освен това, той не живее с притеснение за бъдещето, защото е имал възможност да види отблизо и се потопи в работната атмосфера.
  • Фирмата, която може да обучи хора на необходимите умения. Разбира се, важно е да има добри ментори, които да помогнат на стажантите да развият способностите си, като междувременно им предават и ентусиазма си.
  • Родителите, които (както казва майка ми) се радват, че децата им са се превърнали в млади хора, на които може да се разчита.


А да, да не забравя... по време на стажа не се налагаше да мета, да нося кобилици с вода, или пък да купувам халва и трици. :)

сряда, 25 февруари 2015 г.

Екип по програмиране

Днес ще ви разкажа за един проект, който започнахме миналата година с няколко мои приятели домашни ученици. Всъщност всичко започна като идея да направим уроци по програмиране за деца. Започнахме да се чуваме веднъж седмично по скайп и да изучаваме популярните web езици: HTML, CSS и Javascript.

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

Първото препятствие, което срещнах беше, че ако само показвах и разказвах поредната тема и обяснявах как работи примера, почти никой от групата не разбираше. Тогава потърсих някаква онлайн система, в която всеки да може да редактира кода си и останалите да го виждат веднага. Спрях се на jsbin.com. Започнах да давам малки задачи и да помагам на всеки, който закъса, да задавам насочващи въпроси докато всички разберат и направят работещ код.

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

В програмирането има една особеност - ученето наизуст на една програма не е начина, по който някой може да се научи да програмира. Необходимо е да се разберат основните елементи (променливи, оператори, команди), след което да се усвои умението една голяма задача да се разделя на под-задачи, които да се реализират по-лесно. Програмирането изисква комбинирането на много знания. Разбира се, има и неща, които е добре да бъдат запомнени, но те винаги може да бъдат проверени в интернет.

От опит знаем, че е много по-интересно да се учи, ако едновременно с това се прави и проект (в нашия случай: игра). В края на миналата година, след като вече бяхме понаучили доста неща, решихме да направим една образователна игра за по-малки деца: "Познай посоката". В нея едно човече се движи в мрежа от квадратчета в зависимост от дадена инструкция като "Отиди 5 стъпки на североизток". Тези инструкции се генерират случайно от програмата по такъв начин, че човечето да не излиза от мрежата. Ако човечето бъде преместено на правилната позиция, потребителя получава 10 точки, а иначе губи 5 точки.



Избрахме HTML редакторa CodeYourCloud, който има възможност за редактиране на един и същ код от много потребители и предоставя бърз преглед на получената уеб страница. Този онлайн редактор работи с Google Drive услугата, така че има предостатъчно място за кода, който ще решим да напишем в бъдеще.

Сега играта вече е завършена. Това е първата игра на нашия малък екип: Марти, Анди и Сами. Искам да им благодаря за упоритостта и ентусиазма, с които посрещат моите задачи! Надявам се, в скоро време да е готова и следващата ни игра, но засега ще я запазя в тайна.