Нашите курсове във ФМИ 2012/2013 и evans

През 2007 с Ники Бачийски подхванахме един избираем курс по Python. Трудно ми е да опиша колко положителни емоции и опит ми донесе. От тогава не сме спирали да го водим и дори сме пробвали няколко други (един по Rails и един по Ruby). Всъщност, Ruby-то бе миналата година и (според мен) бе най-добрия ни курс.

Вече не сме само двама. За тези шест години сме събрали малък екип от хора, които помагат по всевъзможни начини. Също така, разрастваме начинанието – тази година ще направим цели три курса – (1) Ruby през зимния семестър и (2) Python и (3) Clojure през летния. Разбира се, ако учите във ФМИ, горещо ви ги препоръчвам.

Но не пиша за това. Още не съм сигурен каква ще е моята активност в тези курсове, тъй като отново планирам местене в чужбина. Но нещо, в което съм сигурен, е че това лято ще обърна повече внимание на сайта на курса. И мисля, че това може да ви е интересно. Нека да обясня.

Сайтът е изключително централен за курса. Там студентите предават домашни, там могат да задават въпроси, там даваме обратна връзка за решенията им и там се пазят всички точки, изкарали до момента (точките определят оценката). Има ред механики, за които той е централен. Например, за да поощрим участитето в час, подхвърляме по един Snickers на студентите задали добър въпрос или дали добър отговор. Освен че е забавно и изключително калорично, на Snickers-а има залепен код. Ако го въведат на сайта получават точка. Имаме идеи за още няколко подобни механики, които ще имплементираме тази година. И тук може да се включите. Continue reading

Code Retreat №4

За четвърти път ще организирам Code Retreat в София. Датата е 21 юли 2012, часът е 09:00. Мястото отново ще бъде в офиса на Software Society.

Ще протече както е протичал и до сега. Всички са напълно добре дошли. Ако се колебаете или имате някакви въпроси, питайте ме тук и ще ви отговоря с най-голяма радост.

Ако ще идвате, задължително е да се регистрирате на сайта на Software Society.

Презентация: Майсторство в занаята

Вчера бяхме на OpenFest Габрово (снимки от Мариян). Беше супер. Тези малки конференции извън София са страхотни и искам да има повече. Но блогвам по друга причина.

Презентацията ми се казваше „Майсторство в занаята“ и комбинира идеи, над които напоследък често разсъждавам. Хареса ми как се получи, макар че има нужда да я поошлайфам малко. По тази причина, ще я повторя в четвъртък (10ти май). Мястото е ФМИ, залата е 200, а часът е 19:15. Ще бъде част от курса по Python, но за разнообразие, няма да говоря за Python. Входът, разбира се, е свободен.

Презентацията е от две части. В първата говоря за програмирането като кариера и няколко трудни истини свързани с него. Втората съдържа няколко урока, които ми се иска да бях научил преди 10 години. Идеите много ме ентусиазират – искам да ги споделя с повече хора.

Така че – заповядайте. Ако имате проблеми с това да намерите ФМИ или залата – пишете ми и ще ви помогна. След това вероятно ще отидем да изпием по една-две бири. Може да останете за тях.

П.П.: Ще кача слайдовете по-късно тази седмица. Ще се опитам да събера част от нещата в блог пост.

SICP Study Group: седмици 1 & 2

Structure and Interpretation of Computer Programs ми е слабост. Scheme ми е забавен, а материала – интересен. Няколко пъти съм се зачитал в книгата и винаги е било с голям кеф. Но всеки път съм се затруднявал да мина упражненията.

Последните няколко години книгата се радва на популярност извън MIT. Чичо Боб говореше разгорещено за нея на един keynote. На NordicRuby имаше хора, участващи в SICP Study Groups. Идеята ми хареса. Ученето в групи е по-ефективно от ученето сам – човек има мотивация да не изостава, както и възможност да види материала, пречупен през погледите на другите. Най-вече, изглежда като сигурен начин да направя упражненията.

Continue reading

Екзотични езици, №2 – Io

Тази година имам намерение да направя няколко презентации за по-екзотични езици за програмиране. Мисля да са 12 – по една за всеки месец. Вече съм един месец назад. Но надеждата умира последна.

Следващата ми презентация ще е за Io. Ще се проведе в initLab от 18:00 тази неделя (11 март).

Io е супер интересен език. Прототипно базиран, хомоиконичен, ползва libevent подобно на node.js и дори е подходящ за embed-ване. Може да погледнете сайта на Io. Може да научите повече ако дойдете в неделя.

Smalltalk и други екзотични езици в initLab

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

Искам да направя серия от малки презентации в initLab за такива езици. Очаквайте Io, Scheme, Haskell, J, Prolog и прочее. Първият ще е Smalltalk. Датата ще бъде 26ти януари. Часът ще бъде 19:00. Continue reading

Code Retreat на 9ти юли

Code retreat е интересен начин да усъвършенствате програмистските си умения. Събирате се група хора (четен брой) и решавате един конкретен проблем (Conway’s Game of Life). Работите по двойки (pair programming) с test-driven development. Пишете на сесии от 45 минути, след които правите кратка ретроспекция, изтривате кода и сменяте партньора. И така цял ден, с различни хора.

Идеята не е да решите проблема. Идеята е да обмените умения и да затвърдите фундаментални познания. Това е адски добър начин да научите test-driven development или някой друг трик с текстовия редактор/шела.

Чух за идеята миналата година на NordicRuby, но чак през април се престраших да я пробвам. Организирах малко събитие в initLab, в което поканих само познати. Събрахме се 6 човека и направихме 5 сесии. Писахме на C#, JavaScript, Ruby, Python и дори Scala. Бяхме много доволни. Всеки си тръгна научил нещо.

Искам да организирам друг и този път смятам да поканя всички, които искат да дойдат. Събитието ще се проведе от 9:00 на 9 юли, събота в initLab. Ако искате да участвате сте добре дошли. Не е нужно да сте опитни в TDD — просто носете компютър и добро настроение.

Ето как ще протече:

Ще направим нещата „по книга“ – времето ще е 45 минути, проблема ще е Game of Life, ще трием кода на края на сесиите и ще ползваме test-driven development.

Всяка двойка ще се уговаря помежду си на какъв език да пише. Със сигурност ще си намерите партньори за C#, Java, JavaScript, PHP, Python и Ruby. Вероятно ще има всякакви екзотики.

След всяка сесия ще събираме всички и ще обсъждаме как е минало. Ретроспекциите отнемат към 15 минути, след което ще продължаваме с друга двойка.

За да компенсирам ранното ставане, ще има закуска и кафе в initLab. Ако имате по-специални изисквания (не ядете месо или сте веган), кажете и ще се погрижа. След третата сесия ще отидем в близко заведение да обядваме. След това се връщаме и продължаваме. Реалистично погледнато, ще направим 6 сесии и ще приключим към 17:00.

Първите 20 минути ще се запознаем и закусим, след което ще разкажа подробно как ще протече събитието. След това започваме първата сесия.

Събитието ще е напълно безплатно (включително закуската).

Не нужно да сте опитни в TDD. Въпреки това, имаме следните изисквания към всеки участник:

  • Носете компютър
  • Научете правилата на Game of Life. Ако имате възможност, пробвайте да няколко шаблона.
  • Изберете си езици, на които ще пишете и научете поне един тестов framework във всеки. Важно е да познавате инструментите и да можете бързо да пускате тестове.
  • Задължително подкарайте празен проект за всяка двойка (език, testing framework), с които смятате да работите на вашия компютър. Не искате да прекарате голяма част от сесията в подкарване на проект.

Ако идвате, моля елате в 9:00 и останете за целия ден. Ако ще идвате, пишете ми на stefan точка kanev маймунка гмейл точка ком. Имам нужда да знам колко човека ще присъстват. Моля пишете само ако сте сигурни. Ако ви изникне нещо в последния момент, ще се радвам да ме предупредите.

Ако имате някакви въпроси, ползвайте формата за коментари, пишете в пощенския списък Software Craftsmanship Bulgaria или ми пратете писмо. Може да погледнете кратките отзиви от предишния code retreat или да намерите повече информация на coderetreat.com.

Ще се радвам да ви видя на 9ти!

Python @ FMI, v 5.0

Тази година с Николай ще правим за пети път курс по Python във ФМИ. Избираем е за студенти от втори курс нагоре. Ако попадате в тази демография, горещо ви го препоръчвам. Ако пък не, може въпреки това да дойдете и да видите за какво иде реч.

Първото събиране ще е във вторник, 1ви март, от 19:00 в зала 200. Ще се радвам да ви видя там.