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

Углубленное программирование для лингвистов

Язык: русский
Кредиты: 3
Контактные часы: 32

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

Аннотация

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

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

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

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

  • Знать принципы работы компиляторов и интепретаторов
  • Уметь использовать базовые алгоритмы анализа текстов
  • Уметь составлять алгоритмы и оценивать сложность алгоритма
  • Уметь моделировать абстракции различных уровней для написания программного кода в стиле ООП (Объектно-ориентированное программирование)
  • Улучшить стилевые навыки для написания четкого и ясного кода по принципам SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation и Dependency inversion)
  • Уметь проводить морфологический, синтаксический и семантический анализ текстов автоматическими методами
  • Уметь находить и использовать актуальные библиотеки для решения поставленных задач
  • Уметь анализировать функционал рассматриваемой библиотеки, анализировать несколько библиотек-кандидатов с последующим выбором итоговой технологии
  • Уметь формировать список требуемых библиотек, технологий на основе заданных требований
  • Уметь программировать комплексное решение, содержащее несколько технологий/библиотек/баз данных
  • Уметь презентовать программное решение потенциальному заказчику за заданное время
  • Знать принципы работы компиляторов и интерпретаторов
  • Уметь организовывать и стандартизировать Python-проект, разрабатывать асинхронные веб-сервисы и подготавливать приложения к эксплуатации
  • Уметь разрабатывать комплексные программные решения, включая базовые агентные системы и интеграцию нескольких технологий/библиотек/баз данных, с применением генеративного ИИ
  • Понимать основные процессы DevOps, контейнеризации, CI/CD и жизненного цикла программного продукта
  • Уметь соблюдать регламент командной разработки с использованием Git
  • Уметь разрабатывать комплексные программные решения, включая базовые агентные системы и интеграцию нескольких технологий, библиотек и баз данных, с применением генеративного ИИ
Содержание учебной дисциплины

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

  • Тема 1. Введение в ООП, Базовые принципы тестирования
  • Тема 2. Система контроля версий Git, Сложность алгоритмов
  • Тема 3. Структуры данных, Принципы тестирования, Принципы SOLID
  • Тема 5. Организация Python проекта
  • Тема 4. Введение в коммерческую разработку
  • Тема 6. Стандартизация проекта, контроль качества и логирование
  • Тема 7. Асинхронное программирование и разработка веб-сервисов
  • Тема 8. DevOps и жизненный цикл программного продукта
  • Тема 9. Контейнеризация, Docker и CI/CD
  • Тема 10. Разработка программного обеспечения с использованием LLM
  • Тема 11. Основы агентных систем
Элементы контроля

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

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

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

  • 2025/2026 3rd module
    0.3 * Активность + 0.4 * Активность + 0.3 * Итоговый проект
  • 2026/2027 2nd module
    0.7 * Проект + 0.3 * Активность
Список литературы

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

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

  • Á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
  • Hetland, M. L. (2014). Python Algorithms : Mastering Basic Algorithms in the Python Language (Vol. Second edition). [New York, N.Y.]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174465
  • Грокаем алгоритмы : иллюстрированное пособие для программистов и любопытствующих, Бхаргава, А., 2023
  • Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих. - 978-5-4461-0923-4 - Бхаргава А. - 2022 - Санкт-Петербург: Питер - https://ibooks.ru/products/376971 - 376971 - iBOOKS

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

  • Andrew Bird, Dr Lau Cher Han, Mario Corchero Jiménez, Graham Lee, & Corey Wade. (2019). The Python Workshop : A New, Interactive Approach to Learning Python. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2291496
  • Kurdi, M. Z. (2017). Natural Language Processing and Computational Linguistics 2 : Semantics, Discourse and Applications. London, UK: Wiley-ISTE. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1642577
  • Теоретический минимум по Computer Science. Все, что нужно программисту и разработчику - 978-5-4461-0587-8 - Владстон Ф.Ф - 2020 - Санкт-Петербург: Питер - https://ibooks.ru/products/358138 - 358138 - iBOOKS
  • Чистый код: создание, анализ и рефакторинг - 978-5-4461-0960-9 - Мартин Роберт - 2019 - Санкт-Петербург: Питер - https://ibooks.ru/products/361844 - 361844 - iBOOKS

Авторы

  • Сафарян Анна Карэновна
  • Ураев Дмитрий Юрьевич
  • Климова Маргарита Андреевна
  • Бадасян Александра Арсеновна