• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Основы программирования

2024/2025
Учебный год
RUS
Обучение ведется на русском языке
6
Кредиты
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный
Когда читается:
1-й курс, 1, 2 модуль

Преподаватель

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

Аннотация

Курс направлен на освоение языка программирования 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 module
    0.2 * Проект + 0.6 * Домашняя работа + 0.2 * Экзаменационная письменная работа
Список литературы

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

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

  • 40 алгоритмов, которые должен знать каждый программист на Python. - 978-5-4461-1908-0 - Ахмад Имран - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/390129 - 390129 - iBOOKS
  • Калитвин, В. А. Введение в программирование на Python : учебное пособие / В. А. Калитвин. — Липецк : Липецкий ГПУ, 2023. — 84 с. — ISBN 978-5-907655-86-7. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/403700 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Основы искусственного интеллекта в примерах на Python. Самоучитель. — 2-е изд., перераб. и доп. — (Самоучитель) - 978-5-9775-1818-5 - Постолит А. В. - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/396467 - 396467 - iBOOKS

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

  • 25 Python. Как стать профессионалом: Пер. с англ. - 978-5-9775-1944-1 - Фаррелл Д. - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/396470 - 396470 - iBOOKS
  • Хахаев, И. А. Практикум по алгоритмизации и программированию на Python : учебное пособие / И. А. Хахаев. — 2-е изд. — Москва : ИНТУИТ, 2016. — 178 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100377 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Кессель Ксения Витальевна
  • Фирсанова Виктория Игоревна