2010-07-30 лятната ученическа школа на БАН във Варна
Friday, July 30th, 2010След малко тръгвам за автогарата, за да се прибера в София и да отпразнуваме деня на sysadmin-а.
Прекарването във Варна беше интересно.
На първо време си потвърдих мнението, че целият училищен предмет “информационни технологии” е нещо странно и доста недомислено, което от своя страна прави състезанията им и извънучилищните школи доста странни. Информатиците нямат този проблем – те си решават задачи (правят си състезания всяка сутрин) и се готвят за международната олимпиада (каквато информационните технологии нямат).
От друга страна обаче лекции като моите пък нямат смисъл за състезателите по информатика, понеже само ще ги разсейват от основната идея, която е да решават задачи. От моя гледна точка нещо не-особено-полезно (и средно интересно), но пък от тяхна изглежда важно.
Изнесох три лекции на учениците – “Open source и с какво може да ви е полезен на вас”, “Идеи на сигурното програмиране” и “Основни неща от криптографията”. Третата лекция трябваше да е “source control системи”, но към криптографията имаше по-сериозен интерес. Накратко трите лекции:
Open source – че могат да научат много как се пише и как не се пише от продукти в реалния свят, да научат какво представлява един голям проект и да свикнат да работят в някакъв екип (например да могат да работят с идиоти или с хора, които са много по-добри от тях).
Сигурното програмиране представляваше описание на няколко странни класа атаки, малко демонстрации и малко теория за как да се пише сигурно (т.е. няма перфектен начин, но има много, от които човек може да подбере това, с което може да работи).
Криптографията беше един час обяснение какво е (поточни и блокови шифри, криптография с публичен ключ, режими на приложение на блокови шифри, хешове, малко квантова криптография) и атаки – от различните математически до side channel и timing атаките. Мисля, че с тая лекция може да съм отказал малкото ентусиасти да се занимават с криптография.
Интересът на учениците беше м/у среден и никакъв. Те бяха дошли на почивка и всичко друго им беше почти страничен ефект. Всички бяха по-малки от 18 години (т.е. нямаше никой последна година, те вече не се броят за ученици), а лекциите бяха сутринта от 9 (аз имах огромен проблем да стана за първата си лекция например, бях помолил няколко човека да минат да ми чукнат на вратата), което водеше до едни полу-заспали хора, които не са в най-доброто си състояние за възприемане на информация (особено като снощи са пили до 1-2, а деня са го изкарали на плажа). Имаше няклко заинтересовани човека, с които си говорехме и после, но те бяха малко.
(поправиха ме, има и някои на 18. Да речем, всички бяха или малки, или съвсем близо до 18 :) )
Мисля, че едно от най-полезните неща беше да им дам на всички един zip с 5 книги:
TCP/IP Illustrated vol.1 на W.Richard Stevens, като основен увод в това какво са IP мрежи (което се оказа, че никой не знае)
Coders at work на Peter Seibel, като пример как работят няколко наистина добри и известни програмисти (като може харесат някои варианти за себе си)
Applied Cryptography на Bruce Schneier, като обяснение как се работи с криптографията и колко не-тривиална е цялата област.
Maters of Doom на David Kushner, с подобна идея като coders at work.
On Writing на Стивън Кинг (намерих им я на български), понеже за всеки програмист (и не само) е важно да може да си пише на собствения език.
А на мен ми дойде бая три дни подред да ставам сутринта, след като вечерта сме пили до два. Свърших и една бутилка Lagavulin, докато бях тук.
Като цяло си мисля, че по-скоро да се намери начин да се дава една книга с основни обяснения какво са мрежи, програмиране и т.н. ще е по-полезна от лекциите, които водих тук. Опитите за подобряване на образованието продължават…