суббота, 13 августа 2011 г.

Летняя практика

Вот уже лето на исходе, а я до сих пор ничего не рассказал про нашу летнюю практику. Что ж, лучше поздно, чем никогда.

Практика у нас обязательная. И нам предложили довольно неплохой список вариантов: Yandex, JetBrains, Parallels и лаборатория алгоритмической биологии. В начале лета вышеназванные компании провели презентации себя в нашем университете и мы отправились выбирать. Потом были собеседования. Я выбрал Yandex и JetBrains.

Яндекс
Первым был яндекс. Собеседовали меня на проект в "мастерскую". Обязательные вопросы про желание работать, сроки итп. Из технических вопросов было: написать 5 sql запросов делающих то-то. Какие то вопросы про дедлоки. И вопросы про структуры данных. В духе "У вас есть контейнер, в который постоянно что-то добавляется. При этом в нем не менее часто производится поиск. Какую структуру данных вы выберете?".

JetBrains
Откровенно говоря, странное собеседование. Мы там скорее о жизни поговорили, нежели выяснили мои знания =) Из профильных вопросов - Как найти КСС и за сколько? А также какие способы вычисления чисел Фибоначчи вы знаете? За сколько они работают?

Выбор
Оба собеседования я успешно прошел и передо мной встал тяжелый вопрос выбора. С одной стороны - Yandex c более высокой зарплатой и явой. С другой - менее оплачиваемый JB и C#. Опыт работы с Java у меня имелся и я не могу сказать, что она вызывала у меня хоть какие-то эмоции. А вот шарпом я практически не владел. А хотелось попробовать =)

В общем, вот уже месяц, как я работаю в JetBrains. Выбором доволен - интересная работа, отличный коллектив и великолепные условия труда. Еда интегрирована в трудовой процесс и довольно разнообразна, а главное - вкусна. Также, всегда можно пойти и поиграть в настольный теннис или кикер. А еще там есть электронное пианино.

Что меня поразило при первом визите - там в кабинетах нет дверей. Мне это очень нравится. Эдакая атмосфера полной открытости.

Непосредственно про работу мне рассказать нечего - NDA. Могу только сказать, что работаю в проекте DotCover.

среда, 29 июня 2011 г.

Итоги весеннего семестра 2011

Наконец-то закончился второй семестр. И наконец-то я собрался о нем написать.
Семестр, пожалуй, получился очень неоднозначным. С одной стороны отличные курсы по плюсам и высоконагруженным сервисам. С другой - 2,5 предмета-фейла. Но обо всем по порядку

C++

Саша С. – повелитель C++
Смешанные чувства. Вроде не так уж и много нового узнал. Но преподавалось все на уровне. Порадовали задания лаб. Реализация подобных заданий, на мой взгляд, позволяет довольно неплохо разобраться в шаблонах. 
Также, как обычно, студенты публиковали записи лекций. Их можно посмотреть тут. А задания практик - тут
Экзамен немного разочаровал. В прошлом семестре было сложнее. А в этом - неприлично легко.




Спецкурс по высоконагруженным сервисам

Смотрим exorg

Один из лучших и полезнейших курсов в семестре. Извините, на обещанный отдельный пост меня не хватило) Если кратко, то польза курса в том, что он был очень приближен к реальности. Командная работа, дедлайны, неизвестные технологии и многое другое.
Правда в итоге высоконагруженного сервиса не получилось. Мы убили очень много времени на допиливание функциональности и над нагрузками так и не поработали. 
Также, мы реально подумывали о том, чтобы продолжить развивать проект летом.  Посмотреть на сайт можно будет когда-нибудь тут. (Обновление объявлений сейчас отключено по экономическим причинам) 
Да, кстати, сайт второй команды здесь 

Практика

Про практику мне чего-то совсем не хочется рассказывать... Скажу только, что она была про мою любимую компьютерную графику. Однако, на OpenGL. Совершенно разочарован данным API. Видеть его более не хочу. Никогда.
Летом займусь переписыванием проекта на DirectX.

Алгоритмы 

Наконец-то пришло осознание малой полезности курса в данной форме. Напомню, мы занимаемся только теоретической частью. Практики реализации алгоритмов у нас нет. Вот именно это я и считаю основным упущением. Реализовать алгоритм и прочитать про алгоритм - уж очень разные вещи. Также не понравилось некоторое разгилдьяйство преподавателя.
Еще довольно неоднозначаным получился экзамен. Каждый приходил в строго назначенное ему время. После чего в течение 40 минут решал 2 задачи. А потом 40 минут беседовал с преподавателем на все темы семестра. Многим такая форма экзамена не понравилась. Мне, например, не хватило времени на задачи. Однако я все-таки выкрутился).



Машинное обучение

Ничего не понятно. И не только мне. И что тупо - создалось впечатление, что преподавателю было очень хорошо известно, что нихрена не понятно. Но он как-будто забил на это. И продолжал с невозмутимым видом начитывать материал. На мой скромный взгляд, стоило бы притормозить повествование да разобраться что не понятно.
Однозначно самый сложный предмет семестра. Опять же, толку от одной только теории мало - надо бы хоть какую-нибудь практику.
Лекции здесь

Теория формальных языков
Худший предмет семестра. Посетив первые пару лекций и офигев от преподавателя, читающего слайды слово в слово. Я решил на сие не ходить. И правильно сделал, как выяснилось. А еще, эти слайды товарищ Герасимов не менее слово-в-слово переписывал из учебника. Не, это конечно похвально. Трудолюбивый преподаватель и все такое. Но вот слушать это было решительно невозможно. А еще, он как-то так сделал, что мне поначалу предмет показался очень сложным. Но стоило только начать читать книгу - как оказалось, что это чуть ли не самый простой предмет семестра.
Отдельного упоминания заслуживают контрольные. Очень тупые задания. В основном - на применение пройденных алгоритмов. Глупо и скучно. Да еще и придирался невероятно. Пример задания: дана грамматика, задающая арифметические выражения в постфиксной записи с операциями сложения, умножения и чего-то там еще. Построить LL, ПП/СП, (S)LR(?) - автоматы для этой грамматики. В каждом привести пример, распознаваемой цепочки и ПРОГНАТЬ автомат на бумажке. Блин. Просто дух захватывает.
Что смешно - на контрольной можно было пользоваться всем, чем угодно. Но нельзя было, например, разговаривать с соседом. Мне вот интересно, преподавателя не насторожило то, что на его контрольной студенты вместо написания собственно работы сидят уткнувшись в мониторы ноутов и громко стучат клавишами?))) Короче, кто хотел - тот списал =)


Технологический семинар

Если помните, то 5го апреля я жаловался на скучные семинары. Так вот. Буквально через 3 дня в рассылку прилетело сообщение от преподавателя о том, что надо что-то менять на семинарах. Врядли он читал мой блог, просто проблема скуки стала уж очень очевидна.
В итоге, на семинарах стало больше практической части. Были введены мастер-классы. А главное - стало больше докладов по темам, которые интересны(и хорошо известны) самим докладчикам. Получилось неплохо, я считаю.
Непофигизм преподавателя очень порадовал. Уважаю

Семинар по скриптовым языкам 

Проблема та же, что и с предыдущим семинаром. Скучно. Только тут не нашлось преподавателя, которому не пофигу. Который попытался бы что-то изменить. В результате и студентам стало пофигу. Короче, получился отстой.
Я уж молчу про дурацкие темы. Ну как можно на новый язык программирования отводить одну лекцию? Мы за семестр рассмотрели что-то около 7 языков программирования. И в итоге, я смогу написать что-то осмысленное только на JavaScript и ruby. И то, потому что готовил презентацию по node.js и писал веб-сервер на руби.

Введение в программную инженерию
Обзорный предмет по умным словам из мира разработки. Больше сказать особо нечего.

Как-то негативно получилось. Но я все-таки доволен этим семестром. Наконец-то я хоть немного разобрался с машинным обучением, поднял свои скиллы в алгоритмах, осовил немного Java и, конечно, разобрался во всяких там грамматиках.

вторник, 14 июня 2011 г.

struct vs class

Какое ключевое слово вы используете для классов? Или лучше так: В каких ситуациях вы используете struct, а в каких class?
Если вы случайно попали в этот блог, и не знаете чем отличаются эти ключевые слова, то подскажу - ничем, кроме моидификатора доступа/наследования по-умолчанию.

Раньше я всегда для "вумных" объектов писал class, а для всяких мелких "контейнеров" struct.
Потом лень меня победила и я стал использовать struct везде. И вот мои аргументы:

1 Наследование
Вы часто используете приватное наследование? А защищенное?
Нет? А чо так?
Я тут прикинул, что не использовал приватное наследование осмысленно ниразу. Соответственно почему оно является наследованием по-умолчанию для меня загадка. Отсюда первый довод в пользу struct: Используя ключевое слово struct вам не придется лишний раз писать "public" при наследовании.









2 Публичный интерфейс
Что вы ожидаете увидеть, открывая хедер какого-либо класса? Я, обычно, хочу увидить его публичный интерфейс, дабы понять что этот класс делает. И, мне, не менее обычно, наплевать КАК он это делает. Посему, я хочу увидеть это как можно быстрее, без вского там скроллинга. В общем, я за то, чтобы публичная часть класса была "сверху". Так в принципе многие и делают. И выглядит это как-то так:











Вы не находите, что здесь что-то лишнее?

Итог
А в итоге часто имеем такой код:

В приведенном листинге 3 раза написано ключевое слово public. И все три раза оно нафиг не нужно при использовании struct.









P.S. Не то чтобы я считал это все очень важной проблемой C++. Просто захотелось что-нибудь запостить в блог =) Не принимайте близко к сердцу

понедельник, 16 мая 2011 г.

КРИ 2011

Гостиница Космос. Основное место действия

В моем любимом университете есть программа по отправке студентов на различные конференции. Я вообще, не считал себя раньше любителем конференций, но решил таки съездить на конференцию разработчиков игр. О моей поездке и пойдет речь в этом посте.

Началось все как-то грустно - приехав в Москву в пол седьмого утра я что-то совсем не выспался и уже начал предвкушать тяжелую борьбу со сном на конференции.
Я когда-то слышал, что на КРИ бывают огромные очереди на регистрацию, но реальный масштаб меня таки удивил - очередь на весь зал). К счастью, я приехал рано и прошел регистрацию минут за 20. Ну а потом началось...

10:00 Петр Камышников, Mail.Ru. - Интерфейсы "Аллодов Онлайн" изнутри

Не знаю, что хотел рассказать автор, но косяк организаторов ему явно помешал - на этом выступлении не было проектора. В общем, получился доклад ниочем.

11:00 Александр Винников, Nival Network -  Игровая механика, управляемая данными, в проекте Prime World

Проектор принесли, но компьютер, предназначенный для демонстраций не заработал. В общем, еще один косяк. НО. На этот раз автору таки удалось донести до аудитории что-то интересное. Хотя и не очень понятно. Запомнился рассказ о "формулах" в проекте.
В геймдеве, обычно, намешано множество людей различных специальностей - программисты, художники, композиторы, дизайнеры итп. Понятно, что люди, разрабатывающие игровую логику, пилящие баланс итп не всегда знакомы с программированием. И уж совсем точно не стоит ожидать от них глубоких познаний в этой области. Поэтому, для них и придумали систему, когда человек пишет некую формулу(например, для вычисления урона при ударе). Формула пишется на очень простом языке, который потом регулярнми выражениями(!!) трансилруется в C++, компилируется и вставляется в проект как ресурс O_o. В общем, неплохо. Но со слайдами было бы лучше)

12:00 Виталий Видмиров, Gaijin Entertainment - Оптимизация графического конвеера на платформе PS3

Все, начиная с этого доклада никаких проблем с проектором более не было. Что касается доклада - у меня нет PS3. И я никогда с ней не работал. Так что не особо то я там все понял) Рассказывали уж об очень специфичных для PS техниках. SPU там всякие...

13:00 Евгений Заякин, Creat Studios - Не зарастет к нему народная тропа

Пожалуй, один из самых понравившихся мне докладов. Докладчик выступил просто на отлично да и материал был интересный. Рассказывалось про создание своего игрового сервера, поддерживающего клиентов любой толщины. (здесь скоро будет ссылка на презентацию)

15:00 Кирилл рогожин, Intel - Threading Building Blocks: новые возможности для разработчиков игр

Если кратко, то TBB - это кроссплатформенная C++ библиотека для упрощения работы с многопоточностью. Смотрим презентацию
Рекоммендую ознакомиться с сабжем всем программистам.

16:00 Сергей Сидоров, Intel - CPU спешит на помощь. Перенос вычислений с GPU на CPU

Ниочем

17:00 Евгений Городецкий, Intel - Верните эффект глубины резкости на CPU!

Развитие идей предыдущего доклада. Но с конкретными алгоритмами и цифрами. Получилось очень интересно. Обязательно попробую что-нибудь из этого, когда обзаведусь дофига-ядерным CPU ;)

18:00 Владимир Яцукевич, Vizor Interactive - Эффект зомби. Игры с вниманием человека.

После лекций по программированию, идея сходить на "Гейм-дизайн" казалась неплохой. Пока не сходили таки. Невероятное уныние. Толпищща народу (многие вообще стояли. (Какой контраст после программинга то!). В общем, минут через 20 мы оттуда ушли.

В целом. Первый день мне очень понравился. Но предстоял еще второй...
Однако сначала, о том, где мы жили. Мы жили в общежитии повышенной комфортности МФТИ в городе Долгопрудном. Всего лишь за 300 рублей/ночь. При этом, условия были почти царские - это была самая настоящая двухкомнатная квартира со всеми удобствами. (Холодильника только не было). Короче, отдохнули отлично там.

Пока все.

вторник, 5 апреля 2011 г.

Семинары

Как вы относитесь к методу проведения занятий типа семинар?
Я вот, похоже, отрицательно. Просто наблюдая их эффективность для себя.
Конечно, пока готовишься к семинару - перечитываешь кучу материала. Разбираешься со всем, что нужно. И эффект получается солидный. Тема усвоена отлично. Но постойте! Это же всего одна тема из курса! А что с остальными? А они отданы на откуп одногруппникам. И вот тут эффективность страдает. Ибо, в нашей группе, приемлемо(ну опять же, по каким-то моим критериям) подать материал могут очень не многие. Что получается в итоге, думаю, вы итак знаете.

В общем, я считаю, что если стоит задача получить знания, то преподавать должны профессионалы. А семинары, они для чего-то другого предназначены...

Возвращаясь к изначальному вопросу. А что по этому поводу думаете вы? Интересны ли вам семинары? Эффективны ли?

понедельник, 4 апреля 2011 г.

Альфа

В субботу сдавали альфа-версию нашего агрегатора барахолок.
На самом деле, это шикарный спецкурс. Мы, в общем-то предоставлены сами себе. Сами придумываем задачи, сами их реализуем. Сами организуем работу. Лишь по субботам отчитываемся перед преподавателем.

По сути - стартап с внешним контролем. Я поучаствовал уже в некотором количестве стартапов и могу сказать - этот мы точно доведем до конца. Причина - в организации. Но обо всем по-порядку.
Напомню, что моя основная роль в этом проекте - менеджмент. Организовать процесс, поставить задачу. Проследить за выполнением. Но, по понятным причинам, не писать код я не могу))

Изначально, в команде было 7 человек. И было очень трудно заставить кого-то работать. Сейчас то я более-менее с этим справился. А тогда....
После некоторых событий, размер команды сократился до 4х человек. И вот тут то поперло. Жить стало намного проще. Проще контролировать происходящее, проще распределять задачи, -  потому что знаешь - задания выполнят, ибо все(ну почти) разгильдяи выпилены. Сейчас в проекте остались люди, которым действительно интересно сделать продукт, а не получить оценку в зачетку. Важная мысль, которую я отсюда вынес - нужно не заставлять людей работать, а избавляться от тех, кто не работает. 

Кто-то мог подумать, что роль преподавателя - только надзорная. Но это не так. Буквально в эту субботу в соседней команде он лишил своего поста менеджера команды. Он мониторит активность в нашем проекте и, иногда, как я понял, посматривает на код. А еще постоянно требует поддерживать актуальными планы на текущую неделю и выставлять оценки за уже сделанную работу. Планы очень даже помогают, кстати.

Не буду рассказывать пока про технические аспекты работы - будет еще публичная бета-версия)
Также, на следующей стадии планируется более плотная работа с преподавателем в виде регулярного codereview в яндексе.

В общем, все происходящее меня дико радует. Мы делаем довольно крупный проект, по-своему сложный и интересный. И главное - у нас получается))

Но везде есть недостатки... Главный, у нас -  на картинке. И он, видимо, все же по моей вине)

вторник, 15 марта 2011 г.

Еще раз про АУ

Недавно на хабре вновь разместили рекламу СПбАУ) Чем не повод написать что-нибудь развернутое про университет?

Недавно я с ужасом осознал, что всего лишь год назад я и не собирался уходить из ИТМО. Всего год назад меня устраивало то, что происходило там и менять ничего особо не хотелось. Сейчас мне кажется это диким.
Так что же настолько отличает ИТМО от СПбАУ в моем случае?(Кафедры разные, может где-то в ИТМО тоже неплохо)
Ответ прост - люди. Не пафосное здание с теннисным кортом, бассейном и карандашом :), а именно люди. Все эти потрясающие люди создают великолепную атмосферу для обучения. Преподавателям никогда не бывает пофигу на тебя. Люди более чем вежливы и приветливы.

Вот в ИТМО, например, есть товарищ Парфенов. Он никогда не здоровался со студентами в коридорах. Мелочь конечно, а неприято. Собственно, из множества таких мелочей атмосфера и складывается. Атмосфера полнейшего пофигизма и негатива.


На самом деле, я уже сказал основное отличие, из которого вытекают все остальные - людям не пофигу. Если есть дельные предложения по изменению учебного процесса - тебя внимательно выслушают и, может даже, что то сделают. В конце семестра проводят анонимное анкетирование по прошедшему семестру. И анкеты таки читают и делают выводы. В общем, в этом университете, я чувствую себя активным участником собственного образования, а не пассивным наблюдателем))

Если вас вдруг заинтересовала информация о поступлении, добро пожаловать сюда.
Если же вы сомневаетесь - я бы советовал попробовать. Хуже точно не будет. Ну просто нет у нас в стране таких ВУЗов, чтобы АУ на их фоне был плохим))

суббота, 12 марта 2011 г.

Го и компьютеры

В мае 1997 года шахматный компьютер Deep Blue победил действующего чемпиона мира Гарри Каспарова. Тем самым уничтожив иллюзии о человеческом превосходстве в шахматах.
Произойдет ли тоже самое с го? Скорее да, чем нет. Но, видимо, не так скоро. На днях состоялся интересный матч. 10 профессиональных игроков в го сыграли по 2 партии(один сыграл 3) с программой MoGoTW на доске 9x9. Итоговый счет 14-7 в пользу людей.
Бесспорно, относительно предыдущих результатов впечатляет. Но компьютер все так же далеко от победы над чемпионом мира как и был. Ведь доска 9x9 не идет ни в какое сравнение со стандартной доской для го - 19 на 19 пересечений. Если провести очень(очень очень) грубую оценку количества возможных ходов, то на маленькой доске это "всего" 81! = 5,80E120. Тогда как на большой... эм.. очень много. Слишком много.
В общем, удачи программистам ИИ. Будем ждать...

P.S.
По ссылке можно ознакомиться с недавними матчами компьютерных программ с людьми.
Число после имени человека означает уровень его игры. Уровни в порядке возрастания крутости:
1d, 2d ...7d, 1p, 2p...9p

среда, 16 февраля 2011 г.

Семестр номер 2

Тададам. Новый семестр. Внезапно!
Думаю, настало время сделать обзор новых предметов.

Организация процессов разработки
Вполне говорящее название предмета, по-моему). Была всего одна лекция, поэтому трудно что-то более конкретное сказать.

Машинное обучение
Нейронные сети, генетические алгоритмы, Баейсовские классификаторы. И многое другое. Курс с таким названием в исполнении этого же преподавателя нам читали в ИТМО. Но, судя по всему, наш курс будет существенно от него отличаться.
Сложилось впечатление, что Николенко в АУ читает лекции лучше, чем читал тогда в ИТМО. Может оно так и есть, а может просто уже предвзятое отношение к ИТМО))


Технологический семинар
Еще один семинар из серии: "Расскажите сами друг другу что-нибудь". Правда тут раз в 2 недели к нам таки приглашают людей извне. Правда, в отличие от семинара по скриптовым языкам(который, к слову, продолжается и в этом семестре) - темы тут совсем не связные.

Транспортные задачи
В этом семестре есть 2 предмета по-выбору. Это либо спецкурс Малеванного, либо транспортные задачи. Я выбрал Малеванного, но был и на первой паре ТЗ. Больше не хочу...

Теория формальных языков
Как нам тут рассказали, прошлые курсы на предмете "разработка компиляторов" столкнулись с фиговыми знаниями теории по всему этому делу. Ну чтож. Вот нам предмет, дабы заранее подготовить к компиляторам. Судя по первой паре пар), преподаватель идет по верному пути: лекция, и тут же практика по пройденному материалу для закрепления. В общем, приятное впечатление.

Алгоритмы, С++ и скриптовые языки продолжаются с прошлого семестра.
В целом, мне новый семестр по душе. За все время учебы еще ни разу не было так, чтобы я ну ваще ничего не понял на лекции, как в прошлом семестре. Нет какой-то адской математики. Предметы интересные, а главное - их польза мне совершенно очевидна.

суббота, 12 февраля 2011 г.

Учебный проект в АУ

У нас стартовал спецкурс "Разработка высоконагруженных сервисов". Вкратце - нас разбили на 2 команды и каждая делает свой веб-сервис. Руководит всем этим делом - опытный товарищ из яндекса.
Несмотря на то, что основная цель - обучение. На выходе планируется все же создать работающий с клиентами сервис. А поскольку фронт работ очень велик - мы приглашаем студентов из других ВУЗов принять участие. Основное требование - желание.

По сути, мы делаем стартап. У нас есть распределение ролей (менеджер, тимлид, разработчик итп). Довольно интересным получился выбор собственно проектов. Вначале тех, кто хотел бы быть менеджером попросили предложить идеи для стартапа. После чего принялись их обсуждать, а менеджер должен был стараться защитить свой проект. Потом было голосование. Которое я, в общем, проиграл, но отказ общественности от демократии привел к тому, что я таки менеджер))).
Далее, быстренько набрали себе команды и начали проработку концепции. Нас очень мало, а планов много. Поэтому люди со стороны очень бы пригодились. Ведь участие в подобном проекте - это бесценный опыт. Опыт работы в команде, опыт управления проектом. В конце концов, у нас отличный наставник.

А теперь собственно про проект.
Название мы еще не придумали, поэтому пока называем проект агрегатором барахолок. Задача - создать систему, собирающую с различных интернет-барахолок различную информацию о купле-продаже различных товаров. Обработать ее, структурировать и выдать пользователю в удобном виде. Как-то так работает яндекс работа, например.

Задача включает в себя:
  • Создание системы сбора информации - тут все понятно. 
  • Обработка информации. Зачастую, информация на таких барахолках плохо структурирована и довольно сложна для восприятия. Нам нужно по различным ключевым словам разложить информацию по категориям. В идеале, хотелось бы видеть(со стороны пользователя) систему похожей на яндекс маркет, но для б/у товаров. (Согласитесь, там очень удобные категории)
  • Собственно веб-сайт с поиском, блекджеком и поэтессами.  
Про задачу второй группы ничего не могу рассказать. Так как они сами пока, похоже, не очень определились.


Если вас заинтересовала возможность поработать над этим проектом - пишите мне на почту.
Буду благодарен, если расскажете друзьям. Вдруг кто-то заинтересуется?

P.S. Пишем на Java
P.P.S. Нам требуются:
  • Разработчики
  • Верстальщики
  • Тестеры 

суббота, 29 января 2011 г.

Го

Возможно это не компьютеры играют в го плохо,
а люди играют в него слишком хорошо 

В сегодняшней заметке я бы хотел рассказать о игре го. Многие слышали о ней. Кто-то пробовал. Но мало кто всерьез заинтересовался.
Мне очень нравится эта игра, и поэтому я очень хочу, чтобы побольше моих знакомых разделили со мной это увлечение.


Для начала - несколько тезисов о го.

Го - это серьезно
Правда. Это не World of Warcraft какой-нибудь. В мире существует несколько профессиональных организаций игроков в го. Эти люди живут го. Тратят всю жизнь на оттачивание мастерства и достижение совершенства. А еще зарабатывают этим же.
В России, кстати, го зарегистрировано во всероссийском реестре видов спорта. У нас есть гроссмейстеры, мастера спорта, разрядники. Все по-взрослому.

Го - это сложно
Го по праву считается одной из самых сложнейших логических игр, придуманных человечеством. Шахматы чем-то похожи на го по сложности. Но в шахматах компьютер уже достиг уровня человека. В то время как в го - он еще даже не близок, хотя работы ведутся уже очень давно.
В то же время, порог вхождения в го очень низок - базовые правила можно изучить за 5 минут и сразу наслаждаться игрой. Игра интересна на любом уровне - будь вы новичком или гроссмейстером - вы всегда сможете найти соперника по силе. А если разница слишком велика - система форы поможет сделать игру одинаково интересной для обоих игроков

Го требует много времени
Это зависит от того, чего вы хотите достигнуть. Стать профессионалом и зарабатывать деньги? Ну тогда будьте готовы тратить на го все свое свободное время. Если же вы просто хотите получить удовольствие от игры, пообщаться с интересными людьми - тратить много времени на изучение теории вовсе не обязательно. Как я уже говорил - играть интересно на любом уровне мастерства.

Го - это философия
Еще один, очень интересный аспект игры. Многие игроки видят в го проекцию реальной жизни. Например существует книга "Го и восточная бизнес-стратегия".
Но философия го - она не в книгах. Она в самой игре. Например, игра красноречиво покажет вам, что заполучить все невозможно - чем больше попытаетесь взять - тем меньше получите в итоге. Очень сложно об этом рассказывать. Нужно попробовать)

Го - это ответственность
В одной партии около 200-300 ходов. И, соответственно, 100-150 раз за игру вам необходимо принять решение. Напасть? Защититься?  Принести в жертву? Го не терпит безответственности. Небрежно сделанный ход может привести к поражению в выигранной партии.

И наконец, го - это просто полезно.
Во время партии тренируется внимание и воображение.

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

четверг, 27 января 2011 г.

Итоги первого семестра

Вот и завершился первый семестр в СПбАУ. Очень насыщенный, надо сказать, вышел семестр. Но обо всем по порядку.

Как вы уже все поняли, я ценю предметы, в которых много промежуточного контроля. Это позволяет мне его лучше понять и запомнить. С этой точки зрения лучшим предметом семестра для меня были базы данных. Интересные и разнообразные задания, местами позволявшие применить немножко творчества. Что еще для счастья надо?

Очень интересным получился курс плюсов. Очень рад, что в начале семестра меня завалили на досрочном экзамене - иначе я бы пропустил огромное количество всяких интересностей. Да, курс у нас получился очень глубоким. Перегрузки операторов, шаблоны - все разбиралось очень подробно с кучей нюансов. Следующий семестр обещает быть еще более интересным.

Алгоритмы тоже выше всяких похвал. Лектор у нас просто офигенный. Читал со знанием дела и с юмором. Но об этом я уже писал. Однако, было довольно мало практики. В основном - домашки. Плюс еще в конце семестра преподаватель уехал на 2 месяца.

Про алгебру с комбинаторикой вообще рассказывать не хочется. Это было ужасно. По комбинаторике были довольно невнятные лекции из которых было мало что понятно. В общем, при подготовке к экзамену, конспекты были почти полностью бесполезны. Надо отдать должное, преподаватель нам очень хорошо помог с поиском этих самых книг. А не просто бросил нас на произвол судьбы)
Алгебра тоже не отличалась понятностью. Но уже по другой причине - скорость изложения. Материала было невероятно много. Не знаю, сколько это проходят на каком-нибудь матмехе, но точно не за один семестр. Плюс еще полнейшее отсутствие практики.

В общем, я счастлив, что поступил в АУ. Повода пожалеть об этом не было ни разу. Даже не смотря на некоторые недостатки.

воскресенье, 16 января 2011 г.

Про сессии

Я прямо даже на знаю как выразить свое негодование по поводу этого явления. Ну вот кто, кто их придумал? Вот уже девятая сессия в моей жизни и негодование еще больше. Потому что сессия однозначно сложнейшая за всю мою жизнь.
Уточню, не нравится мне не столько сессии, сколько система семестр-сессия. А сейчас по пунктам почему:

В течение семестра сложно себя замотивировать учиться
Мы так устроены, что отдаленные проблемы мы обычно рассматриваем сквозь пальцы. То есть если я знаю, что через неделю контрольная, то я приложу усилия, чтобы  к ней подготовиться. Но когда я знаю, что через 3 месяца сессия - желания шевелиться почему-то не возникает. А потом происходит пушистый лесной зверек...

Экстремальная подготовка к сессии не эффективна с точки зрения нашей памяти
Итак, пусть у нас есть студент Х и он учится по нашей любимой схеме. И вот как на зло, в течение семестра было только унылое начитывание леций без практик и контрольных(а что? сплошь и рядом). Что произойдет в большинстве случаев? Правильно, готовиться Х будет за три дня до экзамена. Мало того, что это сложно, так как предмет нужно осознать, так еще и запомнить надо.
И вот тут кроется проблема, которая меня очень печалит. После выхода с экзамена, знания начинают испаряться из головы с катастрофической скоростью.
Причина, думаю, всем ясна. Это естественный механизм работы нашей памяти.
Забавно, что сразу же после сессии у нас обычно каникулы. Вместо того, чтобы начать активно использовать свежевыученную информацию на практике и, тем самым, лучше ее закрепить - мы уходим на отдых. Тем самым только помогая памяти все забыть.

Стоимость ошибки на традиционном экзамене очень велика
Это конечно зависит от преподавателя, но обычно при хотя бы одной ошибке рассчитывать на отлично уже не приходится. Этот факт ведет к тому, что для многих людей экзамен - сильнейший стресс. Если бы у нас вместо одного экзамена в семестр было бы N, то ошибка на одном почти не влияла бы на итоговую оценку. И, как следствие, уровень стресса на таком экзамене был бы ниже.
Фактически, при классической схеме у нас есть всего один единственный шанс сдать экзамен. Но при этом тысячи возможностей его завалить - простыть перед экзаменом, просто допустить глупую ошибку и так далее.

Экзамен - это лотерея
Тут, наверное, даже комментировать нечего. Сколько раз вы получали не ту оценку, на которую рассчитывали, и в то же время кому-то рядом очень везло и он получал оценку существенно выше своих возможностей?
Чаще всего, экзамен это 2 теор. вопроса и задача. Но как по двум вопросам можно оценить знание студентом всего курса? Его понимание? А вдруг ему попались единственные 2 билета, которые он знал? Понятно, что 10 вопросов каждому на экзамене не задашь, но если, опять же, экзаменов будет N, то можно охватить 2N вопросов курса.


Что мы имеем в итоге? Все напряжение семестра и все его сложности в итоге концентрируются в одну точку - экзамен. Нереально при этом увеличивая риски и ухудшая качество оценки. Я думаю, что хорошим выходом из этой ситуации было бы увеличение "точек контроля" и распределение их по семестру. Судите сами, сплошной профит:
  • После первого такого экзамена мы гарантированно имеем набор студентов, понимающих что тут происходит. Поэтому можем продолжать давать новый материал не боясь, что кто-то не понял старый. 
  • Объем материала существенно меньше, соответственно проще и подготовиться, а также удержать знания в голове. А еще в качестве бонуса - при продолжении обучения мы активно используем выученные данные, не позволяя им, таким образом, забыться.
  • Стоимость ошибки на экзамене существенно снижается. Ошибся на одном? Не ошибся на других и получил свою заслуженную оценку.
  • Суммарно по всем экзаменам, получается куда больший охват вопросов. Соответственно, получаем более точную оценку 
UPD. Сейчас вспомнил еще одну причину нелюбви к классической системе – длина семестра. Сохранить на весь семестр, однократно прочитанную тему - нереально. Он просто слишком длинный. И вот, сижу, готовлюсь к алгоритмам и обидно мне, что вроде бы все на парах понимал, но сейчас все изучаю почти с нуля...

    четверг, 13 января 2011 г.

    А зачем нам университеты?

    Вы никогда не задумывались, зачем вообще нужны университеты? В чем заключается основная задача университета? Почему бы после школы не пойти сразу на работу(там и научат)?

    Нет, я сейчас не отвечу на все эти вопросы. Просто поделюсь мыслью, недавно меня посетившей.
    Существует три, так сказать, категории знания: "Я знаю", "Я не знаю", "Я не знаю, что не знаю".
    Если вы не знаете чего-то из второй категории - то достаточно открыть книгу/гугл и прочитать. С третьей категорией все сложнее. Вы просто не знаете, что вам нужно, что это существует.
    Так вот, я считаю, что основная задача университета(да и образовательных учреждений вообще) это перевести знания из третьей категории, в первые две. В идеале, конечно, хочется в первую. Но в ней эту информацию очень сложно сохрянять. Даже если вы что-то и забыли из изученного - вы не забудете это совсем бесследно. По крайней мере вы будете знать, что это где-то есть.