• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2020/2021

Эффективная разработка программного обеспечения

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус: Курс обязательный (Машинное обучение и анализ данных)
Направление: 01.04.02. Прикладная математика и информатика
Когда читается: 1-й курс, 1, 2, 4 модуль
Формат изучения: без онлайн-курса
Преподаватели: Кузнецов Антон Михайлович, Шугаепов Ильнур Дильбарович
Прогр. обучения: Машинное обучение и анализ данных
Язык: русский
Кредиты: 9
Контактные часы: 154

Программа дисциплины

Аннотация

Целью освоения дисциплины «Эффективная разработка программного обеспечения» является формирование у студентов теоретических знаний и практических навыков программирования на языке Python. В результате изучения этой дисциплины студенты будут иметь практические навыки конструирования конкретных алгоритмов на языке высокого уровня для решения разнообразных математических задач. В результате освоения дисциплины студент должен: − Знать основные конструкции и идиомы Python, необходимые для изучения других дисциплин, предусмотренных базовым и рабочим учебными планами, а также для применения в профессиональной деятельности. − Уметь создавать программы, решающие задачи по заданному алгоритму на языке Python, а также пользоваться интерпретатором языка Python для их выполнения. − Иметь навыки (приобрести опыт) формализации и решения практических задач по программированию.
Цель освоения дисциплины

Цель освоения дисциплины

  • формирование у студентов теоретических знаний и практических навыков программирования на языке Python.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает области целесообразного применения языка программирования, его преимущества и недостатки. Читает свой и чужой код, проводит отладку программы. Определяет целесообразность применения языка программирования, сторонних библиотек и платформы для выбранной задачи. Знает основные языковые конструкции программирования; способы организации программ на языке программирования; средства разработки
  • Знает основные способы отладки и профилировки программ написанных на языке программирования. Проводит профилирование и отладку. Тестирует производительность и безопасность программ
  • Формулирует алгоритм решения задачи в виде последовательности действий, выражаемой на языке программирования. Реализует алгоритмы решения выбранной задачи на языке программирования. Оценивает сложность работы алгоритма.
  • Знает основные способы отладки и профилировки программ. Проводит профилирование и отладку. Тестирует производительность и безопасность программ.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Средства простроения программ на С++. Основные способы организации процедурного программирования на С++.
  • Введение в объектно-ориентированное программирование на С++
    Классы. Функции-члены. 4 главных функции-члены. Swap-trick. Поля класса. Переопределение операторов. Пространства имен.
  • Введение в объектно-ориентированное программирование на С++
    Динамический полиморфизм (простое наследование). Динамический полиморфизм (множественное и виртуальное наследование).
  • Обобщенное программирование. Обработка ошибок и своевременное освобождение ресурсов
    Стратегии обработки ошибок. Исключения.
  • Обобщенное программирование. Обработка ошибок и своевременное освобождение ресурсов.
    Введение в обобщенное программирование. Шаблоны функций и классов. Специализации шаблонов. Связь с динамическим полиморфизмом.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание №1
  • неблокирующий Домашнее задание №2
  • неблокирующий Домашнее задание №3
  • блокирующий экзамен
  • блокирующий экзамен
  • блокирующий экзамен
    Экзамен проводится на платформе Zoom. Экзамен проводится в устной форме (опрос по материалам курса). По просьбе преподавателя студент должен быть готов выполнить некоторые задания в письменном виде, после чего сфотографировать и выслать на почту преподавателю. К экзамену необходимо подключиться согласно расписанию, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка платформы Zoom. Для участия в экзамене студент обязан: выбрать себе имя в Zoom совпадающее с его именем и фамилией, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещается выключать камеру. Ипользование конспектов или других справочных материалов допускается только с разрешения преподавателя. Кратковременным нарушением связи во время экзамена считается нарушение связи менее 5 минут. Долговременным нарушением связи во время экзамена считается нарушение 5 минут и более. При долговременном нарушении связи возможность продолжения студентом участие в экзамене определяется преподавателем. Процедура пересдачи подразумевает использование усложненных заданий.
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (1 модуль)
    0.5 * Домашнее задание №1 + 0.5 * Домашнее задание №2
  • Промежуточная аттестация (2 модуль)
    0.5 * Домашнее задание №1 + 0.5 * Домашнее задание №2
  • Промежуточная аттестация (4 модуль)
    0.5 * Домашнее задание №1 + 0.5 * Домашнее задание №2
Список литературы

Список литературы

Рекомендуемая основная литература

  • Огнева М. В., Кудрина Е. В. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С++: ПРАКТИЧЕСКИЙ КУРС. Учебное пособие для бакалавриата и специалитета - М.:Издательство Юрайт - 2019 - 335с. - ISBN: 978-5-534-05123-0 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-s-prakticheskiy-kurs-438987

Рекомендуемая дополнительная литература

  • Зыков С. В. - ПРОГРАММИРОВАНИЕ. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД. Учебник и практикум для академического бакалавриата - М.:Издательство Юрайт - 2019 - 155с. - ISBN: 978-5-534-00850-0 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-obektno-orientirovannyy-podhod-434106
  • Зыков С. В. - ПРОГРАММИРОВАНИЕ. ФУНКЦИОНАЛЬНЫЙ ПОДХОД. Учебник и практикум для академического бакалавриата - М.:Издательство Юрайт - 2019 - 164с. - ISBN: 978-5-534-00844-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-funkcionalnyy-podhod-434613