четверг, 28 октября 2010 г.

Кстати говоря

 ... сегодня прошло представление результатов практики. Нужно было рассказать что было сделано по НИРу за прошедшее время и что планируется сделать. Посмотрел на работы одногрппников и себя показал. В целом, довольно интересные темы. Хотя за отведенные на представление 5 минут сложно было оценить всю глобальность задачи)

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

Алгоритмы и структуры данных

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

Про систему обучения я уже вроде писал, но повторю еще.
Лекции чередуются с практиками. Практика по алгоритмам - это просто разбор задач, решенных(или не решенных) дома. Далее, для допуска к экзамену необходимо успешно написать т.н. аттестацию. На данный момент условия таковы: за пару необходимо решить 6 задач(задачи из домашки). Каждая задача оценивается, максимум, в 3 балла. Для успешного допуска необходимо 12 баллов. Но только при условии, что сдается с первой попытки. Каждая следующая попытка увеличивает порог баллов на 2. Задачи можно оценить тут

Есть у товарища Куликова не очень приятная особенность - редкое присутствие в городе. Постоянно в разъездах. Например, он будет отстутствовать почти весь декабрь. А в остальном - отличный предмет и преподаватель.

UPD Может у кого есть цитаты отжигов Куликова? Пишите в комментах)

понедельник, 25 октября 2010 г.

Базы данных

Николай Малеванный
Базы данных нам преподает сотрудник компании Yandex - Николай Малеванный. В принципе, я базами данных не очень интересуюсь. А в ИТМО всеми возможными способами их избегал, ибо невзлюбил люто с первого курса.
Тяжело мне сказать, что я думаю о его лекциях... Вроде бы ничего плохого то. Но и не "Вау! СУПЕР!!".

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

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

Обзор предметов

С начала обучения уже прошло порядочно времени. Я пообвыкся в университете да и эйфория первоначальная спала. Думаю, что пора бы уже более подробно рассмотреть наши предметы.
Я планирую отвести каждому предмету отдельный пост.
В общем, пошел сочинять текст про базы данных =)

пятница, 15 октября 2010 г.

Про C++ 2

Сегодня познакомился с новой формой обучения C++. А именно, написанием программы вместе с преподавателем. Итак, задание элементарное - нужно написать класс расширяющегося массива (ну почти std::vector, только попроще и без обобщенности - т.е. работаем только с интом).
Данное задание мы, кстати, уже выполняли неделей раньше.

Итак, преподаватель подключил ноутбук к проектору и стал писать это же задание вместе с нами, но так, как _надо_ писать программы на плюсах. По ходу пары, мы обсудили множество вопросов, от const-correctness до стилей кодирования. Также позабавила игра "Угадайте, скомпилится это или нет?" или "Что сейчас будет выведено?".

По большому счету, лично мне, большинство обсуждаемых вещей были знакомы. Однако возможность на любом этапе написания программы ткнуть пальцем в код и спросить "А почему именно так?" меня очень порадовала. Собственно я ей не преминул воспользьваться пару раз. =)

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

Про прогулы

Сегодня я впервые пропустил 2 пары в АУ без уважительной причины. Это была теория групп. Достаточно печальное событие, надо сказать. Но я на тех парах ничерта не понимаю.(ну кроме предлогов, конечно), а тратить впустую 4 часа было очень жалко - все равно ничего из нового материала не пойму, ибо не осилил старый. =(

Надо как-то догнать лекции...

Кстати, учимся мы, учимся. А тут БАХ! Посреди семестра новый семинар -  Семинар по технологиям разработки. Завтра(или уже сегодня?) первый раз.

P.S. Я ведь когда выбирал себе тему НИРа, хотел максимально удалиться от более-менее известных мне областей. Но что бы вы думали? Конечно же, я щас по ниру пишу визуализатор молекулы белка на OpenGL =)

понедельник, 4 октября 2010 г.