Re[2]: Михаил Донской о победителях программистских олимпиад
От: Aleх  
Дата: 10.08.11 19:53
Оценка: +1
Здравствуйте, Petrovv, Вы писали:

P>Здравствуйте, Glenn, Вы писали:


G>>- В словосочетании "чемпионат мира по программированию" ключевое слово – "чемпионат", а не "программирование". Тут то же, что со школьными олимпиадами. Это спорт. Есть люди, которые, как Перельман, которые никаких олимпиад не выигрывают, потому что они тугодумы.


P>В защиту Перельмана.

P>Перельман в 1982 году в составе команды советских школьников завоевал золотую медаль на Международной математической олимпиаде в Будапеште, получив полный балл за безукоризненное решение всех задач.

Вот вот, успесшное выступление на олимпиадах говорит о том, что человек обладает некоторым уровнем знаний (по программированию, например, знает алгоритмы наизусть), причем на том уровне, что не просто знает о существовании некоторых вещей, но и может их применять.
Не знаю, как там по математике, но на олипиадах по программированию в большинстве задач не нужно как то сильно соображать и фантазировать, достаточно просто применять известные алгоритмы.
Таким образом, студент, который участвовал в олимпиадах, будет в любом случае лучше того, который ничем таким (да и вообще связанным с программированием) не увлекался.
Re[4]: Михаил Донской о победителях программистских олимпиад
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.08.11 20:14
Оценка: 51 (3) +4
Здравствуйте, LaptevVV, Вы писали:
LVV>И так далее, все усложняя задания.
LVV>Но в лабах сложно все-таки это сделать. В курсовых надо.
LVV>Примерно так: дается задание в начале семестра. Потом в середине семестра оно дополняется новыми требованиями.
LVV>Только беда — студни сдают все в последний момент. И то — не все.
Тут есть ещё такой момент: традиционные лабы в российских вузах подразумевают написание программы с нуля.
Поэтому очень много времени уходит на борьбу со всякой ерундой, вроде настройки precompiled headers и вообще с компилябельностью плюсового решения.
Кроме того, работоспособность программы в целом зависит от массы всяких посторонних параметров, которые не имеют отношения к изучаемой задаче. Ну, к примеру, возня с многопоточностью как таковая в задаче написания TCP-сервера.

Не то, чтобы это было как-то плохо, но есть альтернативный подход: при обучении, скажем, программированию на C# в официальном курсе от МС примняется метод "почти готового проекта", где нужно вписать только то, что требуется для освоения определённой концепции. Более того, для тех, у кого не получается, рядом лежит готовое решение.
На первый взгляд, это какой-то самообман. С другой стороны,
1. в рамках такой лабораторной можно потребовать от студента написать 50 строк осмысленного, важного кода, иллюстрирующего 25 аспектов изучаемого материала. В традиционном подходе им нужно написать 50 строк кода только для того, чтобы запустилась программа, иллюстрирующая 1 аспект.
2. Лучшее обучение — всегда на примерах. Студенты имеют тенденцию сдавать "минимальное" решение — к примеру, без обработки ошибок, в плохом стиле. Описать все формальные требования ко всем этим "второстепенным" вещам — почти безнадёжно. В рамках "почти готового проекта" можно дать скелет кода, который уже оборудован всеми важными штуками, что воспитывает в студентах "чувство прекрасного" и понимание, что ещё нужно делать, кроме как заставить программу проходить один тест кейз.

Отдалённая аналогия: в моём обучении, лабораторный практикум не предполагал создание студентом установки с нуля для каждой лабораторной работы.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Михаил Донской о победителях программистских олимпиад
От: RedUser Россия  
Дата: 10.08.11 20:24
Оценка:
G>Они устремлены к тому, чтобы их часть программы заработала как можно быстрее

Мне кажется, что руководство обычно именно этого и хочет от разработчиков. Что хотят, то и получают. В чём пробема
Re[3]: Михаил Донской о победителях программистских олимпиад
От: vmpire Россия  
Дата: 10.08.11 20:51
Оценка:
Здравствуйте, Glenn, Вы писали:

G>Я лично пока встречал только одно: ВУЗ приучает программиста к принципу 'сдал программу а дальше хоть трава не расти'

G>Интересно, а в Вас было то о чём мечтал Донской: чтобы например некая лабораторная работа (точнее — последовательная серия лабораторных работ) учила сначала написать прототип, потом — его поддерживать, потом — расширять; потом — переписывать и тд? Я такого в глаза не видел
У нас такое было в вузе у одного препода. Огромное ему за это спасибо, сильно помогло в дальнейшем.
Re: Олимпиады тут не причем. Дело в неверных целях вузов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.08.11 23:49
Оценка: 18 (3) +4
Здравствуйте, Glenn, Вы писали:

G>Я лично со всем этим полностью согласен — Донской хорошо показал разницу между 'программой' (точнее — 'программкой' , их на олимпиадах и пишут) и ПРОГРАММНЫМ ПРОДУКТОМ


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

1. Олимпийцев по определению мало. Так что займи мы все первые три места на всех олимпиадах больше хороших программистов у нас не станет. Уверен, что тут как и в спорте. И качество результата на соревнаваниях определяется исключительно двумя факторами: а) качеством подготовки и отбора людей, б) количеством тех среди которых производится этот отбор. Вот был в СССР массовый спорт и система продвижения талантливых спортсменов, и мы занимали половину первых мест на всех олимпиадах. А насрало наше руководство на фискультуру и прочую любительщину и результат не заставил себя ждать.

2. Олимпийские задачки выявляют таланты людей в некоторой области. Причем эта область никак не связана с реальной разработкой софта. Но вроде бы никто и не обещал, что будет иначе.

Атак — да. КО прав. Олимпиады и решение сложных практических задача — это разные вещи.

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

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

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

Так вот у них принята очень правильная, на мой взгляд, практика. У учебный процесс разбит на две стадии:
1. Теория. Которой они обучаются на протяжении нескольких лет (если не ошибаюсь — пяти).
2. Интернатура/аспирантура. По сути это практика в течении которой люди работают почти за бесплатно, но при этом 100% времени. В институт они в это время иногда ходят, но не учиться, а отмечаться (как я понимаю).

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

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

В программной индустрии госконтор очень мало. Возможно имеет смысл создать такие конторы. Вот государство сейчас поет об электронном правительстве. Такие организации могли бы заниматься его созданием (в регионах же оно тоже нужно). За одно избавились бы от попилов в этой сфере.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Михаил Донской о победителях программистских олимпиад
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 11.08.11 04:25
Оценка:
Здравствуйте, Glenn, Вы писали:

G>Выдержки из статей известного российского программиста Михаила Донского объясняют

Главный вывод то чего не привел?

Мы – расходный материал. Мы можем оставить после себя только опыт и знания, но не продукты. Какими бы классными они ни были.

-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: Михаил Донской о победителях программистских олимпиад
От: Spiceman  
Дата: 11.08.11 05:30
Оценка:
Здравствуйте, Glenn, Вы писали:

G>Покажите мне хотя бы одного преподавателя в техническом вузе, который, принимая у студента задание, изменяет условия задачи и требует их учесть.


Ну вообще-то это нормально. Нас так все 5 лет учили. Помню на первом же курсе, в очень простой программе на лабораторной работе не вынес константу, а препод как раз попросил изменить параметр, за который она отвечает. Пришлось все переделывать, хотя в требованиях явно это не требовалось.
Re[2]: Михаил Донской о победителях программистских олимпиад
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 11.08.11 05:44
Оценка:
Здравствуйте, Spiceman, Вы писали:

G>>Покажите мне хотя бы одного преподавателя в техническом вузе, который, принимая у студента задание, изменяет условия задачи и требует их учесть.


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


А меня в школе (мат. класс) за то, что я менял все цифры на буквы и решал задачу с ними

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

Казалось что все — это конец. Все псу под хвост.

Правда потом я понял, что главное там (школе, универе) было не в этом.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[3]: Михаил Донской о победителях программистских олимпиад
От: monax  
Дата: 11.08.11 06:11
Оценка: 33 (3)
Здравствуйте, Glenn, Вы писали:

M>>Разве в институте такого не объясняют? Когда учился, был курс "Технологии программирования", там как раз и объясняли разницу между программой и программными продуктом (была даже программная система).


G>Очевидно Вам повезло


G>Я лично пока встречал только одно: ВУЗ приучает программиста к принципу 'сдал программу а дальше хоть трава не расти'

G>Интересно, а в Вас было то о чём мечтал Донской: чтобы например некая лабораторная работа (точнее — последовательная серия лабораторных работ) учила сначала написать прототип, потом — его поддерживать, потом — расширять; потом — переписывать и тд? Я такого в глаза не видел

Действительно повезло, но только с одним преподавателем. Этот курс читал очень толковый преподаватель (у него же я в последствии писал диплом). Вот он тогда и придумал для этого курса такую штуку — начинаем с лаб по xml и идём к курсовому.


Естественно dtd, написанный в первой лабе приходилось менять уже на втором шаге, естественно приходилось менять и xml и dtd, когда переходили к разработке базы данных и скриптов.

Вот таким путём он вёл нас от лабы до курсового. Это был единственный пример такой работы за 5 лет учёбы.

Работая над дипломом под руководством этого человека, я понял, что для того, чтобы быть хорошим преподавателем не нужно быть хорошим программистом. Нужно быть "достаточно хорошим". Оглядываясь назад, могу сказать, что через год работы программистом, я его обошёл в этой области, но если бы у меня была возможность работать над диссертацией под его руководством, я бы, не задумываясь, согласился на это. Он умел чётко формулировать проблему, даже если было непонятно, как это решить. Кстати, он и не стеснялся никогда, что его студенты становятся более крутыми программистам через год-два работы (может ещё и будучи студентами), для него не было зазорно советоваться со студентами по поводу разработки под веб и админки веб-серверов, если студенты разбирались в этом лучше него.
Re[2]: Михаил Донской о победителях программистских олимпиад
От: Ведмедь Россия  
Дата: 11.08.11 09:32
Оценка:
Здравствуйте, RedUser, Вы писали:

G>>Они устремлены к тому, чтобы их часть программы заработала как можно быстрее


RU>Мне кажется, что руководство обычно именно этого и хочет от разработчиков. Что хотят, то и получают. В чём пробема


одна из типичных позиций заказчика

"Почему вы нам написали то что мы вам сказали, а не то что мы хотели?"

Да пребудет с тобой Великий Джа
Re[2]: Михаил Донской о победителях программистских олимпиад
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 11.08.11 09:47
Оценка:
Здравствуйте, DorfDepp, Вы писали:

DD>В практическом software development важна не абсолютная скорость печатания кода, а умение мыслить стратегически и создавать качественные и гибкие решения, которые будет легко поддерживать и расширять. Научить быстро печатать код можно и шимпанзе, а стать профессиональным разработчиком может не каждый. Из 50 победителей олимпиад, может, только 1 превратится в профессионального разработчика. Остальных ждет карьера code monkeys.


И как это друг другу мешает? Следует ли этого, например, что те, кто решает задачи тут в этюдах, не профессиональные разработчики? Не вижу проблемы совмещать оба подхода.
Re[4]: Михаил Донской о победителях программистских олимпиад
От: fin_81  
Дата: 11.08.11 10:01
Оценка: -1
Здравствуйте, Glenn, Вы писали:

G>Донской, думаю, хотел заострить внимание вот на чём: слава олимпиадников даёт российскому образованию возможность и дальше уклоняться от усовершенствования учебного процесса в стиле, нужном для software industry. Любая попытка потребовать от этого образования улучшений (например тех которые хотел Донской) затыкается возражением 'да наши студенты опять взяли приз на олимпиаде в XXX!' До кучи вытаскивается старый миф времён перестройки о 'лучших в мире русских программистах' и проч. А пока суть да дело — по прежнему компании в industry страдают от этих вот замашек молодого пополнения — 'Все молодые ребята, приходящие ко мне обладают одним и тем же недостатком. Они устремлены к тому, чтобы их часть программы заработала как можно быстрее, думая, что это – успешный конец работы' Это Донской говорил не как теоретик а как руководитель программистской компании — которому своими руками приходилось отучать 'ребят' от усвоенного в ВУЗе неряшливого подхода.


G>думаю, буквально все sodr-менеджеры и руководители могут вспомнить подобный опыт, так?


software industry — что это такое?
Если рассматривать это как индустрию. То нет смысла требовать "чистоту" кодирования от дипломированного инженера, инженера, который по определению(?) занимается созданием чего-то нового, которых выпускает вуз. Требовать "чистоту" уже изобретенного кода надо от техников-исполнителей, которых по идее должны(?) выпускать специализированные учебные заведения (СПТУ и тп). Покажите мне специализированные учебные заведения которые выпускают специалистов для конкретных предприятий. Их нет, потому что нет таких предприятий. Нет индустрии, нет спец училищ, нет техников, которые знают про "чистоту" своего ремесла. О чем вообще разговор? То что на данный момент называется "индустрия ПО" (я говорю про Россию) — это проекты которым волею случая сильно повезло, и не очень заметно там системного подхода развития таких предприятий, не видно того чтобы эти предприятия вкладывались в накопление знаний, на обучение. Они скорее всего всеми средствами пытаются спрятать свои знания. Это не индустрия, это "история одного удачного проекта", которую мы узнаем из желтой прессы, а внутренне устройство что привело или не привело к успеху мы не узнаем ибо NDA.

Мне вот интересно есть ли открытые спец учебные заведения у MS, в которых обучают тех процессам компании? Если есть — это индустрия, если нет — то частный случай везения.
Re: Михаил Донской о победителях программистских олимпиад
От: Антихрист  
Дата: 11.08.11 11:06
Оценка: :)))
Расхожее мнение об олимпиадниках. В основном, как мне кажется, идет от неосилянтов, которые потом и ноют про реальную индустрию.
Кстати разве не питерские олимпиадники варганят самые передовые фишки во vkontakte. Разве не олимпиадников ждут в google и ms research?

Если сами не можете хотя бы трех алгоритмов сортировки реализовать, то вам не стоит называться программистами.
Re[7]: Михаил Донской о победителях программистских олимпиад
От: fin_81  
Дата: 11.08.11 12:07
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

_>>То есть название темы имеет мало общего с общим смыслом цитат.

ГВ>Название топика вполне увязано с цитатами. Но сами тексты связаны с олимпиадами, мягко говоря, очень косвенно.

Да уж. Не поленился, сходил по ссылкам, почитал. Мягко говоря. В общем я зря залез в эту тему, был жоско затроллен этим названием темы. Мне стыдно
Там скорее всего о том, что нет "индустрии ПО", нет профессии программист. Потому программисты являются просто "расходным материалом", который не может собраться во что цельное, накапливать знания. Приходится конденсироваться в спонтанных социальных сетях вроде КЫФТа.
Re[2]: Михаил Донской о победителях программистских олимпиад
От: novitk США  
Дата: 11.08.11 15:22
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Товарищ нагло врет. Перельман золотой призер ММО (42 из 42) и вообще известный олимпиец в прошлом.

Ш>Уж его тугодумом может назвать только полный тугодум.
Ш>Математичесие олимпиады ещё как имеют отношение к науке.

+1, в математике и физике корреляция прямая. По поводу программирования однако товарищ прав. Олимпиады в нем это олимпиады в одной из областей математики — computer science. Безусловно важный, но совершенно не доминирующий элемент индустриального программирования.
Re[3]: Михаил Донской о победителях программистских олимпиад
От: Шахтер Интернет  
Дата: 11.08.11 16:11
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, Шахтер, Вы писали:


Ш>>Товарищ нагло врет. Перельман золотой призер ММО (42 из 42) и вообще известный олимпиец в прошлом.

Ш>>Уж его тугодумом может назвать только полный тугодум.
Ш>>Математичесие олимпиады ещё как имеют отношение к науке.

N>+1, в математике и физике корреляция прямая. По поводу программирования однако товарищ прав. Олимпиады в нем это олимпиады в одной из областей математики — computer science. Безусловно важный, но совершенно не доминирующий элемент индустриального программирования.


По поводу программирования ничего сказать не могу. Не интересовался сабжем. Возможно, их просто ещё не научились правильно готовить.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[5]: Михаил Донской о победителях программистских олимпиад
От: Sinclair Россия https://github.com/evilguest/
Дата: 11.08.11 16:53
Оценка:
Здравствуйте, fin_81, Вы писали:
_>Мне вот интересно есть ли открытые спец учебные заведения у MS, в которых обучают тех процессам компании? Если есть — это индустрия, если нет — то частный случай везения.
Конечно же всё есть.
http://learning.microsoft.com/Manager/BrowseResults.aspx?browseval=pt&pid=291&cid=291&nav=productandtechnology%3aProducts+and+Technologies%2fVisual+Studio
Ну или, к примеру, учебные программы для различных разработчицких должностей:
http://learning.microsoft.com/Manager/BrowseResults.aspx?browseval=pt&pid=291&cid=291&nav=productandtechnology%3aProducts+and+Technologies%2fVisual+Studio&nav=trainingtype%3aLearningPlanV2&nav=productandtechnology%3aProducts+and+Technologies%2fVisual+Studio%2fMicrosoft+Visual+Studio+2010&qry=&navclicked=1
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Михаил Донской о победителях программистских олимпиад
От: fin_81  
Дата: 11.08.11 17:10
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, fin_81, Вы писали:

_>>Мне вот интересно есть ли открытые спец учебные заведения у MS, в которых обучают тех процессам компании? Если есть — это индустрия, если нет — то частный случай везения.
S>Конечно же всё есть.
S>http://learning.microsoft.com/Manager/BrowseResults.aspx?browseval=pt&pid=291&cid=291&nav=productandtechnology%3aProducts+and+Technologies%2fVisual+Studio
S>Ну или, к примеру, учебные программы для различных разработчицких должностей:
S>http://learning.microsoft.com/Manager/BrowseResults.aspx?browseval=pt&pid=291&cid=291&nav=productandtechnology%3aProducts+and+Technologies%2fVisual+Studio&nav=trainingtype%3aLearningPlanV2&nav=productandtechnology%3aProducts+and+Technologies%2fVisual+Studio%2fMicrosoft+Visual+Studio+2010&qry=&navclicked=1

Там логинится надо или для наблюдателей с вражеского лагеря все скрывается (линукс+хром)? У меня ничего не видно.
Судя по косвенным признакам обучают использованию продукта, а не процесс изготовления этого самого продукта. Зачем мне знать про студию, лучше бы рассказали про процесс документирования, контроль версий и тд и тп, про создание и сопровождение ПО, про "индустрию ПО". Этому как раз обучают в спец училищах при производстве. Обучают процессу производства мяса, а не то как пожарить это мясо.
Re[7]: Михаил Донской о победителях программистских олимпиад
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.08.11 05:38
Оценка:
Здравствуйте, fin_81, Вы писали:

_>Там логинится надо или для наблюдателей с вражеского лагеря все скрывается (линукс+хром)?

Нет, логиниться не надо. Не знаю, в чём проблема вашего браузера — попробуйте зайти просто на learning.microsoft.com и побродить.
_>Судя по косвенным признакам обучают использованию продукта, а не процесс изготовления этого самого продукта. Зачем мне знать про студию, лучше бы рассказали про процесс документирования, контроль версий и тд и тп, про создание и сопровождение ПО, про "индустрию ПО". Этому как раз обучают в спец училищах при производстве. Обучают процессу производства мяса, а не то как пожарить это мясо.
Есть два разных вида училищ — про выращивание мяса и про приготовление мяса. То, что я показал — про процесс разработки софта. Про документирование учат в другом месте, его делают тех.доки. Контроль версий входит в Team Suite, и в каком-то из курсов наверняка изучается. Понятие "индустрия ПО" — слишком общее для того, чтобы его можно было изучать в корпоративных курсах. Микрософт обучает тому, как писать программы для платформ микрософт с использованием технологий микрософт и инструментария микрософт. Что, в общем-то, логично. Лично я бы удивился, если бы Микрософт внезапно стала обучать тому, как писать программы для линукс на питоне под эклипсом.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Михаил Донской о победителях программистских олимпиад
От: De-Bill  
Дата: 12.08.11 05:43
Оценка:
Ш>Товарищ нагло врет. Перельман золотой призер ММО (42 из 42) и вообще известный олимпиец в прошлом.
Ш>Уж его тугодумом может назвать только полный тугодум.

Мда, так сурово облажаться в главном доводе!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.