Представитель Шуры Люберецкого в ЖЖ (brat_luber) wrote,
Представитель Шуры Люберецкого в ЖЖ
brat_luber

Categories:

Про мехмат и Computer Science

Кстати, ознакомился со стандартом подготовки по специальности 010100 “Математика”. Думаю, этим можно закрыть вопрос о том, в каком объеме изучается программирование на мехмате МГУ.

В “общей характеристике” говорится, что (орфография и пунктуация оригинала сохранены):

Математик подготовлен к выполнению деятельности, в областях, использующих математические методы и компьютерные технологии

и

Исходя из своих квалификационных возможностей выпускник по специальности 010100 Математика может занимать должности: математик, инженер-программист (программист) и другие в соответствии с требованиями Квалификационного справочника …

Ясно, что для использования компьютерных технологий и работы программистом выпускник должен знать некоторый объем того, что называется Computer Science. Он написан на 11 странице и включает в себя (кстати, он довольно близок к тому, что я считаю “Computer Science для математика”):

Понятие информации, общая характеристика процессов сбора, передачи, обработки накопления информации; технические и программные средства реализации информационных процессов. Основные понятия: алгоритм для ЭВМ, базовые конструкции для записи алгоритмов, циклы “для”, “пока”, “если-то-иначе”, выбор, условный и безусловный переход; простейшие типы данных: целый, вещественный, символьный, логический и их представление в ЭВМ; массивы данных; организация ввода и вывода; понятие о файловой системе; файлы последовательного доступа и произвольного доступа; форматный и бесформатный ввод/вывод; простейшие алгоритмы обработки данных: вычисление по формулам, последовательный и бинарный поиск, сортировка, итерационные алгоритмы поиска корней уравнений, индуктивная обработка последовательностей данных, рекуррентные вычисления.

Структуры данных: вектор, матрица, запись (структура), стек, дек, очередь, последовательность, список, множество, бинарное дерево; реализация структур данных на базе линейной памяти ЭВМ; непрерывный и ссылочный способы реализации структур данных; реализации множества (битовая, непрерывная, хеш-реализация); алгоритмы обработки коллизий в хеш-реализации.

Рекурсивные и итерационные алгоритмы обработки данных; условия, обеспечивающие завершение последовательности рекурсивных вызовов; идеи реализации рекурсивных вызовов в подпрограммах; инвариантная функция и инвариант цикла; взаимосвязь итерации и рекурсии, индуктивное вычисление функции на последовательности данных.

Структуры данных в прикладных программах; примеры использования и реализации различных структур (редактор текстов, стековой калькулятор); принципы построения файловых систем; каталог, таблица размещения файлов, распределение блоков файла по диску.

Компиляция и интерпретация: основные этапы компиляции, лексический, семантический анализ выражения, формальная грамматика, компилятор формулы, дерево синтаксического разбора.

Понятие об операционной системе: процесс, состояние процесса, прерывание, планирование процессов, понятие о тупиках и способах их устранения.

Надежность программного обеспечения: методы тестирования и отладки программ, переносимость программ, технология программирования, принципы создания пакетов стандартных программ, принципы обеспечения дружественного интерфейса прикладных программ.

Понятие об архитектуре ЭВМ: процессор и система его команд, структура памяти ЭВМ и способы адресации, выполнение команды в процессоре, взаимодействие процессора, памяти и периферийных устройств.

Локальные и глобальные сети ЭВМ; основы защиты информации и сведений, составляющих государственную тайну; методы защиты информации.

Компьютерный и вычислительный практикум: реализация алгоритмов обработки данных, возникающих в задачах алгебры, математического анализа, математической статистики, задач обработки изображений, задачах линейного программирования; сети и работа в них.

На все это отводится 600 часов занятий. Это много, в такой объем можно впихнуть весьма и весьма “неслабый” курс (для сравнения: матан изучается четыре семестра по восемь часов в неделю и занимает 810 часов, согласно тому же документу). В реальности примерно половина из этих пунктов либо изучается формально, либо не изучается вовсе (например, “системно-низкоуровневые” вещи типа операционных систем, архитектуры ЭВМ и т. п.).

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Tags: всякое
Subscribe

  • О фактчекинге

    Наткнулся на американскую, разумеется, статью “Фактчекинг речи Владимира Путина в ООН”:…

  • Неоламаркизма псто

    Из школьной биологии мы твердо знаем, что приобретенные признаки не наследуются. Кто-то вспомнит про опыт Вейсмана, кто-то задаст простой вопрос…

  • Про псевдонауку

    Пишу сейчас довольно большой и спорный пост, пока не буду раскрывать, о чем – скажу лишь, что залез в википедию (фу, бля – скажете вы и…

Comments for this post were disabled by the author