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). — Режим доступа: для авториз. пользователей.