Как я читал лекцию в ИНЖЕКе
Предыстория
Решили мы помочь студентам ИНЖЕКа (aka ХНЭУ) понять чего от программиста хочет реальность. Сделать это было решено в виде код-ревью их курсовых проектов и написания разгромных соответствующих отзывов. Что и было сделано где-то в мае-июле. Я уже и думать про это забыл…
История
Но вот подходит ко мне Таня (наш главный по работе с ВУЗами) 26го сентября (в пятницу) и происходит у нас разговор:
Т: Привет! Помнишь мы в июне рецензировали курсовые проекты из Инжека…
Я: (чуя неладное) Было дело…
Т: …и договаривались, что прочитаем им пару лекций о том, что у них не так. Время лекции пришло. Я сегодня об этом говорила с Витьком. предположительно это будет в самом начале октября
Я: (автоматически) я про лекцию ничего не помню. (сам лихорадочно пытаюсь вспомнить)
Т: на лекциях мы обещали объяснить студентам, что не устраивает нас в качестве выполнения курсовых проектов
Я: (всё ещё надеюсь отмазаться) не помню 🙂
Т: это будет сборный поток, от 20 до 40 человек
Я: (до меня доходит, что я и правда ничего не помню) о госпади. ваще ничё не помню
Т: будешь на 8 этаже, зайди – вспомним вместе
Я: ага. так и сколько у меня ещё времени?
Т: та! ещё куча – до начала октября…
Я: ok. (ну, думаю, до начала октября-то я успею подготовиться)
Сижу себе работаю… вдруг чё-то пробивает мысль: а какое сегодня число-то? Глядь в угол экрана, а там 26 сентября, пятница. Давай звонить Тане:
Я: Тань, так а это… когда точно лекция? А то сёдня уже почти октябрь…
Т: 29-го в 15:20. Это понедельник.
Я: так сёдня ж 26-е…
Т: ну да. А я как сказала?
Вот так и живём 🙂 Лекцию мне, кстати, читать даже понравилось. Кому интересно, конспект можно почитать тут:
Programmers’ Mistakes for Dummies (файл)
Программистские ошибки для чайников (онлайн, с обсуждением)
P.S.: если выложу куда-то онлайн для обсуждения, маякну 🙂
P.P.S.: выложил на ДОУ. маякую 🙂
Познавательно.
Мотивационная часть (тактика & стратегия) хороша, но ИМХО большая часть студентов все равно воспримет ее равнодушно.
Интересно откуда в инжеке программисты? Политех, хаи, универ – ясно. Но инжек?
2 dude
ну так я в примечаниях и указал, что записывал тока завкафедрой. студенты как-то вяло реагировали.
а что инжек? я щас ваще не мыслю вуза без программистов 🙂 вот и там целых 2 кафедры: одна кафедра “информатики про эксель”, и одна “настоящая информатика”.
если тебе понравилось, то может в тебе есть талант преподавателя? 🙂 Кстати, струденты задавали вопросы какие-нибудь?
2 Ira Sribna
по теме – нет. что не удивительно. ты бы что-то спросила? 🙂
если бы я сидела на месте студента, возможно спросила бы, что ты ожидаешь услышать на вопрос «Почему ты решил стать программистом / тестировщиком / аналитиком?» :)))
эгм. ну я же сказал, что я хочу услышать: “хоть какую-нибудь причину” 🙂
ну если скажут: “просто денег хочу” – тебя устроит? 🙂
более чем. а разве это плохо? плохо если “мама сказала, а вообще я люблю на скрипке играть” 🙂
Чрезмерно пафосная лекция получилась, по-крайней мере на тексте, как на меня 🙂
Вышло по типу “все, кто пришли меня послушать – тупые недонеучи” 🙂 По-крайней мере после прочтения – у меня создалось такое мнение (многократное повторение по типу “делайте лабы и делайте хорошо их, делайте сами”).
Скажу за себя: то, что преподавалось в университете по программированию лично мне – было редко интересно. Особенно, когда я не знал, что такое ООП (тут без пощупать вообще глупо), а нам вычитывали курс лекций по GoF’у. Естественно я тогда смотрел на это как баран на новые ворота и совершенно не хотел делать по этому лабы (в полном размере), просто потому, что нужно умом сначала до этого дойти, а не делать лишь бы было.
Все это стало уже понятно потом, с течением времени, когда я осознал, что такое ООП и зачем оно мне нужно и зачем же это странное слово “паттерны” и с чем его едят.
В целом что я хотел сказать: когда человек не осознает, что это и с чем его едят, а его потом еще и приходит такой человек на лекцию и “нагружает” тем, что надо делать так, как говорит мол препод и писать проги – это еще и раздражает. Просто потому, что большинство преподавателей – полные чайники в том, что рассказывают. Хотя есть приятные исключения.
Другая проблема преподавателей – они не чувствуют аудиторию. Они читают то, что по программе, а не то, что требуется КОНКРЕТНО ЭТОЙ аудитории. У каждой аудитории свой уровень и нужно под него так или иначе подстраиваться.
Кстати, думаю сам немного попытаться почитать лекции на тему веб-разработки в своем университете после диплома, хочется посмотреть, что из этого хорошего может получится (или не получится, все может быть).
нет это не плохо, просто на собеседованиях мало кто скажет, что пришел просто денег заработать…
2 Станислав Малкин
в общем и целом мысль понятна. и – это уже какая-то система – я вижу, что лекция не правильно услышана. надо мне над собой работать. вот чуток по пунктам:
я – как видно, тщетно – пытался сказать, что как раз и неправильно делать лишь бы было. Что правильно РАЗОБРАТЬСЯ, потому что так САМОМУ интереснее. Вот тот же твой пример про паттерны и ООП – да, преподы не объяснили, но кто тебе мешал разобраться самому? никто. вернее только ты сам – твоя тактическая или стратегическая ошибка.
с этим не очень согласен 🙂 не все…
а если серьёзно, то что именно вызывает такое ощущение? просто сама лекция – это факты. просто перечисление того, что я увидел в работах студентов. Естественно, что у тех, кто такие ошибки не совершает, у того лекция вызовет отторжение типа “что за бред? разве так кто-то делает?”.
вот. я вижу, что твой ответ идёт в ключе “преподы рассказывают не интересно -> я делаю тяп-ляп”, и это стандартная позиция студента. А я пытался рассказать о том, что в ВУЗах не просто надоедают лекциями, а кагбе готовят к профессии. А это уже совсем другой коленкор – если ты выбрал айти, то разбирайся, а не отмазывайся тем, что тебе читали турбо-паскаль 7.0, а не .net 3.5.
P.S.: у меня лабы были на 386х машинах под дос, что не мешало моим одногруппникам писать курсачи под Direct3D и сдавать их, потому что _им было интересно_.
IMHO, сейчас совсем другие времена… Процент таких людей среди всех кто занят в IT сейчас ничтожно мал… Основная часть народу пришла в IT потому что это либо модно, либо они услышали что их друзья IT-шники много зарабатывают. Народу интересно в WOW играть, а не педалить под Direct3D :)))
2 SiRex
ну про это я уже писал в http://cotoha.info/thoughts/it-inflation-2/. другие конечно.
да-да. про что лекция и есть: “не важно почему пришёл – подумай, оно тебе надо или нет. Если надо – то шевелись в правильном направлении”
Ответ очень прост – я бы не въехал в это тогда, потому, что не было базы и не было примеров. Понять паттерны без обширной работы с кодом – это абсурд. Это приходит с годами, а не за неделю-две.
Я не считаю, что это моя ошибка какого-либо рода. Всему свое время. Тогда даже если бы я этим и занялся – толку бы не было потому, что практики не было и взять ее неоткуда было (1-2 курс), а на одних лабораторках далеко не уедешь, потому, как применять паттерны там просто негде, а если даже и есть, то для того, чтобы понимать, что там их можно применять – нужно иметь наглядные примеры и опыт, как это должно выглядеть и собственно “для чего паттерн?”, чтение книжек в данном случае – слабый помощник, эти вещи (понимание) приходит с опытом (по-крайней мере у меня).
Простейший пример – я написал много кода и понимаю, что есть места дублирования, естественно я понимаю, что так быть не должно и ищу выход. Тоже самое и с паттернами – писал я код, писал, а вдруг понял, что глупо делать везде копию объекта каждый раз – понял, что тут нужно что-то другое применить – опа, да, есть же такой паттерн – синглтон, взял и использовал. Это совершенно другой опыт, чем просто прочитать в книжке (или на лекции от препода услышать) что мол синглтон – это паттерн единичной копии объекта бла-бла-бла. Проблема в отсутствии наглядных примеров, о чем очень часто забывают в вузах, мол “сами дома изучите”. А дома такие вещи на коленке не делаются, и за неделю не делаются и за две. Тут нужно написать тысячи строк кода, чтобы осознать пригодность разных паттернов и дойти умом до того, зачем же они тебе.
Наверное – постоянное повторение о том, что делайте лабы? 🙂 Хотя большинство лаб – примитив и полная лажа. Да и многие преподы к ним относятся точно также – ради галочки. Поэтому, как минимум, когда мне пришли бы прочитать такую вот лекцию на курсе 1-2, мне бы было просто смешно, просто потому, что в вузах все это происходит в таком беспорядке, что те лабы – это курам на смех. Приходить на работу программистом и показывать свои лабы, как результат знаний? Ну это же глупо. Я понимаю, что сейчас такие сложились условия на рынке труда, что приходится забирать даже тех, кто просто пытался лабы делать и что-то в них писал. Но с точки зрения здравого ума – это же бред. И бред потому, что большинство тех лаб – курам на смех. Можно долго рассуждать со студентом, что мол в echo “Hello World” можно было применить кучу паттернов по типу http://mzz.ru/kelo.txt , только толку? Он всеравно не будет этого делать в реальной задаче (точно также, как и лаба – реальная задача, только она очень простая, чтобы применять на ней сложные вещи), просто потому, что в этом нет никакого смысла. Из пушки стрелять по воробьям…
Может мне конечно не те лабы попадались..Но большинство – просто смехоподобие на веб-программирование.
2 Станислав Малкин
про что я и говорю – пишите программы помимо лаб и курсовых 🙂 а зачем тогда тебе вообще был нужен 1й и 2й курс, если это было “ещё не время”?
пересмотрел текст 🙂 там нет постоянного повторения “делайте лабы” – просто видимо тебя цепляет это больше всего. я 1 раз сказал, что их надо делать, а второй раз сказал, что делать не для отмазки. думаю, за полтора часа реальной лекции 2 упоминания не должно было напрячь студентов сильно
Каждый должен делать вещи тогда, когда пришел и готов к этому. Не находите?
Спасибо за статью 😉 Статья оч полезная и оч хорошо отражает действительность не только в инжеке.
Реальный студент – это как раз зав. кафедры, а студенты , поголовно скорее всего, выйшли из аудитории и всё забыли, если вобще во что-то вслушивались 😉
2 Михаил
может быть, и даже скорее всего. но, надеюсь, не поголовно 🙂 я думаю, что те, кто и так старается не делать ошибок, получили заряд уверенности в том, что они идут правильной дорогой. я думаю, что и это уже хорошо…
Лично присутствовал на лекции. Очень понравилась!
Спасибо автору!!!
Отдельный респект Татьяне Тумар за помощь в организации этой лекции!
Это как в матем. последовательностях – конечное число элементов может “выпадать” из правила… Это тока гут, что у студента что-то осталось в голове.
И данная статья рассказывает то, примерно из той области, что пытается донести С.Макконнелл в Совершенном Коде, как мне кажется, по крайней мере из того что я успел прочитать.
Лично для себя извлек прилично полезного материала.
Думаю, что данная статья может служить чем-то вроде краткой шпаргалки, чтобы не наколоть дров при реализации проекта.
P.S.: Тема оч хорошая, м как говорится,- “Афтар, пишЫ исЧо” 😉
2 Александр
передал 🙂
Лекция отличная 🙂 Почитал, понравилось, да и сам бы где-то в таком же стиле ее и
вел бы.
Я вообще, считаю, что выбрана самая лучшая политика – живо, привязано к практике, а не к теории.
Хотя, есть пожалуй одно “НО”. Если ИНЖЕК координальным образом не сменился с того времени, как я его помню, то похоже хорошая лекция могла попасть не в те уши.
Единственное, что я бы ввел еще ввел категорию “ясельные” ошибки. Куча студентов обычно просто не понимает, что такое программирование и поэтому не могут даже лабораторные сделать. Ну и само собой они напрямую связаны с стратегическими ошибками (если они до 3 курса не понимаю, как писать код, то вероятнее всего они не туда пошли учиться).
Ну и пожалуй часть о “тактике” может быть тяжеловесна для студентов. У них просто за плечами мало кода, чтобы оценить зачем нужны code convention, вынос бизнес логики и т.п. То есть, классно, если бы они знали зачем, но шансов, что они с этим разберутся до реальной работы – мало.
[…] p.s. Интересную статью о работе, Вы можете почитать у Юли. А также, Вам может быть интересным, каково директору по обучению персонала Сергею Мовчану было в роли лектора. […]
[…] Сергея Мовчана (СОТОНА) в одном из Харьковских вузов по поводу анализа […]