We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Introduction to Programming for Linguists

2020/2021
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Delivered at:
School of English Language
Course type:
Compulsory course
When:
1 year, 1-4 module

Instructor


Мазунина Зоя Олеговна

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

Аннотация

Дисциплина посвящена изучению основ программирования и алгоритмизации на языке программирования Python (версии 3.4 и 3.6+). Введение в программирование для лингвистов не требует наличия у обучающихся опыта программирования. Обучение ведётся "с нуля", поэтому для начала освоения языка Python достаточно элементарной компьютерной грамотности (владение текстовыми редакторами, создание и сохранение файлов, установка программ, поиск информации в сети Интернет). Акцент в процессе обучения делается на задачах, связанных с автоматической обработкой текстов. Настоящая дисциплина относится к базовой части Профессионального цикла Б.ПЦ.Б, изучается на первом курсе в 1-4 модулях, т.е. является одной из первых изучаемых дисциплин на образовательной программе «Фундаментальная и прикладная лингвистика». Изучение данной дисциплины связано с изучаемыми параллельно дисциплинами «Введение в лингвистику», «Научно-исследовательский семинар» и «Теория языка». Основные положения дисциплины должны быть использованы в дальнейшем при изучении дисциплин «Программирование для лингвистов», «Компьютерные инструменты лингвистического исследования», «Автоматическая обработка естественного языка», «Машинное обучение», при подготовке курсовых и выпускных квалификационных работ.
Цель освоения дисциплины

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

  • Овладение правилами синтаксиса языка Python 3, изучение основных ключевых слов, команд и модулей стандартной библиотеки.
  • Знакомство с некоторыми лучшими практиками написания кода на языке Python 3 и типичными ошибками начинающих программистов.
  • Развитие алгоритмического мышления для решения различных задач в области обработки текстов, корпусов и баз данных.
  • Устранение психологического барьера, свойственного многим студентам-гуманитариям, не имеющим опыта программирования, и выражающегося в страхе или дискомфорте по отношению к данному виду деятельности.
Планируемые результаты обучения

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

  • Знает базовые принципы программирования.
  • Понимает, для чего нужны переменные, какие существуют типы переменных и применяет их для хранения различных данных.
  • Умеет решать различные прикладные задачи на языке программирования Python, используя все ранее изученные средства.
  • Знает возможностей модулей стандартной библиотеки math, re, random, os. Умеет их применять.
  • Умеет создавать классы и объекты классов.
  • Умеет открывать, читать и записывать файлы средствами Python.
  • Понимает, что такое множества, умеет их применять.
  • Знает особенности кортежей и их отличия от списков. Умеет применять кортежи.
  • Знает возможности и ограничения словарей. Умеет применять словари и их методы.
  • Знает возможности и особенности списков. Понимает отличие изменяемых от неизменяемых объектов. Умеет их создавать и использовать в задачах. Умеет применять методы списков.
  • Понимает особенности работы со строками в Python. Умеет создавать строки и производить над ними различные операции.
  • Знает синтаксис for- и while-циклов. Умеет применять их по назначению.
  • Знает синтаксис ветвлений, умеет их использовать в решении задач.
  • Знает, что такое функции, умеет их создавать и вызывать. Понимает разницу между продуктивными функциями и процедурами.
Содержание учебной дисциплины

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

  • Введение
    Язык программирования. Программа. Алгоритм. Алгоритмическое мышление. Особенности языка программирования Python 3. Виды ошибок. Отладка.
  • Переменные
    Значения и типы. Переменные. Имена переменных и ключевые слова. Выражения. Предложения. Операторы. Порядок вычислений. Комментарии.
  • Функции
    Функция. Определение функции. Параметр, аргумент функции. Вызов функции. Локальная переменная. Возвращаемое значение. Модуль. Импорт модуля. Встроенные функции.
  • Ветвления
    Булево выражение. Операторы сравнения. Логические операторы. Ветвление. Вложенные ветвления.
  • Циклы
    Цикл. Инкрементация. Итерация. Бесконечные циклы. Рекурсия.
  • Строки
    Строка. Индекс. Срез. Пустая строка. Операции со строками. Ввод строки пользователем. Методы строк.
  • Списки
    Список. Элемент. Ссылка. Изменяемые и неизменяемые типы данных. Методы списков. Вложенные списки. Генераторы списков.
  • Словари
    Словарь. Ключ. Значение. Методы словарей. Применение словарей и списков. Генераторы словарей.
  • Кортежи
    Кортеж. Сравнение кортежей со списками. Применение кортежей.
  • Множества
    Множество. Операции со множествами. Применение множеств.
  • Файлы и файловые объекты
    Файл. Файловый объект. Кодировка. Чтение и запись файлов.
  • Основы ООП
    Объектно-ориентированное программирование. Преимущества ООП. Возможности для применения ООП в языке Python 3.
  • Некоторые полезные модули стандартной библиотеки
    Модули math, re, random, os.
  • Практика решения задач
    В данном разделе студент самостоятельно и в классе решает различные задачи, связанные с обработкой текстов.
Элементы контроля

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

  • неблокирующий Тесты на теоретические знания
    Если проверочная работа пропущена студентом по уважительной причине, она не засчитывается как задолженность, однако если студент за время прохождения курса выполнил менее 60% работ, ему предоставляется возможность выполнить две дополнительные работы (по всем ранее пройденным темам) непосредственно перед экзаменом, при этом вес этих работ пропорционален доле пропущенных.
  • неблокирующий Домашние практические задания
    Если работа пропущена студентом по уважительной причине, она не засчитывается как задолженность, однако если студент за время прохождения курса выполнил менее 60% работ, ему предоставляется возможность выполнить две дополнительные работы (по всем ранее пройденным темам) непосредственно перед экзаменом, при этом вес этих работ пропорционален доле пропущенных.
  • неблокирующий Экзамен
    "Экзамен проводится в устной форме с использованием асинхронного прокторинга. Экзамен проводится на платформе MS Teams (https://teams.microsoft.com), прокторинг на платформе Экзамус (https://hse.student.examus.net). К экзамену необходимо подключиться за 15 минут. На платформе Экзамус доступно тестирование системы. Компьютер студента должен удовлетворять следующим требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf) Для участия в экзамене студент обязан: заранее зайти на платформу прокторинга, провести тест системы, включить камеру и микрофон, подтвердить личность. Во время экзамена студентам запрещено: общаться (в социальных сетях, с людьми в комнате), списывать. Кратковременным нарушением связи во время экзамена считается прерывание связи до 10 минут. Долговременным нарушением связи во время экзамена считается прерывание связи 10 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи."
Промежуточная аттестация

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

  • Промежуточная аттестация (4 модуль)
    0.25 * Домашние практические задания + 0.25 * Тесты на теоретические знания + 0.5 * Экзамен
Список литературы

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

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

  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2018. — 343 с. — (Высшее образование: Бакалавриат). - Режим доступа: http://znanium.com/catalog/product/924699
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2018. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/961522

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

  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2019. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/970143