Майнор Интеллектуальный анализ данных/Введение в программирование

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Курс "Введение в программирование" в майноре "Интеллектуальный анализ данных"

О курсе

Курс посвящён изучению основ и методологии программирования на основе языка Python, который широко используется для разработки и реализации методов анализа данных. Рассматриваются основные структуры и алгоритмы, работа с данными разного вида (тексты, бинарные файлы, изображения), создание графических пользовательских интерфейсов, инструменты и средства разработки и отладки программ.

Читается: 1-2 модуль 2 курса, 2015/2016 учебный год.
Пререквизиты: Нет
Трудоемкость: 5 кредитов

Продолжительность

Всего: 60 аудиторных часов:
Из них:

  • 30 часов лекций
  • 30 часов практических занятий
Формы контроля
  • контрольная работа
  • домашнее задание
  • экзамен

Преподаватели

  1. Вознесенская Тамара Васильевна,
    Доцент, ведёт лекционные и практические занятия
  2. Паринов Андрей Андреевич,
    Старший преподаватель, ведёт практические занятия
  3. Яворский Ростислав Эдуардович,
    Доцент, ведёт практические занятия
  4. Кашницкий Юрий Савельевич,
    Преподаватель, ведёт практические занятия
  5. Кутылев Сергей Александрович,
    Преподаватель, ведёт практические занятия
  6. Бартунов Сергей Олегович,
    Преподаватель, ведёт практические занятия
  7. Щуров Илья Валерьевич,
    Доцент, ведёт практические занятия
  8. [# Зиннурова Эльвира Альбертовна],
    Преподаватель, ведёт практические занятия
  9. [# Папулин Сергей],
    Преподаватель, ведёт практические занятия
  10. [# Панов Александр],
    Преподаватель, ведёт практические занятия

Учебный процесс

Расписание занятий
Пара Группа Преподаватель Группа Преподаватель Группа Преподаватель Группа Преподаватель Группа Преподаватель
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) Вознесенская
Программа лекций
  1. Лекция 01.09.2015
    Особенности языка Python. Области применения. Структура программы. Модули. Скачать PDF
  2. Лекция 08.09.2015
    Введение в типы объектов языка Python. Числа, строки, списки, кортежи, словари, множества, файлы. Операции с объектами. Скачать PDF, Скачать py
  3. Лекция 15.09.2015
    Числа. Динамическая типизация. Оператор присваивания. Условный оператор. Логические операторы. Операторы цикла. Скачать PDF Скачать py
  4. Лекция 22.09.2015
    Последовательности: строки, списки, кортежи.Скачать PDF, Скачать py
  5. Лекция 29.09.2015
    Словари. Стиль программирования на Python (Стандарт PEP-8). Документирование кода. (Стандарт PEP-257). Скачать PDF
  6. Лекция 06.10.2015
    Функции. Рекурсия. Скачать PDF
  7. Лекция 13.10.2015
    Работа с библиотеками. Обзор стандартной библиотеки Pyhton. Работа с текстовыми и бинарными файлами.
  8. Лекция 20.10.2015
    Организация взаимодействия с пользователем. Интерфейсы. Web-разработка.
  9. Лекция 03.11.2015
    Методы сортировки одномерных массивов. Метод пузырька, сортировка вставками, слиянием, Timsort, tree sort.
  10. Лекция 10.11.2015
    Алгоритмы поиска в одномерных массивах. Линейный и бинарный методы.
  11. Лекция 17.11.2015
    Структуры данных. Отображение абстрактных структур данных на структуры данных хранения. Стек, очередь, куча, дерево, граф.
  12. Лекция 24.11.2015
    Алгоритмы на графах. Обход в глубину и в ширину.
  13. Лекция 01.12.2015
    Интересные задачи.
  14. Лекция 08.12.2015
    Основы ООП. Классы.
  15. Лекция 15.12.2015
    Отладка и профилирование программы. Обработка исключений.


Программа практических занятий
  1. Практическое занятие 01.09.2015
    Стандартный инструментарий программиста. Знакомство c интерпретатором и со средами разработки PyCharm и Wing IDE 101. Первая программа «Hello, world!».
  2. Практическое занятие 08.09.2015
    Простые задачи. Целые числа. Условный оператор
  3. Практическое занятие 15.09.2015
    Условный оператор. Циклы.
  4. Практическое занятие 22.09.2015
    Строки. Списки. Алгоритмы на строках.
  5. Практическое занятие 29.09.2015
    Словари. Множества.
  6. Практическое занятие 06.10.2015
    Функции. Рекурсия.
  7. Практическое занятие 13.10.2015
    Работа с файлами. Разбор примеров плохого и хорошего стилей программирования.
  8. Практическое занятие 20.10.2015
    Контрольная работа.
  9. Практическое занятие 03.11.2015
    Использование готовых методов сортировки. Реализация собственных.
  10. Практическое занятие 10.11.2015
    Задачи на линейный и бинарный поиск.
  11. Практическое занятие 17.11.2015
    Задачи на использование различных структур данных хранения.
  12. Практическое занятие 24.11.2015
    Элементарные задачи на графы. Способы задания графов. Обход в глубину. Обход в ширину.
  13. Практическое занятие 01.12.2015
    Задачи из серии “Ханойские башни”.
  14. Практическое занятие 08.12.2015
    Разбор готовых примеров ООП. Вычислительная геометрия.
  15. Практическое занятие 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) }
Как происходит прием задач
  1. Написанный студентом код на языке программирования Python загружается им самостоятельно в систему автоматического приема задач на http://informatics.mccme.ru/.
  2. Система проверяет задачу, используя набор тестов и выдает результат проверки.
  3. Если автоматическая проверка пройдена, преподаватель осуществляет code review и выставляет конечную оценку за задачу, либо отправляет задачу на доработку (не более одного раза), снабдив замечаниями.
  4. Временем сдачи задачи считается время прохождения автоматической проверки (статус “ОК”). При получении задачи на доработку чтобы не потерять баллы студент должен повторно пройти автоматическую проверку в недельный срок с момента получения замечаний.
  5. За задачи, сданные позже срока, возможно получить не более половины баллов.
Как зарегистрировать учетную запись на http://informatics.mccme.ru/.
  1. Необходимо зайти на сайт http://informatics.mccme.ru/ и в боковом меню нажать ссылку Регистрация
  2. На открывшейся странице необходимо ввести:
    1. Логин и Пароль для авторизации в системе (придумайте и запомните),
    2. Ваши Фамилию, Имя, Отчество, Город (Москва), Страну (Россия).
    3. в поле email введите Вашу почту в домене @edu.hse.ru
    4. в поле Школа укажите Майнор ВШЭ – подгр. и номер Вашей подгруппы (например Майнор ВШЭ – подгр. 1) Класс 11 и год выпуска 2015
    5. Поставьте галочку что Вы не робот и нажмите кнопку Сохранить
  3. Далее в открывшемся окне введите Ваш логин и пароль и нажмите кнопку Вход.
  4. После удачной авторизации Вы будете перенаправлены на страницу курсов, можете найти в списке Курсов “Майнор ВШЭ” или пройти сразу на страницу http://informatics.mccme.ru/course/view.php?id=1128. По мере наступления практических занятий там будут появляться задачи.

Инструкции для студентов

  1. Регистрация в системе автоматического приема задач
  2. Установка среды разработки PyCharm

Полезные ссылки

Интерпретаторы

  1. Скачать Python 3.4 Windows (используется в курсе)

Среды разработки IDE

  1. Wing IDE 5.1.5 Windows
  2. PyCharm 4.5.3 Community Edition Windows
  3. PyCharm 4.5.4 Community Edition Mac OS X

Контроль версий

  1. GitHub Client Windows
  2. SourceTree Windows