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

Введение в программирование

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус: Майнор
Когда читается: 1, 2 модуль
Язык: русский
Кредиты: 5

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

Аннотация

Изучение дисциплины «Введение в программирование» нацелено на освоение языка программирования Python и восполнение пробелов в знаниях по информатике, полученных в школе. Курс является является первым в майноре «Интеллектуальный анализ данных». Его задача научить студентов программировать на языке Python. Целью курса также является ознакомление студентов с основными принципами проектирования и анализа алгоритмов и структур данных, развитие навыков оценки сложности алгоритмов, их практической реализации.
Цель освоения дисциплины

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

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

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

  • Знать синтаксис и семантику основных конструкций языка программирования Python
  • Уметь работать в среде разработки PyCharm
  • Уметь реализовывать алгоритмы на языке программирования Python
  • Уметь оценивать сложность реализуемых алгоритмов
  • Уметь подбирать структуры данных для прикладных задач
Содержание учебной дисциплины

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

  • Что такое программирование. Парадигмы программирования. Языки программирования. Стандартный инструментарий программиста. Особенности языка Python.
    Парадигмы программирования. История и особенности языка Python. Функциональные возможности. Типичные прикладные задачи.
  • Введение в типы объектов языка Python. Числа, строки, списки, кортежи, словари, множества, файлы. Операции с объектами.
    Базовые типы. Литералы и основные операции.
  • Числа. Динамическая типизация. Оператор присваивания. Логические операторы. Операторы цикла.
    Числовые типы. Динамическая типизация и полиморфизм. Синтаксис операторов присваивания, условного и цикла.
  • Последовательности: строки, списки, кортежи.
    Литералы и основные операции. Срезы. Форматирование строк. Функция map.
  • Множества и словари.
    Операции со словарями и множествами. Примеры использования.
  • Функции. Рекурсия.
    Основные концепции. Области видимости имен. Преимущества и недостатки рекурсии.
  • Объектно-ориентирование программирование. Классы в Python.
    Основные принципы ООП. Примеры на языке Python.
  • Методы сортировки одномерных массивов.
    Метод пузырька, сортировка выбором, вставками, слиянием. Оценка сложности алгоритмов.
  • Алгоритмы поиска.
    Алгоритмы поиска в одномерных массивах. Линейный и бинарный методы.
  • Структуры данных. Отображение абстрактных структур данных на структуры данных хранения.
    Стек, очередь, куча, дерево, граф.
  • Работа с библиотеками NumPy, Pandas, Matplotlib, Seaborn.
    Основные возможности. Разбор примеров.
Элементы контроля

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

  • неблокирующий Работа на семинарах
  • неблокирующий Домашние задания
    Всего 4 ДЗ, первое из которых состоит из пяти частей, на решение каждой отводится неделя. Задания ДЗ_2 – ДЗ_4 выдаются на 2 недели.
  • неблокирующий Контрольная работа
  • неблокирующий Экзамен
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    Отдельно рассчитывается оценка за каждый модуль (округление с точностью до сотых): mod1 = 0.4*Д31 + 0.6*КР; mod2 = среднее (ДЗ2, ДЗ3, ДЗ4). Итоговая оценка за дисциплину рассчитывается следующим образом: Итоговая = min (WS + 0.4*Экзамен, 10), где WS= 0.4*min(mod1, mod2) + 0.2*max (mod1, mod2) + 0.1*B, где В = min(сумма бонусных баллов за работу на семинарах, 10)
Список литературы

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

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

  • Lutz, M. (2008). Learning Python (Vol. 3rd ed). Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415392

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

  • Изучаем Python, Лутц, М., Киселева, А., 2014