Факультетский день 2020-2021

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Факультетский день — особая форма проведения занятий для учеников Лицея ВШЭ и школьников из других школ Распределенного лицея ВШЭ.

Основная задача факультетского дня — познакомить школьников с различными научными направлениями и почувствовать себя студентами Вышки.

Общая группа в Telegram: https://t.me/joinchat/CNz-Qk6AoK6LxaTJ9MUwmw

Распределение по группам и оценки: https://docs.google.com/spreadsheets/d/1xSceXxrytO5T7KdHCbeEu_41fXbB-a0j5kG6KevRGbM/edit#gid=0

Программирование и анализ данных на Python

Zoom конференция

Идентификатор конференции: 552 806 0756

Код доступа: 543267

Плейлист с лекциями

Расписание

  • Лекция - 10:00 - 10:50
  • Индивидуальные беседы - 11:10 - 14:00

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

Изучается возможность использования языка Python для создания web-приложений на микрофремворке Flask.

Изучаются основы работы с библиотекой поддержки больших многомерных массивов NumPy, пакетом анализа данных Pandas и пакетом машинного обучения Scikit-learn. Также в курсе излагаются базовые вопросы из теории вероятностей и математической статистики, необходимые для понимания алгоритмов машинного обучения.

Конспекты лекций по Python М.С. Густокашина: https://yadi.sk/i/BkcKilJkumcPV

Видео-лекции можно смотреть тут: https://www.coursera.org/learn/python-osnovy-programmirovaniya/home/welcome (платить денег ни в коем случае не нужно)

Преподаватели И. Ю. Самоненко, А. Д. Игнатов.

Учебный ассистент Денис Семенов @ltybc138.

Папка с материалами занятий

Занятия

03.12.2020

Контест: https://official.contest.yandex.ru/contest/23288/problems/

10.12.2020

Теория:

  • Проблема оценки сложности работы программ
  • Асимптотический анализ: Понятие O ("О" большое)

Контест: https://official.contest.yandex.ru/contest/23289/problems/

17.12.2020

Теория:

  • Асимптотический анализ для полиномов.

Контест: https://official.contest.yandex.ru/contest/23290/problems/

24.12.2020

Теория:

  • Асимптотический анализ для a^n и log(n).

Контест: https://official.contest.yandex.ru/contest/23860/problems/

14.01.2021 Теория:

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

Контест: https://official.contest.yandex.ru/contest/24183/problems/

21.01.2021

Теория:

  • Сортировка пузырьком, сортировка вставкой
  • Сложность сортировок, инвариант сортировок

Контест: https://official.contest.yandex.ru/contest/24184/problems/

28.01.2021

Теория:

Нижняя оценка сложности алгоритмов сортировки: n*log(n).

Контест: https://official.contest.yandex.ru/contest/24308/problems/

04.02.2021

Теория:

  • Сортировка слиянием.
  • Быстрая сортировка.
  • Оценка времени работы и использованной памяти.

Контест: https://official.contest.yandex.ru/contest/24309/problems/

11.02.2021

Теория:

  • Приоритетная очередь. Формулировка задачи. Построение на базе массивов.

Контест: https://official.contest.yandex.ru/contest/24310/problems/

18.02.2021

Теория:

  • Структура данных куча. Добавление, изменение значений, изъятие минимального элемента.
  • Сортировка массива при помощи кучи.

Контест: https://official.contest.yandex.ru/contest/24311/problems/

25.02.2021

Теория:

  • Связный список. Сравнение с массивом.

Контест: https://official.contest.yandex.ru/contest/24312/problems/

04.03.2021

Теория:

  • Хеш-таблица. Разрешение коллизий методом цепочек (списка)

Контест: https://official.contest.yandex.ru/contest/24313/problems/


Минипроект на Flask

Для выполнения проекта Вам предоставляется:

1. Адрес для размещения сайта

2. Доступ к серверу по FTP.

3. База данных MySQL.

4. Система для получения логов ошибок.


У каждого из Вас есть номер из логина к Яндекс.Контесту: hse-cs-fd-2020-N, где N - это Ваш номер.

У каждого из Вас есть пароль к Яндекс.Контексту. Для доступа по FTP и к MySQL Вам потребуется пароль, которые получается из Вашего пароля к Яндекс.Контексту приписыванием спереди четырех символов Qq!1. Например, если у Вас был пароль VxbD2bC6Q9, то для FTP и MySQL Ваш пароль Qq!1VxbD2bC6Q9.

1. Ваш сайт будет размещен по адресу N.cshse.beget.tech. Вы сразу можете проверить этот адрес. По умолчанию у Вас должна открыться страница с текстом "Hello world!".

2. Для доступа по FTP Вы можете использовать любой FTP клиент, например WinSCP. Для доступа по FTP Вам необходимо задать:

  • Server: cshse.beget.tech
  • Port: 21q
  • Пользователь: cshse_N
  • Пароль к FTP.

Если подключение произошло успешно, то Вы увидите папку со следующим содержимым:

  • static (папка)
  • templates (папка)
  • cshse_blog.sql
  • index.wsgi
  • myapp.py
  • myapp.pyc

Для выполнения дальнейшей работы Вам потребуется папки и файлы cshse_blog.sql и myapp.py. Другие файлы редактировать не надо.

Вам надо скачать файл cshse_blog.sql, он потребуется для создании базы данных.

3. База данных.

Для доступа к базе данных надо перейти по адресу https://rainbow.beget.com/phpMyAdmin/

  • Имя пользователя: cshse_N
  • Пароль к MySQL

Вы увидите пустую (без таблиц) базу данных. Для загрузки таблиц необходимо сделать следующее:

  1. Зайти в меню Импорт
  2. Выбрать файл -> cshse_blog.sql
  3. Нажать Вперед

В результате слева у Вас должен появиться список таблиц:

  • message
  • subscription
  • user

4. Система для получения логов ошибок.

Теперь все готово для того, чтобы запустить блог и начать менять код. Однако, как и любой процесс программирования, он связан с появлением ошибок. Некоторые ошибки (которые допущены внутри функций) будут отображаться прямо на web странице, которую Вы попытаетесь открыть. Однако некоторые ошибки приводят к тому, что страница вовсе не откроется. Тогда логи этих ошибок можно увидеть в специальном файле по адресу: http://cshse.beget.tech/log/?n=N

Математические основы информатики

Zoom конференция

Идентификатор конференции: 581 195 5118

Код доступа: pE6Umj

Расписание

  • Группа 1 - 11:10 - 12:30
  • Группа 2 - 12:40 - 14:00

Занятия будут проходить следующим образом: половина занятия лекционная, т.е. введение в тему, обсуждение общих принципов и подходов решения предлагаемых задач. Вторая половина семинарская, т.е. непосредственное решение задач в рамках пройденных тем и, исходя из решения, формулирование обобщающих принципов, которые позволяют использовать полученные знания в приложениях. Домашние задания планируется давать по результатам пройденных на занятиях тем почти после каждого занятия для обеспечения текущего контроля успеваемости; периодически обучающимся будут предлагаться аудиторные контрольные работы с задачами схожими с задачами домашних заданий. Все темы и задачи будут разбираться детально, поэтому у каждого будет школьника будет возможность задать все интересующие его вопросы как преподавателю, так и ассистенту. Требования к подготовке: необходима хорошая успеваемость по алгебре и информатике, умение логически мыслить и рассуждать.

- для получения положительных оценок необходимо, во-первых, посещать занятия и проявлять на них активность; под активностью понимается вовлеченность в процесс обсуждения и решения задач, в частности постановка вопросов для группы, преподавателя и ассистента. Во-вторых, необходимо решать домашние задания и в первую очередь именно производить попытки решения. В-третьих, решать аудиторные контрольные работы. При подведении итогов будет возможно повысить свой балл посредством решения дополнительных задач.

Темы курса Раздел №1 Комбинаторика

  1. Множества и операции с ними. Геометрия комбинаторных задач;
  2. комбинаторное правило суммы и произведения событий (дерево решений);
  3. общая схема решения комбинаторных задач, урновая схема шаров и урн (случаи различимых и неразличимых объектов);
  4. формула включений-исключений;
  5. перестановки, размещения с повторениями и без повторений;
  6. сочетания, доказательство Эйлера для формулы сочетаний без повторений;
  7. свойства биномиальных коэффициентов;
  8. бином Ньютона;
  9. разбиения на упорядоченные группы;
  10. разбиения на неупорядоченные группы, задача о разбиении натурального числа на сумму натуральных;
  11. принцип отражения и лемма о баллотировке;
  12. задача о разборчивой невесте;
  13. принцип Дирихле;
  14. инверсии, игра в 15.
  15. перечисление цветов, группы симметрии.

Раздел №2 Рекурсия и производящие функции

  1. рекуррентные отношения
  2. конечные разности;
  3. факториальные многочлены;
  4. числа Стирлинга первого рода и числа Стирлинга второго рода;
  5. суммирование разностей;
  6. производящие функции, сущность подхода;
  7. производящие функции, рекуррентные отношения и комбинаторные подсчеты.

Раздел №3 Теория графов

  1. основные определения теории графов;
  2. ориентированные графы
  3. деревья;
  4. пути и циклы Эйлера;
  5. игра “Мгновенное безумие”;
  6. алгебраические свойства графов;
  7. планарные графы;
  8. пути и циклы Гамильтона;
  9. алгоритм поиска кратчайшего пути.

Раздел №4 Логика

  1. исчисление предикатов;
  2. основные положения теории доказательств;
  3. математическая индукция;
  4. сравнения.

Преподаватель А.В. Булычев

Научно-исследовательский семинар

Группа в Telegram: https://t.me/joinchat/CNz-QhK5a-_C1NwhwsLv2g

Расписание

  • Индивидуальные беседы - 13:20 - 14:20

Темы

  • Декабрь - Мировые ИТ компании
  • Январь - Языки программирования
  • Февраль - Интересное приложение
  • Март - Цифровой стартап
  • Апрель - История одной железки
  • Май - Работа в TeX

Необходимо: Выбрать определенный предмет изучения Подготовить конспект (1-2 страницы) Записать 15-20 минутный доклад (презентация + рассказ)

Преподаватель И. Ю. Самоненко