Алгоритмы и структуры данных (продвинутый поток)

Материал из Public ATP Wiki
Перейти к: навигация, поиск

Общие сведения

  • Семестр: 1 (первый курс)
  • Форма контроля: дифференцированный зачет

Важные ссылки

Требования

  • Физтех-почта (домен phystech.edu)
  • Аккаунт на GitHub
  • Ноутбук на занятиях

План курса

Тема
1 Введение. Знакомство с Python
2 Управление вычислениями. Контейнеры, итераторы
3 Словари, множества. Модуль collection
4 Функции (часть 1). Базовый синтаксис и генераторы
5 Функции (часть 2). Области видимости, замыкания, декораторы
6 Строки и файлы
7 ООП (часть 1). Основные принципы и определения и базовый синтаксис
8 ООП (часть 2). Magic-методы
9 Лучшие практики программирования. Юнит-тестирование
10 Работа с сетью. Серверные приложения. Боты
11 NumPy. Оптимизация кода
12 Работа с табличными данными. Pandas
13 Инструменты визуализации. Matplotlib
14 Работа с сетью. Клиенты и парсинг

Оценивание

Оценка по курсу состоит из нескольких частей:

  1. Тесты
  2. Контесты
  3. Практические проекты
  4. Лабораторная работа

Тесты

  • Небольшие тесты на 10 минут в начале каждого занятия
  • Вопросы по материалам прошлого занятия
  • Для прохождения нужен phystech.edu-аккаунт
  • За каждый тест - 10 баллов.

Контесты

  • Набор задач с автоматической проверкой тестирующей системой Я.Контест (нужен phystech.edu-аккаунт)
  • Всего 6 тестов - после каждой темы базового блока
  • Срок решения - 2 недели
  • За каждый контест - 10 баллов
  • Списывание детектируется и наказуемо!

Практические проекты

  • 2 проекта - консольное приложение (после ООП) и серверное приложение (после Сети-2)
  • Работа над кодом в несколько итераций на GitHub (нужен аккаунт)
  • Срок работы - 2 недели + 1 неделя на каждую следующую итерацию
  • Список тем проектов будет позднее
  • Оценка за проект: зачет / незачет + до 2 доп. баллов (wow-эффект)

Лабораторная работа

  • Анализ данных с помощью Pandas и Matplotlib
  • Выдается после “Инструменты визуализации”
  • Срок работы - 2 недели
  • Оценка - 10 баллов
  • Является блокирующей! Для получения зачета за курс необходимо набрать хотя бы 1 балл

Команда курса

  • Преподаватели:
    • Андрианов Артем
    • Богдан Давид
    • Боярников Илья
    • Евдокимова Анастасия
    • Реброва Алина
    • Рошиору Светлана
    • Честнов Никита
    • Якушева Софья
  • Ассистенты:
    • Бояров Алексей
    • Кротов Андрей
    • Омирзак Дастан
    • Прохорчук Екатерина