Магистратура
2025/2026



Основы программирования
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Языковые технологии в бизнесе и образовании)
Кто читает:
Департамент филологии
Где читается:
Санкт-Петербургская школа гуманитарных наук и искусств
Когда читается:
1-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Фирсанова Виктория Игоревна
Язык:
русский
Кредиты:
6
Программа дисциплины
Аннотация
Курс направлен на освоение языка программирования Python. Целью курса является изучение и отработка основных навыков использования языка программирования Python для решения задач анализа данных и обработки естественного языка. Курс подходит для студентов, которые ранее не имели опыта программирования. Для студентов, которые ранее осваивали программирование на языке Python, также предусмотрены дополнительные задания. В программу курса входит изучение теоретической базы программирования (основные операции вычисления, структуры и типы данных, алгоритмы). Основное внимание уделяется практике программирования: решение задач, объектно-ориентированное программирование, анализ данных. В результате освоения курса студент научится использовать язык программирования Python для решения исследовательских задач в области компьютерной лингвистики, станет уверенным пользователям таких библиотек, как Numpy, Pandas, Matplotlib. Студент, который успешно освоит курс, будет подготовлен к освоению анализа данных и машинного обучения.
Цель освоения дисциплины
- Изучить типы и структуры данных в Python, овладение основными операциями с ними
- Узнать основные программные ошибки и способы их обработки
- Овладеть синтаксисом, логикой и применением функций на языке Python
- Изучить концепции и принципы объектно-ориентированного программирования и уметь применять их на практике
- Ознакомиться с основными инструментами библиотек для анализа данных
- Ознакомиться с основными инструментами библиотек для обработки естественного языка
- Научиться самостоятельно формулировать исследовательскую задачу в области компьютерной лингвистики, описывать алгоритм её решения и решать её средствами языка Python
- Познакомиться с технологиями больших языковых моделей (LLM) и уметь применять их для обработки и анализа данных
Планируемые результаты обучения
- Овладеть основными операциями на языке программирования Python
- Овладеть основными инструментами библиотек для анализа данных (Pandas, Numpy, Scipy, Matplotlib, Seaborn, Scikit Learn)
- Овладеть основными инструментами библиотек для обработки естественного языка (Gensim, Spacy, NLTK, Pymorphy2, Pymystem)
- Самостоятельно формулировать исследовательскую задачу в области компьютерной лингвистики, описать алгоритм ее решения и решить ее средствами языка Python
- Настроено рабочее окружение, запущен скрипт, который запрашивает имя пользователя и выводит приветствие.
- Консольный калькулятор с выбором операции (+, -, *, /); скрипт, определяющий характеристику введенного числа (четное/нечетное, положительное/отрицательное); программа проверки имени и пароля пользователя на соответствие условиям.
- Скрипт, который считывает информацию из файла *.txt и выводит данные на экран по заданным условиям, производит поиск и вносит изменения с помощью регулярных выражений, сохраняет данные в структуры данных (списки, кортежи, множества).
- Скрипт для форматирования промпта для разработки виртуального ассистента на основе больших языковых моделей: считывание данных из файла, поиск по файлу, использование переменных, обработка данных из входных данных пользователя, конкатенация строк в единый промпт (входные данные для большой языковой модели).
- Создание блока данных для конфигурации настроек программного обеспечения в формате JSON и шифрование данных с помощью криптографических библиотек.
- Скрипт, который читает данные из файла, обрабатывает возможные ошибки (например, отсутствие файла) и сохраняет результат в новый файл.
- Создание класса для модели реального объекта с методами и атрибутами. Варианты решения задачи: построение модели приватного блокчейна, создание архитектуры виртуального ассистента, создание модели ORM/CRM.
- Скрипт, который получает данные с открытого API и выводит их в консоль, или скрипт, который получает список постов с JSONPlaceholder.
- Парсер, который собирает заголовки новостей или цены товаров с выбранного сайта и сохраняет их в CSV-файл или БД.
- Скрипт, который предсказывает выживание пассажира на Титанике.
- Разработка прототипа приложения "виртуальный ассистент": создание консольного скрипта, веб-интерфейса и Telegram-версии приложения.
- Решение 10-15 классических задач с LeetCode или HackerRank. Завершенный финальный проект (на выбор: веб-приложение с элементами NLP, продвинутый парсер с анализом данных, ML-модель для классификации текста с простым API на Flask). Код выложен на GitHub. Презентация финальных проектов. Ответы на вопросы. Советы по составлению резюме, поиску первых заказов/вакансий и прохождению собеседований. Обзор перспектив карьерного развития: углубление в ML, Deep Learning, специализация в NLP и т.д.
Содержание учебной дисциплины
- Основы Python. Введение в экосистему
- Условные операторы и булева логика
- Циклы. Базовые структуры данных. Работа с файлами
- Функциональное программирование. Работа со строками
- Словари. Модули. JSON
- Обработка исключений
- Объектно-ориентированное программирование (ООП)
- Работа с внешними API и HTTP-запросы
- Введение в парсинг веб-страниц
- Основы Data Science
- Введение в Machine Learning
- Исполняемые скрипты. Веб-приложения. Telegram-боты
- Подготовка к собеседованию и финальный проект
Промежуточная аттестация
- 2025/2026 2nd module0.4 * Практические задания + 0.6 * Экзаменационное испытание