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

Основы и методология программирования

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус: Курс обязательный (Прикладная математика и информатика)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 1-й курс, 1, 3 модуль
Формат изучения: с онлайн-курсом
Онлайн-часы: 70
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Аникина Анна Сергеевна, Боголюбский Алексей Константинович, Брагин Сергей Дмитриевич, Буланбаев Артур Ильдарович, Васильева Вероника Игнатовна, Васильев Никита Геннадьевич, Дубнов Юрий Андреевич, Кищенко Ярослав Игоревич, Леванов Дмитрий Александрович, Ляшко Андрей Сергеевич, Марина Оксана Леонидовна, Минеев Игорь Евгеньевич, Михеев Александр Георгиевич, Петров Тимур Александрович, Плотников Алексей Валерьевич, Погодина Екатерина Валерьевна, Федоров Михаил Антонович, Филиппов Антон Сергеевич, Фолунин Владимир Александрович, Ханин Павел Яковлевич, Шершаков Сергей Андреевич, Яковлев Даниил Дмитриевич
Язык: русский
Кредиты: 9
Контактные часы: 140

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

Аннотация

Студенты изучают Python - высокоуровневый интерпретируемый язык программирования, популярный в области машинного обучения и анализа данных.
Цель освоения дисциплины

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

  • Знание и практическое применение языка Python в объёме, достаточном для реализации алгоритмов из курса "Алгоритмы и структуры данных"
Планируемые результаты обучения

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

  • Знает основные структуры данных в питоне: кортежи, списки, множества и словари; умеет реализовывать в коде операции с ними
  • Знает основные типы данных в питоне (булев тип, целые числа, числа с плавающей точкой, строки), умеет писать код, выполняющий арифметические операции и базовые операции со строками
  • Понимает концепцию поиска в структуре данных и сортировки структуры данных, умеет подобрать правильную структуру данных для задачи, умеет реализовать алгоритмы поиска и сортировки
  • Понимает концепцию работы переменных в питоне, умеет объявлять переменные и использовать их в коде
  • Понимает концепцию рекурсии и умеет использовать её для решения соответствующих задач
  • Понимает концепцию функций в языках программирования, умеет задавать функции, использовать аргументы в теле функций, вызывать функции
  • Понимает концепцию циклов, умеет писать код с использованием конструкций for и while
  • Понимает принципы ветвления кода, умеет писать код с использованием условного оператора
  • Понимает структуру кода на питоне: переносы строк, отступы, разделители; знает основные операторы языка
  • Умеет работать с файлами: читать и записывать информацию, обходить файлы на жёстком диске и работать с их именами, учитывать кодировку файла при взаимодействии с ним
  • Умеет работать со строками: искать подстроки, делать замены подстрок, объединять и делить строки, корректно учитывать кодировки строк
  • Умеет считывать введённые пользователем данные и выводить результаты работы программы
  • Умеет установить интерпретатор Python и выполнить код с его помощью
Содержание учебной дисциплины

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

  • Язык программирования Python
  • Язык программирования C++
Элементы контроля

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

  • неблокирующий Домашняя работа 1
  • неблокирующий Домашняя работа 2
  • неблокирующий Домашняя работа 3
  • неблокирующий Домашняя работа 4
  • неблокирующий Домашняя работа 5
  • неблокирующий Домашняя работа 6
  • неблокирующий Домашняя работа 7
  • неблокирующий Домашняя работа 8
  • неблокирующий Домашняя работа 9
  • неблокирующий Домашняя работа 10
  • неблокирующий Домашняя работа 11
  • неблокирующий Домашняя работа 12
  • неблокирующий Экзамен
  • неблокирующий Контрольная работа 1 (C++)
  • неблокирующий Контрольная работа 2 (C++)
  • неблокирующий Контрольная работа 3 (C++)
  • неблокирующий Контрольная работа 4 (C++)
  • неблокирующий Домашнее задание (C++)
  • неблокирующий Экзамен (C++)
    Студенты сдают задания через Яндекс.Контест. Наблюдение через zoom. Они прямо в Контесте будут видеть задания и либо выбирать варианты ответа, либо вводить свой ответ. С Контестом они хорошо знакомы, они сдавали туда программы на автоматическую проверку во время учебы. Будет много отдельных соревнований в контесте, чтобы разным студентам доставался немного разный набор вопросов (и порядок вопросов). Преподаватель перед экзаменом может опубликовать гугл-таблицу, по которой студент сможет найти правильную ссылку на свое соревнование. Резервная дата 11 июня - вместе со студентами ИБ МИЭМа
Промежуточная аттестация

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

  • 2021/2022 учебный год 1 модуль
    0.05 * Домашняя работа 7 + 0.4 * Экзамен + 0.05 * Домашняя работа 10 + 0.05 * Домашняя работа 8 + 0.05 * Домашняя работа 4 + 0.05 * Домашняя работа 3 + 0.05 * Домашняя работа 2 + 0.05 * Домашняя работа 5 + 0.05 * Домашняя работа 12 + 0.05 * Домашняя работа 1 + 0.05 * Домашняя работа 9 + 0.05 * Домашняя работа 6 + 0.05 * Домашняя работа 11
  • 2021/2022 учебный год 3 модуль
    0.1 * Домашняя работа 12 + 0.1 * Экзамен + 0.1 * Домашняя работа 10 + 0.05 * Домашняя работа 7 + 0.05 * Домашняя работа 4 + 0.05 * Домашняя работа 6 + 0.05 * Домашняя работа 5 + 0.05 * Домашняя работа 2 + 0.05 * Домашняя работа 3 + 0.2 * Домашняя работа 9 + 0.05 * Домашняя работа 1 + 0.05 * Домашняя работа 8 + 0.1 * Домашняя работа 11
Список литературы

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

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

  • 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

Рекомендуемая дополнительная литература

  • Matthes, E. Python crash course: a hands-on, project-based introduction to programming. – No Starch Press, 2015. – 562 pp.

Авторы

  • Густокашин Михаил Сергеевич
  • Зобнин Алексей Игоревич