Здравствуйте, LaptevVV, Вы писали:
V>>Нет.. я предпочитаю самообучение..
LVV>Дело в том, что квалификация в программировании — это отнюдь не только программирование. Тут надо знать, например, обширные разделы прикланой математики.
LVV>А это дает только вуз. Или тебе все это по книжкам изучать придется. Теорию графов, например.
Прикладная математика и теория графов во многих задачах программирования так же бесполезны, как и физика или химия. Куда важнее знание структур данных, парадигм программирования (императивное, функциональное, логическое..), основных алгоритмических задач (методы поиска, сортировки), а в некоторых случаях и более специфичных понятий вроде НКА и ДКА, симплекс-метода и т.д. и т.п...
LVV>[q]
LVV>Дискретная математика, и просто математика — нужна программистам однозначно!
Нужны. В общеобразовательном плане.
LVV>0. Математическая логика.
Которая, кстати, весьма далека от логики среднестатистического программиста.
LVV>1. Исчисление высказываний и предикатов (например, в искуственном интеллекте сильно пригождается)
Так уж часто Вам приходится заниматься задачами ИИ?
LVV>2. Булева алгебра и булевы функции — ну, сам понимаешь, без этого — никуда.
Я бы не был так категоричен.
LVV>3. Все, что найдешь по графам — без сомнения, должен прочитать и усвоить. Лучше — алгоритмический подход, чем теоретический (Кристофидеса книжка, например). Без них — вообще никуда. Многие программисты, бывает, изобретают алгоритмы там, где уже все давно написано — в теории графов.
А пример можно? Даже интересно стало...
LVV>5. Комбинаторика.
В программировании? Пока ни разу не пригодилось знание комбинаторики.
LVV>6. Будешь смеяться, но и высшая алгебра — нужна обязательно. Кажется, каким боком? А вот нужна! Теория информации и кодирования — вся на алгебре основана.
Из этого следует только то, что она нужна в теории информации и кодирования. Последние ведь далеко не всегда в работе над реальными проектами нужны.
LVV>А кодирование, сам понимаешь — программистский хлеб.
Кодирование, как математическое преобразование информации? Тогда совсем не для каждого программиста важно. Все, опять же, зависит от области.
LVV> Например, zip-архиваторы используют адаптивное кодирование по Хаффмену.
И часто Вам приходится изобретать ZIP-архиватор?
LVV>А блочный линейный код, знаешь, что такое? ASCII — это блочный линейный код. А с другой стороны есть определение: БЛК — это линейное векторное пространство над полем Галуа. И есть еще много других кодов, основанных, например, на многочленах. Короче, алгебра — обязательно!
Обязательно, но только в случае, если программировать придется эти весьма специфичные задачи.
LVV>7. Теория принятия решений — без нее никак. Многокритериальная оптимизация, например, по принципу Парето — вся принятие решений в экономике на этом стоит — еще с начала века.
А как это к программированию в целом относится?
LVV>8. Вероятность — а экспертные системы многие на этом стоят: шансы, коэффициенты уверенности и так далее. Тут же недалеко и нечеткие множества, логика, отношения, числа, графы.
LVV>В общем, математика нужна для понимания и реализации.
LVV>Больше никого не слушай, так как
LVV>а) я заведующий кафедрой
LVV>б) я старше всех на форуме
LVV>в) работал и программистом и преподавателем — знаю, что говорю
Хм, а категоричность юношеского типа...

... << RSDN@Home 1.1.3 stable >>