Курс "Введение в программирование" в майноре "Интеллектуальный анализ данных"
О курсе
Курс посвящён изучению основ и методологии программирования на основе языка Python, который широко используется для разработки и реализации методов анализа данных.
Рассматриваются основные структуры и алгоритмы, работа с данными разного вида (тексты, бинарные файлы, изображения), создание графических пользовательских интерфейсов, инструменты и средства разработки и отладки программ.
Читается: 1-2 модуль 2 курса, 2015/2016 учебный год.
Пререквизиты: Нет
Трудоемкость: 5 кредитов
Продолжительность
Всего: 60 аудиторных часов:
Из них:
- 30 часов лекций
- 30 часов практических занятий
Формы контроля
- контрольная работа
- домашнее задание
- экзамен
[развернуть]
Преподаватели
- Вознесенская Тамара Васильевна,
Доцент, ведёт лекционные и практические занятия
- Паринов Андрей Андреевич,
Старший преподаватель, ведёт практические занятия
- Яворский Ростислав Эдуардович,
Доцент, ведёт практические занятия
- Кашницкий Юрий Савельевич,
Преподаватель, ведёт практические занятия
- Кутылев Сергей Александрович,
Преподаватель, ведёт практические занятия
- Бартунов Сергей Олегович,
Преподаватель, ведёт практические занятия
- Щуров Илья Валерьевич,
Доцент, ведёт практические занятия
- [# Зиннурова Эльвира Альбертовна],
Преподаватель, ведёт практические занятия
- [# Папулин Сергей],
Преподаватель, ведёт практические занятия
- [# Панов Александр],
Преподаватель, ведёт практические занятия
Учебный процесс
Расписание занятий
Пара |
Группа |
Преподаватель |
Группа |
Преподаватель |
Группа |
Преподаватель |
Группа |
Преподаватель |
Группа |
Преподаватель
|
3 12.10-13.30 |
ПЗ 1 подгр. (ауд.3214) |
Яворский |
ПЗ 2 подгр. (ауд.4335) |
Папулин |
ПЗ 3 подгр. (ауд.4336) |
Кутылев |
ПЗ 4 подгр. (ауд.4427) |
Вознесенская |
ПЗ 5 подгр (ауд.4428) |
Паринов
|
4 13.40-15.00 |
ПЗ 11 подгр. (ауд.3214) |
Кашницкий |
ПЗ 12 подгр. (ауд.4335) |
Яворский |
ПЗ 13 подгр. (ауд.4336) |
Щуров |
ПЗ 14 подгр. (ауд.4427) |
Папулин |
ПЗ 15 подгр (ауд.4428) |
Зиннурова
|
5 15.10-16.30 |
ПЗ 6 подгр. (ауд.3214) |
Кашницкий |
ПЗ 7 подгр. (ауд.4335) |
Кутылев |
ПЗ 8 подгр. (ауд.4336) |
Панов |
ПЗ 9 подгр. (ауд.4427) |
Папулин |
ПЗ 10 подгр (ауд.4428) |
Зиннурова
|
6 16.40-18.00 |
ПЗ 16 подгр. (ауд.3214) |
Бартунов |
ПЗ 17 подгр. (ауд.4335) |
Зиннурова |
ПЗ 18 подгр. (ауд.4336) |
Кутылев |
ПЗ 19 подгр. (ауд.4427) |
Папулин |
ПЗ 20 подгр (ауд.4428) |
Вознесенская
|
[развернуть]
Программа лекций
- Лекция 01.09.2015
Особенности языка Python. Области применения. Структура программы. Модули. Скачать PDF
- Лекция 08.09.2015
Введение в типы объектов языка Python. Числа, строки, списки, кортежи, словари, множества, файлы. Операции с объектами. Скачать PDF, Скачать py
- Лекция 15.09.2015
Числа. Динамическая типизация. Оператор присваивания. Условный оператор. Логические операторы. Операторы цикла. Скачать PDF Скачать py
- Лекция 22.09.2015
Последовательности: строки, списки, кортежи.Скачать PDF, Скачать py
- Лекция 29.09.2015
Словари. Стиль программирования на Python (Стандарт PEP-8). Документирование кода. (Стандарт PEP-257). Скачать PDF
- Лекция 06.10.2015
Функции. Рекурсия. Скачать PDF
- Лекция 13.10.2015
Работа с библиотеками. Обзор стандартной библиотеки Pyhton. Работа с текстовыми и бинарными файлами.
- Лекция 20.10.2015
Организация взаимодействия с пользователем. Интерфейсы. Web-разработка.
- Лекция 03.11.2015
Методы сортировки одномерных массивов. Метод пузырька, сортировка вставками, слиянием, Timsort, tree sort.
- Лекция 10.11.2015
Алгоритмы поиска в одномерных массивах. Линейный и бинарный методы.
- Лекция 17.11.2015
Структуры данных. Отображение абстрактных структур данных на структуры данных хранения. Стек, очередь, куча, дерево, граф.
- Лекция 24.11.2015
Алгоритмы на графах. Обход в глубину и в ширину.
- Лекция 01.12.2015
Интересные задачи.
- Лекция 08.12.2015
Основы ООП. Классы.
- Лекция 15.12.2015
Отладка и профилирование программы. Обработка исключений.
[развернуть]
Программа практических занятий
- Практическое занятие 01.09.2015
Стандартный инструментарий программиста. Знакомство c интерпретатором и со средами разработки PyCharm и Wing IDE 101. Первая программа «Hello, world!».
- Практическое занятие 08.09.2015
Простые задачи. Целые числа. Условный оператор
- Практическое занятие 15.09.2015
Условный оператор. Циклы.
- Практическое занятие 22.09.2015
Строки. Списки. Алгоритмы на строках.
- Практическое занятие 29.09.2015
Словари. Множества.
- Практическое занятие 06.10.2015
Функции. Рекурсия.
- Практическое занятие 13.10.2015
Работа с файлами. Разбор примеров плохого и хорошего стилей программирования.
- Практическое занятие 20.10.2015
Контрольная работа.
- Практическое занятие 03.11.2015
Использование готовых методов сортировки. Реализация собственных.
- Практическое занятие 10.11.2015
Задачи на линейный и бинарный поиск.
- Практическое занятие 17.11.2015
Задачи на использование различных структур данных хранения.
- Практическое занятие 24.11.2015
Элементарные задачи на графы. Способы задания графов. Обход в глубину. Обход в ширину.
- Практическое занятие 01.12.2015
Задачи из серии “Ханойские башни”.
- Практическое занятие 08.12.2015
Разбор готовых примеров ООП. Вычислительная геометрия.
- Практическое занятие 15.12.2015
Разбор готовых примеров. Сдача домашнего задания.
Домашние задания
На каждом практическом занятии (кроме первого и контрольной работы) студенты получают задачи, которые необходимо сдать ДО начала следующего практического занятия (то есть в течение недели). Каждая задача имеет определенную “стоимость” – максимальное количество баллов, которое возможно получить за ее решение.
Решенную задачу (код) необходимо загрузить в систему автоматического приема задач на http://informatics.mccme.ru/.
От недостающего количества баллов за задание позже срока можно получить не более половины: например, если за семинар нужно набрать 15 баллов, в срок студент набрал 9, тогда позже срока он может набрать не более, чем (15-9)/ 2=3.
Во втором модуле уже нельзя сдавать задачи за первый.
При накопленной оценке от 8 и выше возможно получение автомата. Данное условие является необходимым, но не достаточным.
Контрольная работа
Внимание! Контрольная работа для групп 4, 5, 9, 10, 14, 15, 19, 20 будет проходить в других аудиториях. Смотрите таблицу ниже.
Пара |
Группа |
Преподаватель |
Группа |
Преподаватель |
Группа |
Преподаватель |
|
3 12.10-13.30 |
ПЗ 1 подгр. (ауд.3214) |
Яворский |
ПЗ 2, 5 подгр. (ауд.4335) |
Папулин, Паринов |
ПЗ 3, 4 подгр. (ауд.4336) |
Кутылев, Вознесенская
|
4 13.40-15.00 |
ПЗ 11 подгр. (ауд.3214) |
Кашницкий |
ПЗ 12, 15 подгр. (ауд.4335) |
Яворский, Зиннурова |
ПЗ 13, 14 подгр. (ауд.4336) |
Щуров, Папулин
|
5 15.10-16.30 |
ПЗ 6 подгр. (ауд.3214) |
Кашницкий |
ПЗ 7, 10 подгр. (ауд.4335) |
Кутылев, Зиннурова |
ПЗ 8, 9 подгр. (ауд.4336) |
Панов, Папулин
|
6 16.40-18.00 |
ПЗ 16 подгр. (ауд.3214) |
Бартунов |
ПЗ 17, 20 подгр. (ауд.4335) |
Зиннурова, Вознесенская |
ПЗ 18, 19 подгр. (ауд.4336) |
}
Как происходит прием задач
- Написанный студентом код на языке программирования Python загружается им самостоятельно в систему автоматического приема задач на http://informatics.mccme.ru/.
- Система проверяет задачу, используя набор тестов и выдает результат проверки.
- Если автоматическая проверка пройдена, преподаватель осуществляет code review и выставляет конечную оценку за задачу, либо отправляет задачу на доработку (не более одного раза), снабдив замечаниями.
- Временем сдачи задачи считается время прохождения автоматической проверки (статус “ОК”). При получении задачи на доработку чтобы не потерять баллы студент должен повторно пройти автоматическую проверку в недельный срок с момента получения замечаний.
- За задачи, сданные позже срока, возможно получить не более половины баллов.
- Необходимо зайти на сайт http://informatics.mccme.ru/ и в боковом меню нажать ссылку Регистрация
- На открывшейся странице необходимо ввести:
- Логин и Пароль для авторизации в системе (придумайте и запомните),
- Ваши Фамилию, Имя, Отчество, Город (Москва), Страну (Россия).
- в поле email введите Вашу почту в домене @edu.hse.ru
- в поле Школа укажите Майнор ВШЭ – подгр. и номер Вашей подгруппы (например Майнор ВШЭ – подгр. 1) Класс 11 и год выпуска 2015
- Поставьте галочку что Вы не робот и нажмите кнопку Сохранить
- Далее в открывшемся окне введите Ваш логин и пароль и нажмите кнопку Вход.
- После удачной авторизации Вы будете перенаправлены на страницу курсов, можете найти в списке Курсов “Майнор ВШЭ” или пройти сразу на страницу http://informatics.mccme.ru/course/view.php?id=1128. По мере наступления практических занятий там будут появляться задачи.
Инструкции для студентов
- Регистрация в системе автоматического приема задач
- Установка среды разработки PyCharm
Полезные ссылки
Интерпретаторы
- Скачать Python 3.4 Windows (используется в курсе)
Среды разработки IDE
- Wing IDE 5.1.5 Windows
- PyCharm 4.5.3 Community Edition Windows
- PyCharm 4.5.4 Community Edition Mac OS X
Контроль версий
- GitHub Client Windows
- SourceTree Windows
|