2019/2020
Введение в программирование
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Майнор
Где читается:
Факультет компьютерных наук
Когда читается:
1, 2 модуль
Преподаватели:
Анвардинов Шариф Ринатович,
Вознесенская Тамара Васильевна,
Дубнов Юрий Андреевич,
Каленкович Евгений Евгеньевич,
Максимовская Анастасия Максимовна
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
Изучение дисциплины «Введение в программирование» нацелено на освоение языка программирования 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)