Размышления на тему ключевых навыков инженера...
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 29.07.11 07:07
Оценка:
Близится новый учебный год, остался месяц, чтобы переосмыслить свои взгляды и скорректировать свою учебную программу, т.к. прошлый был не очень удачным. В ходе наблюдений за своими учениками в прошлые годы, пришел к выводу, что есть три основных навыка, которые и являются определяющими/ключевыми факторами в инженерной деятельности, программировании в частности:


Логическое мышление — способность выстраивать цепь логических рассуждений. Тут по идее и комментарии излишни, без этого точно никуда.

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

Аналитический склад ума — способность уметь делать анализ ситуации, моделировать и делать выводы.

(не претендую на точность определений, изложил свое понимание этих понятий, если что не так, поправляйте)

Может я что еще важное упустил?

Следующий у меня вопрос, о котором я еще не думал, это то, как эти навыки развить. На практике наблюдаю, у кого-то не хватает того или иного навыка. У кого-то бардак в голове, а кто-то не умеет делать анализ и выводы. Пока у меня в голове только мысль крутится, это небольшие научные исследования, типа тех, которые проводил Google, кажется называлось Google Science Fair. Вообщем, прошу помощи зала.
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re: Размышления на тему ключевых навыков инженера...
От: Klatu  
Дата: 29.07.11 07:12
Оценка: 18 (4) +2
Здравствуйте, __lambda__, Вы писали:

___>Может я что еще важное упустил?


Безусловно. Ты пропустил самое важное: критическое отношение к любым теориям и стремление проверять их практикой. Без этого инженер немыслим, все остальные пункты опциональные.
Впрочем, к ученым это тоже относится.
Re: Размышления на тему ключевых навыков инженера...
От: boot  
Дата: 29.07.11 07:17
Оценка: 2 (2) -3 :)
Здравствуйте, __lambda__, Вы писали:


Перечисленные свойства являются отличительными признаками вычислительной системы.
Человеку достаточно любви к Истине.
Инженер прежде всего Человек.
Жизнеспособность прямо пропорциональна простоте!
Re[2]: Размышления на тему ключевых навыков инженера...
От: AlexCab LinkedIn
Дата: 29.07.11 10:07
Оценка:
Здравствуйте, boot, Вы писали:

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


B>

B>Перечисленные свойства являются отличительными признаками вычислительной системы.

B>Человеку достаточно любви к Истине.
B>Инженер прежде всего Человек.

Добавлю, при наличии желания, эти качества, да и любые другие, практически каждый способен развить.
Между тем,что я думаю,тем,что я хочу сказать,тем,что я,как мне кажется,говорю,и тем,что вы хотите услышать,тем,что как вам кажется,вы слышите,тем,что вы понимаете,стоит десять вариантов возникновения непонимания.Но всё-таки давайте попробуем...(Э.Уэллс)
Re: Размышления на тему ключевых навыков инженера...
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.07.11 10:41
Оценка: 95 (8) +1
Здравствуйте, __lambda__, Вы писали:

___>* Логическое мышление

___>* Системное мышление
___>* Аналитический склад ума

___>Следующий у меня вопрос, о котором я еще не думал, это то, как эти навыки развить. На практике наблюдаю, у кого-то не хватает того или иного навыка. У кого-то бардак в голове, а кто-то не умеет делать анализ и выводы. Пока у меня в голове только мысль крутится, это небольшие научные исследования, типа тех, которые проводил Google, кажется называлось Google Science Fair. Вообщем, прошу помощи зала.


Все перечисленные пункты являются частью понятия описываемого первым пунктом.

Как и любой другой навык (умение, знание, скил, ...) логическое мышление поддается тренировке. Есть учебные курсы и учебники по "бытовой" логике. Вот их нужно и применять. Если у человека плохо с логикой, то ему нужно рекомендовать (заставить, если возможно) подкачать этот скил.

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

Для "прокачки" логики очень хорошо подходит общение на форумах. Не так важно о чем общаться, как важно последовательно проверять свои и чужие суждение на те самые факторы (последовательность, непротиворечивость и полноту). Ну, и естественно И/ИЛИ/НЕТ должны просто отлетать от зубов. Если человек путается в выражениях вроде x && || !y (причем не только в ЯП), то дальше двигаться не куда.

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

Это что касается логического мышления. Теперь о других качествах. Не скажу за всех инженеров, но хорошему программисту нужны следующие качества:
1. Отменное логическое мышление. Тут все понятно.
2. Абстрактное мышление (сам мальца грешен в этом вопросе). Умение абстрагироваться от неважных деталей и выделять суть задачи/предмета для его более глубокого анализа. От части — это тоже относится к логическому мышлению, но лучше прокачивать этот скил отдельно. Как прокачивать абстрактное мышление я не знаю. Наверно тут подойдет возня с высшкой (высшей математикой), где много А, Б и Ц .
3. Базовые знания. Конкретные знания он почерпнет в Интернене, из книг или у коллег, а вот базовые только в вузе или из книг. В прочем, это настолько базовая задача для вузов, что обсуждать тут не чего.
4. Настойчивость. Без нее в нашем деле никуда. Тут путь только один — решать сложные задачи (сложность котрых на гране или чуть выше реальных возможностей ученика, т.е. как в естественных условиях). Лучшим способом тут является участие в открытых или коммерческих проектах. Игрушки вроде решения ребусов или участие в олимпиадах, на мой взгляд, смысла не имеет. Смелость тоже не помешает. И ее тоже нужно развивать. Если человек боится что не решит задачу, то он наверняка ее не решит.
5. Реальная заинтересованность в развитии/обучении (последняя по счету, но не последняя по значению!). Без нее никуда. Заставить развиваться человека невозможно. Можно только подтолкнуть. И тут лучший вариант соревнования и личный пример. Опять же открытие проекты очень хорошо способствуют.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Размышления на тему ключевых навыков инженера...
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 29.07.11 10:44
Оценка: -1
Здравствуйте, __lambda__, Вы писали:

___>Близится новый учебный год, остался месяц, чтобы переосмыслить свои взгляды и скорректировать свою учебную программу, т.к. прошлый был не очень удачным. В ходе наблюдений за своими учениками в прошлые годы, пришел к выводу, что есть три основных навыка, которые и являются определяющими/ключевыми факторами в инженерной деятельности, программировании в частности:


___>

Кнут, когда сравнивает алгоритмическое и математическое мышление, выделяет:

1. Операции с формулами.
2. Отражение действительности.
3. Поведение функций.
4. Сведение к более простому случаю.
5. Операции с бесконечностью.
6. Обобщение.
7. Абстрактные рассуждения.
8. Использование структур данных.
9. Алгоритмы.

Re[2]: Размышления на тему ключевых навыков инженера...
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 29.07.11 10:49
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Безусловно. Ты пропустил самое важное: критическое отношение к любым теориям и стремление проверять их практикой. Без этого инженер немыслим, все остальные пункты опциональные.


Мне кажется это все же является подмножеством аналитического склада ума. Но все равно спасибо, как-то упустил такой момент. У нас в школе навыки критического мышления тренируют, но по другим предметам и другие педагоги. Видимо поэтому я даже и не задумался об этом
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[3]: Размышления на тему ключевых навыков инженера...
От: Klatu  
Дата: 29.07.11 11:00
Оценка: +1
Здравствуйте, __lambda__, Вы писали:

___>Мне кажется это все же является подмножеством аналитического склада ума.


Пример использования "аналитического склада ума" в чистом рафинированном виде — это средневековая схоластика.

___>Но все равно спасибо, как-то упустил такой момент. У нас в школе навыки критического мышления тренируют, но по другим предметам и другие педагоги. Видимо поэтому я даже и не задумался об этом


Важно не только критическое мышление, но и практическая проверка, то есть эксперимент.
Re: Размышления на тему ключевых навыков инженера...
От: Lloyd Россия  
Дата: 29.07.11 11:04
Оценка: 4 (1) +1
Здравствуйте, __lambda__, Вы писали:

___>Системное мышление — способность раскладывать по полочкам полученные знания. Вытаскивать из полочек и применять эти знания там, где это нужно. Иметь некий порядок у себя в голове.


Мне кажется, тут вы ошиблись в определении.
Системное мышление — это умение видеть, как содержимое одной полочки связано с содержимым другой и как новые знания впишутся в существующую систему.
Re[2]: Размышления на тему ключевых навыков инженера...
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 29.07.11 11:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Все перечисленные пункты являются частью понятия описываемого первым пунктом.


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

VD>Как и любой другой навык (умение, знание, скил, ...) логическое мышление поддается тренировке. Есть учебные курсы и учебники по "бытовой" логике. Вот их нужно и применять. Если у человека плохо с логикой, то ему нужно рекомендовать (заставить, если возможно) подкачать этот скил.


Да, это все понятно. Вопрос в том, как именно лучше всего качать эти скиллы.

VD>Для "прокачки" логики очень хорошо подходит общение на форумах. Не так важно о чем общаться, как важно последовательно проверять свои и чужие суждение на те самые факторы (последовательность, непротиворечивость и полноту). Ну, и естественно И/ИЛИ/НЕТ должны просто отлетать от зубов. Если человек путается в выражениях вроде x && || !y (причем не только в ЯП), то дальше двигаться не куда.


Согласен.

VD>Очень важным фактором, на мой взгляд, является умение корректно выражать свои мысли на естественном языке (русском в нашем случае). Если человек не умеет связанно и грамотно выразить мысль на русском (основном) языке, то программы у него будут еще хуже. Отличным приемом будет давать людям вместо (перед) написания программ писать изложение мыслей о том как нужно решать задачу. Важно чтобы человек умел описать решение не в терминах знакомого ему языка, а в терминах предметной области.


+100. Да, у нас в педагогике есть такая методика. Безотносительно, программирование это или математике, физика, и т.д. Лично я, когда у моих учеников появляются затруднения в решении каких-либо задач или написании какого-либо куска кода, прошу их сначала рассказать о том, в чем проблема и как он ее собирается решать.

VD>1. Отменное логическое мышление. Тут все понятно.


Да, с этим все понятно.

VD>2. Абстрактное мышление (сам мальца грешен в этом вопросе). Умение абстрагироваться от неважных деталей и выделять суть задачи/предмета для его более глубокого анализа. От части — это тоже относится к логическому мышлению, но лучше прокачивать этот скил отдельно. Как прокачивать абстрактное мышление я не знаю. Наверно тут подойдет возня с высшкой (высшей математикой), где много А, Б и Ц .


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

VD>3. Базовые знания. Конкретные знания он почерпнет в Интернене, из книг или у коллег, а вот базовые только в вузе или из книг. В прочем, это настолько базовая задача для вузов, что обсуждать тут не чего.


Согласен, но я пока про навыки.

VD>4. Настойчивость. Без нее в нашем деле никуда. Тут путь только один — решать сложные задачи (сложность котрых на гране или чуть выше реальных возможностей ученика, т.е. как в естественных условиях). Лучшим способом тут является участие в открытых или коммерческих проектах. Игрушки вроде решения ребусов или участие в олимпиадах, на мой взгляд, смысла не имеет. Смелость тоже не помешает. И ее тоже нужно развивать. Если человек боится что не решит задачу, то он наверняка ее не решит.


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

VD>5. Реальная заинтересованность в развитии/обучении (последняя по счету, но не последняя по значению!). Без нее никуда. Заставить развиваться человека невозможно. Можно только подтолкнуть. И тут лучший вариант соревнования и личный пример. Опять же открытие проекты очень хорошо способствуют.


+100. Тут без комментариев.
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[2]: Размышления на тему ключевых навыков инженера...
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 29.07.11 11:09
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Мне кажется, тут вы ошиблись в определении.

L>Системное мышление — это умение видеть, как содержимое одной полочки связано с содержимым другой и как новые знания впишутся в существующую систему.

Спасибо, да, так лучше звучит. Я бы еще как-то туда добавил возможность по необходимости перестраивать существующую систему.
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re: Размышления на тему ключевых навыков инженера...
От: Sinix  
Дата: 29.07.11 11:15
Оценка:
Здравствуйте, __lambda__, Вы писали:


___>Может я что еще важное упустил?

Угу.
1. Знание матчасти.
2. Постоянное самообразование.
3. Использование всего вышесказанного на практике.
Re[2]: Размышления на тему ключевых навыков инженера...
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 29.07.11 11:18
Оценка:
Здравствуйте, Sinix, Вы писали:

S>1. Знание матчасти.

S>2. Постоянное самообразование.
S>3. Использование всего вышесказанного на практике.

Это вряд ли можно отнести к навыкам, а так, все верно конечно.
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[3]: Размышления на тему ключевых навыков инженера...
От: Sinix  
Дата: 29.07.11 11:26
Оценка:
Здравствуйте, __lambda__, Вы писали:

___>Это вряд ли можно отнести к навыкам, а так, все верно конечно.

Ну, если придираться, то ваши 3 пункта тоже не относятся к навыкам
Re: Размышления на тему ключевых навыков инженера...
От: dfbag7 Россия  
Дата: 29.07.11 11:34
Оценка: 4 (1)
Здравствуйте, __lambda__, Вы писали:

___>

___>Логическое мышление — способность выстраивать цепь логических рассуждений. Тут по идее и комментарии излишни, без этого точно никуда.


___>Системное мышление — способность раскладывать по полочкам полученные знания. Вытаскивать из полочек и применять эти знания там, где это нужно. Иметь некий порядок у себя в голове.


___>Аналитический склад ума — способность уметь делать анализ ситуации, моделировать и делать выводы.


___>(не претендую на точность определений, изложил свое понимание этих понятий, если что не так, поправляйте)


___>Может я что еще важное упустил?


Мое дополнение к списку (Порядок, в котором приведены эти качества, не отражает их важности — важны все одинаково).
Re[3]: Размышления на тему ключевых навыков инженера...
От: vmpire Россия  
Дата: 29.07.11 11:34
Оценка: +1
Здравствуйте, AlexCab, Вы писали:

B>>

B>>Перечисленные свойства являются отличительными признаками вычислительной системы.

B>>Человеку достаточно любви к Истине.
B>>Инженер прежде всего Человек.

AC>Добавлю, при наличии желания, эти качества, да и любые другие, практически каждый способен развить.

Я лично был знаком с человеком, который тоже так думал. Был убеждён, что программировать в принципе можно научить любого, хотя бы на началтьном уровне Был готов до хрипоты спорить об этом.
А потом он пошёл преподавать... В приличную, кстати, школу (номер не помню) города Питера. Разочарованию его не было предела. Из класса было человека 2-3, которые что-то понимали.
Re[3]: Размышления на тему ключевых навыков инженера...
От: boot  
Дата: 29.07.11 11:52
Оценка:
Здравствуйте, AlexCab, Вы писали:

AC>Добавлю, при наличии желания, эти качества, да и любые другие, практически каждый способен развить.


Это называют по разному. Вы понимаете о чем речь. Желание, по моему, смахивает на фрейдизм. В Университете Калгари, например (ссылка), ясно прописана миссия "seek truth and disseminate knowledge", а в это время в России из Университетов выпускают ВАЛЛ·И, которых хлебом не корми, дай только выполнить забитую в них учебную программку, точнее то, что от нее осталось .
Жизнеспособность прямо пропорциональна простоте!
Re: Размышления на тему ключевых навыков инженера...
От: Undying Россия  
Дата: 29.07.11 11:56
Оценка:
Здравствуйте, __lambda__, Вы писали:

___>Может я что еще важное упустил?


Самый важный навык инженера это образное мышление, т.е. способность представить решаемую задачу. Если образного мышления нет, то все остальные навыки бесполезны.
Re[4]: Размышления на тему ключевых навыков инженера...
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 29.07.11 12:01
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Ну, если придираться, то ваши 3 пункта тоже не относятся к навыкам


Нет, ну что вы, я ни в коем случае не придираюсь
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[4]: Размышления на тему ключевых навыков инженера...
От: AlexCab LinkedIn
Дата: 29.07.11 12:04
Оценка: +1
Здравствуйте, vmpire, Вы писали:
AC>>Добавлю, при наличии желания, эти качества, да и любые другие, практически каждый способен развить.
V>Я лично был знаком с человеком, который тоже так думал. Был убеждён, что программировать в принципе можно научить любого, ...

Можно научить _почти_ любого кто _хочет_ научится.

V>А потом он пошёл преподавать... В приличную, кстати, школу (номер не помню) города Питера. Разочарованию его не было предела. Из класса было человека 2-3, которые что-то понимали.


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