2024/2025




Основы программирования
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Маго-лего
Кто читает:
Департамент филологии
Когда читается:
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 и выводит данные на экран по заданным условиям, производит поиск и вносит изменения с помощью регулярных выражений, сохраняет данные в структуры данных (списки, кортежи, множества).
- Скрипт для форматирования промпта для разработки виртуального ассистента на основе больших языковых моделей: считывание данных из файла, поиск по файлу, использование переменных, обработка данных из входных данных пользователя, конкатенация строк в единый промпт (входные данные для большой языковой модели).
- Создание класса для модели реального объекта с методами и атрибутами. Варианты решения задачи: построение модели приватного блокчейна, создание архитектуры виртуального ассистента, создание модели ORM/CRM.
- Решение 10-15 классических задач с LeetCode или HackerRank. Завершенный финальный проект (на выбор: веб-приложение с элементами NLP, продвинутый парсер с анализом данных, ML-модель для классификации текста с простым API на Flask). Код выложен на GitHub. Презентация финальных проектов. Ответы на вопросы. Советы по составлению резюме, поиску первых заказов/вакансий и прохождению собеседований. Обзор перспектив карьерного развития: углубление в ML, Deep Learning, специализация в NLP и т.д.
Содержание учебной дисциплины
- Основы Python. Введение в экосистему
- Циклы. Базовые структуры данных. Работа с файлами
- Функциональное программирование. Работа со строками
- Объектно-ориентированное программирование (ООП)
- Основы Data Science
- Подготовка к собеседованию и финальный проект
Элементы контроля
- Домашняя работаПисьменная работа, которая предполагает решение задачи методами программирования на языке Python. Задания выполняются студентом вне аудитории. Задания направляются преподавателю по электронной почте.
- ПроектПроект представляет подготовку решения исследовательской задачи и устное сообщение с отчетом по выполненной работе. Устное сообщение не должно занимать более 7-10 минут и должно быть основано на собственных наблюдениях студента и выводах, сделанных в процессе решения исследовательской задачи. По своему усмотрению студент может сопровождать устное сообщение слайдами PowerPoint или раздаточным материалом. Презентация, текст которой полностью заимствован из печатного или Интернет-источника и никак критически не переработан студентом, оценивается в 0 баллов.
- Экзаменационная письменная работаСтуденту предлагается выбрать задачу для решения методами программирования на языке Python. Время на подготовку – 60 минут.
Промежуточная аттестация
- 2024/2025 2nd module0.6 * Домашняя работа + 0.2 * Проект + 0.2 * Экзаменационная письменная работа