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