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

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

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

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

Аннотация

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 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