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

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

Язык: русский
Кредиты: 5

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Домашние задания
  • неблокирующий Контрольная работа
  • неблокирующий Экзамен
  • неблокирующий Online-курс
  • неблокирующий Бонусы
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    Итоговая = min(0.3*КР + 0.3*ДЗ + 0.4*Exam + 0.1*B, 10) ДЗ = 10*НБ/Бmax, НБ-набранные баллы, Бmax-максимальное возможное число баллов. Экзамен = 0.2* Экз_контест + 0.8* Экз_устн В (<=10) - бонусы, получаются за активную работу на семинарах, не более 1 за семинар Округляется только итоговая. 0.5 округляется вверх. Окончательные оценки за КР и домашние задания ставятся после защит (приглашение студентов на защиты по усмотрению преподавателя). В случае плагиата одна задача обнуляет всю работу.
Список литературы

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

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

  • 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