Направление подготовки «Математика и компьютерные науки» (КН)
Департамент математики, механики и компьютерных наук
Института естественных наук и математики
Уральского федерального университета
Цель матмеха – дать не профессию, а образование. Университет учит учиться, дает общий кругозор, понимание взаимосвязей и инструменты, с помощью которых эти связи можно строить самостоятельно; это так называемые софт-скиллс, сложно настраиваемые качества и навыки.
Елена Сергеевна Пьянзина
директор Департамента математики, механики и компьютерных наук

  • Не ремесло, а наука. Преподаватели КН рассматривают изучение языков программирования не как самоцель, а как способ сформировать программистский кругозор и культуру, отточить навыки мышления. Изучение языков – лишь повод поговорить об алгоритмах, подходах к программированию. А язык может быть разным: хоть интересный Контуру C# или интересный Яндексу и Тинькофф C++, хоть язык Scala, технологии которого для решения своих задач используют Тинькофф и Naumen.

  • Теория и практика. При изучении языков программирования курсы ведут профессиональные педагоги, работающие параллельно с преподаванием в практической разработке. Студенты в обязательном порядке занимаются решением практических задач. Практика на КН, как правило, проходит в формате индивидуальной стажировки в различных IT-компаниях (Тинькофф, Альфа-банк, Naumen, Точка, Targem Games, Контур, Яндекс и пр.).

  • Индивидуальные программы. Помимо основной программы, на старших курсах есть огромное количество спецкурсов по выбору, в том числе прикладных: Основы компьютерного зрения, Профессия Аналитик в IT, Разработка игр, Обучение с подкреплением и нейронные сети, Распознавание образов, Компьютерная графика и геометрия, Тестирование программного обеспечения, Управление информацией и хранение данных, Мобильная разработка под iOS и Android, Интернет Вещей, Основы спортивного программирования, Основания робототехники, Алгоритмы коррекции движений, Разработка веб-приложений, Практикум по компьютерной безопасности, Основы компьютерной безопасности (Хакердом), Проектирование пользовательских интерфейсов, «Алгоритмы, играющие в игры» и еще десятки вариантов. Промотайте вниз, чтобы изучить список подробно!

Математические дисциплины

Обязательные курсы

Введение в специальность
Алгебра и геометрия
Дискретная математика
Математический анализ

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

Обыкновенные дифференциальные уравнения и дифференциальные уравнения в частных производных активно применяются в IT для решения сложных задач (управление полетами коптера, компьютерное зрение и т.п.).
Численные методы
Мощный аппарат приближенного решения огромного класса задач, которые зачастую человечество не умеет решать аналитически. Нужны для реализации дифференциальных моделей как для обыкновенных дифференциальных уравнений, так и для дифференциальных уравнений в частных производных.
Теория алгоритмов
Курс нужен тем, кого интересует решение задач большей сложности, чем просто написание систем автоматизации деятельности предприятия. В деятельности computer scientist этот инструментарий позволяет сделать выбор наилучшего алгоритма для решения конкретной задачи с учетом, например, вычислительной сложности. Курс знакомит с понятиями классов сложности, сводимости задач.
Теория автоматов
Базовый фундаментальный курс теории автоматов необходим для тех, кто планирует работать в сфере Artificial intelligence, он дает базу для последующего понимания тем искусственного интеллекта, создания ботов, написания нейронных сетей, компиляторов, анализа текстовой информации и задачи поиска.
Лингвистические основы информатики (ЛОИ)
Один из самых крутых курсов КН и «фишка» этого направления, который нельзя пропустить тем, кого интересует разработка операционных систем, компиляторов, написание различных распознавателей (анализ текстовой информации). Курс читают ведущие преподаватели и ученые с мировым именем.
Теория вероятностей и математическая статистика
Теория вероятностей на КН преподается с 3 курса: именно к этому моменту у студентов появляется необходимая база для изучения и понимания теории вероятностей и статистики. В КН к этому курсу примыкает «Прикладная статистика». Три составные части (теория вероятностей, матстатистика, прикладная статистика) – фундамент для анализа данных.
Прикладная статистика
Практикоориентированное применение только что полученных в курсе тервера и матстатистики теоретических знаний в применении к решению задач анализа данных.
Математическое моделирование
Решение любой прикладной задачи начинается с самого сложного и важного этапа – моделирования. Матмоделирование позволяет «работать переводчиком» с языка реальной жизни на язык математических моделей, которые потом преобразуются в цифру. Это необходимо в работе постановщика задач, в разработке игр, задачах управления движением и т.д. И даже светофоры в городе Екатеринбурге работают на основе математической модели, которую разработали выпускники мат-меха, будучи студентами выпускного курса.
Методы оптимизации
На этих знаниях базируется анализ данных и распознавание образов. Методы оптимизации полезны и в прикладном аспекте, потому что задачи оптимизации возникают практически во всех сферах работы программиста.
Функциональный анализ
Фундаментальный курс, который дает выход в квантовые вычисления, а также в специализацию по теме обработки изображений.

IT-дисциплины

Обязательные курсы

Операционные системы
Архитектура ЭВМ
Компьютерные сети
Протоколы интернет
Информационные технологии и сервисы (скрипты)
Курс формирует программистский кругозор и культуру на основе изучения конкретного языка Node.js. Но по сути дела выбор языка не принципиален, цель не столько изучить определенный язык, сколько познакомить студентов с базовыми алгоритмами.
Языки и технологии программирования
КН ориентирован НЕ на изучение конкретного языка, он рассматривает этот курс как способ поговорить об алгоритмах, подходах к программированию (язык может быть разным: интересный Контуру C# или интересный Яндексу и Тинькофф C++). На ФИИТ этот курс существует с названием «Основы программирования на C#».
Объектно-ориентированное программирование
В рамках курса студенты осваивают еще один подход к программированию на основе второго языка (Java либо Java + C#). Более глубоко изучают понятия, которые «услышаны» ранее, учатся их использовать.
Функциональное и логическое программирование
На КН курс реализуется при поддержке компании Тинькофф, использующая язык Scala и его технологии для решения своих задач.
Язык Python
Основы веб-разработки: отдельные курсы по Web и DHTML
На КН эти курсы ведут профессиональные педагоги, работающие параллельно с преподаванием в практической разработке. Дополнительно по выбору есть еще один курс от Яндекса.
Базы данных
На КН курс по базам данных читается только на 3 курсе. Это осознанная политика, поскольку курс требует полученных ранее знаний из предыдущих курсов. Сначала нужно создать фундамент, потом на нем возводить здание. Иначе, как показал опыт, у студентов возникают трудности в понимании и реализации задач БД.
Комбинаторные алгоритмы
В рамках базового курса – графовые алгоритмы, в курсах по выбору – строковые и другие (аналогично на ФИИТ).
Проектная работа
Учебная и производственная практики
Практика, как правило в формате индивидуальной стажировки в различных IT-компаниях (Тинькофф, Альфа-банк, Naumen, Точка, Targem Games, Контур и пр.). Если есть интерес к командной работе, то учебные проекты по выбору позволяют его реализовать.

Другие дисциплины

Обязательные курсы

Иностранный язык
Иностранный язык в профессиональной сфере
Практика эффективной коммуникации
Физика
Теоретическая механика
История
Философия
Правоведение
Экономическая теория
БЖД
На КН английский язык дается в большом объеме, это дает студентам необходимые для работы в IT компетенции и диапазон возможностей.

Спецкурсы по выбору

Дополнительные курсы

направления «Математика и компьютерные науки»

Практические аспекты разработки ОС
Основы компьютерного зрения
Эффективное программирование на Scala (курс от Naumen)
Профессия Аналитик в IT (курс от Naumen)
Разработка игр (курс от Targem Games)
Введение в ОС Unix
Введение в администрирование Linux
Анализ данных (курс от Яндекс)
Алгоритмы с оценками для задач маршрутизации
Обучение с подкреплением и нейронные сети
Язык программирования С++ (курс от Яндекс)
Теория функций комплексного переменного
Web и DHTML
Низкоуровневое программирование
Аппаратные средства вычислительной техники
Ассемблер
Программирование аппаратных средств
Распознавание образов
Математические методы в экономике
Компьютерная графика и геометрия
Дифференциальная геометрия и топология
Тестирование программного обеспечения (курсы от Яндекс, Naumen и Контур)
Дополнительные главы управления информацией
Системы управления базами данных
Управление информацией и хранение данных
Язык программирования Kotlin
Web-семинар
XML
Веб-программирование на PHP
Разработка web-приложений на Python
Мобильная разработка под iOS (курсы от Яндекс и Контур)
Введение в Интернет Вещей (совместно с IoT академией Samsung)
Промышленная разработка на Java (курс от Naumen)
Промышленная web-разработка (курс от Naumen)
Основы спортивного программирования
Практикум по спортивному программированию
Специализированные структуры данных и алгоритмы
Автоматизированные системы бухгалтерского учёта
Предметно-ориентированные информационные системы
Системы поддержки принятия решений

Основания робототехники (курсы от AirLab):
Алгоритмы коррекции движений
Программирование встраиваемых систем

Гармонический анализ
Всплески и их применение
Аналитические методы сжатия

Основы создания веб-приложений (курсы от Яндекс):
Разработка клиентской части веб-приложений
Язык программирования JavaScript

Практикум по созданию веб-приложений (курсы от Яндекс):
Проект по модулю «Практикум по созданию веб-приложений»
Разработка веб-приложений

Строковые алгоритмы
Нелинейная динамика
Теоретико-множественная топология
Теория множеств и основания математики
Топология плоскости
Практикум по компьютерной безопасности (курс от Хакердом)
Школа промышленной разработки (курс от Контур)
Сетевые технологии (Cisco) (совместно с академией Cisco)
Матроиды и графы
Теоретические аспекты информационной безопасности
Интернет Вещей. Проектирование (совместно с IoT академией Samsung)
Практические аспекты информационной безопасности
Основы компьютерной безопасности (курс от Хакердом)
Проектирование пользовательских интерфейсов
Учебно-производственный проект
Системный анализ в продуктовой разработке
Производственный проект
Многопоточное и асинхронное программирование на C# (курс от Контур)
Алгоритмы, играющие в игры (курс от Контур)
Мобильная разработка под Android (курсы от Яндекс и Контур)
Прикладные графические пакеты
Прикладные математические пакеты

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

«Компьютерные науки» - это наука в настоящем смысле этого слова, базирующаяся на математическом мышлении и глубоком знании именно математики, дополненном пониманием устройства информационных технологий. Эта программа стала основой «программистской» политики матмеха. Много лет она выстраивалась, и стала достаточно динамичной, но при этом методологически обоснованной планомерной системой обучения, позволившей матмеху все эти годы быть факультетом, дающим программистам не только образование столичного уровня, но и возможности стать больше чем «кодерами».
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website