Университет XXI века: научное измерение

Физика, математика и информатика 289 завершает изучение модуля программирования на различных IT-направлениях подготовки и призвана, с одной стороны, систематизировать знания студентов в области программирования и, с другой стороны, вооружить их надежными инструментами анализа и разработки эффективных алгоритмов как основы написания красивых и правильных программ. Красота здесь понимается как ло- гичность, структурированность, изящность, лаконичность кода при максимуме функционала и возможностей. Научная составляющая дисциплины «Алгоритмы и анализ сложности» ба- зируется, прежде всего, на усилении роли моделирования при решении задач по программированию. Без правильно построенной математической модели не- возможно построение правильного эффективного алгоритма, который затем трансформируется в надежную программу. С точки зрения усиления роли ма- тематического моделирования в содержание дисциплины планомерно и после- довательно включаются вопросы изучения классических алгоритмов комбина- торики, теории чисел, планиметрии и стереометрии, вычислительной матема- тики, математического анализа и др. Например, при определении понятия тру- доемкости алгоритма решается классическая задача поиска в двух вариантах: ординарный и бинарный, требующий упорядочивания элементов. А любая сор- тировка основывается на операциях сравнения, сдвига, слияния и обмена зна- чениями элементов. Понятие эффективного алгоритма вводится на примере решения задачи о распознавании простого числа. Первоначальная модель ре- шения этой задачи последовательно уточняется с точки зрения положений тео- рии чисел и в окончательном варианте формулируется следующим образом: для любого натурального числа, кроме единицы и четного, отличного от двой- ки, следует установить факт наличия или отсутствия нечетного делителя на отрезке от трех до корня квадратного из этого числа. Эффективность модели проверяется эмпирически на примерах больших простых и составных чисел. Трудоемкость алгоритмов оценивается как линейная, полиномиальная, лога- рифмическая, факториальная, что напрямую базируется на соответствующих понятиях, свойствах и теоремах математики. Особое место занимает изучение вопросов теории графов курса дискрет- ной математики. Без знания эффективных алгоритмов обработки и представле- ния графов невозможно построение оптимальных моделей функционирования информационных систем, которые, по сути, и есть графы. При этом, структуры и модели данных, используемые при создании программ, изучаются не как го- товые шаблоны, свойства и методы которых нужно запомнить, а как некие ос- новополагающие сущности, свойства и методы которых должны быть понятны каждому программисту на атомарном уровне. В связи с этим, замечания рабо- тодателей по поводу незнания нашими выпускниками программирования в конкретных средах на уровне использования конкретных шаблонов, авторы считают несерьезными и необоснованными. Специалист, способный понять суть процесса или явления, без труда за очень непродолжительное время освоит конкретный инструмент своей работы. Тогда как, ремесленник, наученный об- ращению только с одной технологией, никогда не сможет перестроиться и адаптироваться к новациям и вызовам времени.

RkJQdWJsaXNoZXIy ODQ5NTQ=