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

Технологии программирования

Статус: Майнор
Когда читается: 3, 4 модуль
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Зубаков Алексей Васильевич, Резник Сергей Александрович, Тимофеева Мария Александровна, Шагаев Дамир Тагирзянович
Язык: русский
Кредиты: 5
Контактные часы: 60

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

Аннотация

Дисциплина «Технологии программирования» призвана сформировать у студентов теоретические знания и практические навыки по основам методологии программирования, а также базовое представление об алгоритмах и структурах данных, применяющихся в современном программировании, и возможностях реализации алгоритмов и структур данных на скриптовых языках программирования.
Цель освоения дисциплины

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

  • сформировать у студентов базовое представление об алгоритмах и структурах данных, применяющихся в современном программировании, а также о возможностях реализации алгоритмов и структур данных на скриптовых языках программирования
Планируемые результаты обучения

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

  • Владеет синтаксисом языка Python для ввода и вывода информации
  • Знает синтаксис input() и print(), включая форматированный вывод
  • Владеет синтаксисом и основами ветвления и может применять их при решении разных задач
  • Применяет вложенное и множественное ветвление при решении соответствующих задач
  • Применяет цикл while для циклических задач, умеет применять цикл с постусловием и предусловием
  • Умеет создавать и обновлять списки
  • Использует срезы в строках и списках для получения необходимых подстрок из строки и подмножеств значений из списка
  • Применяет цикл for для задач с определяемым количеством повторений. Владеет навыками определения необходимой синтаксической конструкции
  • Применяет встроенные строковые методы питона для соответствующих задач
  • Применяет функции для оптимизации кода. Использует рекурсию при решении соответствующих задач
  • Создает и применяет функции, принимающие произвольное количество аргументов
  • Применяет структуры данных кортежи и словари для хранения и обработки данных
  • Применяет структуру множества для хранения и упорядочивания элементов. Использует встроенные функции для операций над множествами
  • Использует генераторы для создания разных коллекций при решении задач. Оптимизирует программный код при помощи генераторов, стремясь к компактности
  • Умеет считывать данные из файлов и записывать данные в файлы в необходимом формате
  • Понимает основы объектно-ориентированного программирования. Создает классы для решения соответствующих задач
Содержание учебной дисциплины

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

  • Ввод-вывод и арифметические операции
  • Ветвление: if, elif, else
  • Циклы while
  • Списки, строки, индексация
  • Цикл for
  • Строковые методы
  • Функции в Python
  • Кортежи-tuple и словари-dict
  • Множества
  • Генераторы
  • Работа с файлами
  • Основы ООП. Классы
Элементы контроля

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

  • неблокирующий Домашние задания
    13 домашних заданий по темам курса, используется курс на платформе Stepik: https://stepik.org/course/56391/syllabus
  • неблокирующий Индивидуальный проект
    Индивидуальный проект предполагает реализацию небольшого приложения или анализ предоставленных данных. В проекте необходимо использовать удобную для проекта библиотеку Python и реализовать подходящий алгоритм
  • неблокирующий Итоговый тест
    Итоговый тест предполагает применение всех полученных на курсе знаний и позволяет подтвердить полученную оценку
Промежуточная аттестация

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

  • 2022/2023 учебный год 4 модуль
    Оценка складывается из 3 частей. О_итог = min(9, 0.7 * О_дз + 0.3 * О_проект + 0.2 * О_тест) + max(0, 0.3 * О_проект - 1)
Список литературы

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

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

  • Álvaro Scrivano. (2019). Coding with Python. Minneapolis: Lerner Publications ™. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1947372
  • Bill Lubanovic. (2019). Introducing Python : Modern Computing in Simple Packages. [N.p.]: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2291494
  • H, S. (2013). A Byte of Python. Place of publication not identified: H, Swaroop. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsotl&AN=edsotl.OTLid0000581
  • Северанс, Ч. Р. Python для всех / Ч. Р. Северанс , перевод с английского А. В. Снастина. — Москва : ДМК Пресс, 2021. — 262 с. — ISBN 978-5-93700-104-7. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/241115 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

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

  • Стивенсон, Б. Python. Сборник упражнений : учебное пособие / Б. Стивенсон , перевод с английского А. Ю. Гинько. — Москва : ДМК Пресс, 2021. — 238 с. — ISBN 978-5-97060-916-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/241025 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Тимофеева Мария Александровна
  • Спицина Кристина Станиславовна
  • Кузнецов Антон Михайлович