Мой вариант курсов для ВУЗовского образования по специальности "программная инженерия" (характеристика этих курсов даётся в каждом "кумулятивно", т.е. очень грубо считаем, что эти курсы проходятся последовательно, а не "вперемешку" и умения накапливаются от курса к курсу
(
Read more... )
Comments 157
В упрощенной для конференции и среднего девелопера форме. Главный тезис доклада в том, что в голове разработчика надо заменить ориентацию с разработки working software на operational software, где operations происходят в системе софт+пользователи+бизнес. И про необходимость внедрить данную пресуппозицию с каждодневные ментальные процессы обычного разработчика. Вот ведь интересно, agile методологии говорят про то же, но многие зацикливаются на их содержании, в то время как трюк в том, чтобы сменить "окраску" процесса в целом.
Reply
-- организация работы бригады разработчиков (кто за что ответственный, у кого на что полномочия, откуда приходят задания на работу)
-- инженерные вопросы (например, что и когда делать с архитектурой, начинать с тестов или заканчивать ими и т.д.)
-- очень редко предписывается как-то относиться к продукту: например, работа devops или предписание предмет-ориентированного программирования (когда софт должен соответствовать понятиям предметной области -- чаще всего "бизнеса", реже какой-нибудь embedded системе и т.д.).
Я предпочитаю сейчас обсуждать эти вопросы, используя separation of concerns ("аспектно-ориентировано"), то есть не винегретно, а порознь. Фишка в том, какие именно аспекты выделить, чтобы потом эти разные обсуждения можно было собрать в одно целое, а разные аспекты обсудить продуктивно. Поэтому я отдельно от инженерии ввожу тему инженерного менеджмента.
Reply
Если даем лингвистику - тогда уж лучше латинский или греческий - как наиболее с точки зрения лингвистики прозрачные. И дающие понятие о фундаменте, на котором строится любой язык.
Дискретная математика - это только после обычной, то есть курс второй. Параллельно с алгоритмами, так как связаны они сильно.
Системный подход и инженерная методология - курс первый, так как с них надо давать уже все методики, алгоритмы в плане их привязки к реальной жизни. Да и математику/физику тоже - то есть даже не первый, а школа.
Reply
и еще в первом курсе - факультатив языка программирования, для тех у кого в школе не было
Reply
Насчет языка - а его-то зачем? Просто, чтобы увидели?
Языки вообще учить особо нет нужды. Надо давать алгоритмы и конструкции. Потом смогут разобраться в любом.
Reply
Языки нужно учить как языки, чтобы их потом уметь делать. Отмечу, что "набор конструкций" и "алгоритмы на псевдокоде" не дают знание о языке. Поэтому нужно уметь с языками программирования работать как с целыми объектами, уметь принимать по ним решения.
Reply
Второй курс - без претензий. Курс профессионального программера, секреты мастеров.
Третий (инженер) - вообще-то лишний. Поскольку инженерное программирование сильно зависит от предприятия, платформы, предыдущих наработок и руководителя, то заранее все предусмотреть невозможно, все равно придется переучиваться. Лучше не тратить зря время, а потратить его на дисциплины из второго курса, плюс основы деятельности предприятий.
Четвертый (менеджмент) - собссно и нужно посвятить подготовке инженера/руководителя. Навыки проектирования и анализа, распределение работы по коллективу, контроль, отчетность.
Reply
Инженерный менеджмент совершенно необязательно знать для того, чтобы стать начальником. Я считаю, что у инженеров тоже должно быть понимание, какими методами работают менеджеры, и какие типы решений они принимают. Так сказать, в рамках осознания производственного общежития, типа природоведения в начальной школе. Инженерный менеджмент, кстати, не включает проектирование и анализ (вероятно, анализ требований?). Это инженерные дисциплины.
Reply
Reply
Reply
Reply
Reply
Reply
Определение "нормальной программы" я даже обсуждать боюсь. Вдруг ваша "нормальная программа" покажется мне безумной, как моя "нормальная программа" показалась вам бесполезной?
"Свалка бессистемных данных" -- у меня непонимание начинается уже со слова "данные" как выходу из учебного процесса, при этом "бессистемность" я даже уже не понимаю, как обсуждать. У меня-то на выходе знания и навыки, а уж системность их я как раз и раскрываю в данном постинге (строго следуя понятию "система" и системному подходу, кстати).
Reply
2. На мой взгляд, в ВУЗе сложно дать практику по задачам, относящимся к 3-4 курсам. Нужно, чтобы перед обучаемыми встали те задачи и проблемы, которые их учат решать.
А в целом - да. Перечисленное нужно в реальной жизни и востребовано работодателями.
Reply
Reply
Leave a comment