|
|
Строка 1: |
Строка 1: |
− | ==Основы и методология программирования, 2015 год, базовый поток, 1-2 модули==
| + | facebookbads_qcst Quảng Cáo Facebook hiệu quả (kg:/m/0466d1j) hàng đầu Việt Nam, cung cấp dịch vụ tốt nhất dành cho khách hàng. |
| | | |
− | '''Лектор:''' к. ф.-м. н. [http://www.hse.ru/org/persons/132843899 А. И. Зобнин]
| + | Quảng Cáo Siêu Tốc |
− | | + | Adress: 399B Trường Chinh, Phường 14, Tân Bình, Thành phố Hồ Chí Minh 700000 |
− | '''Лекции:''' вторник (еженедельно), 1-я пара, ауд. 622;<br />
| + | Phone: 0901349349 |
− | пятница (четные недели), 1-я пара, ауд. 622.
| + | Email: baogia@dmvgroup.vn |
− | | + | Website: https://bit.ly/3tlpcTq |
− | | + | https://www.google.com/maps?cid=13232852445567690321 |
− | ===Контрольные работы===
| + | https://en.wikipedia.org/wiki/Social_network_advertising |
− | | + | https://gfycat.com/@quangcaofacebookqcst |
− | ====Контрольная работа №2 (C++)====
| + | https://hearthis.at/quangcaofacebookqcst/ |
− | Работа состоится на неделе после 16 ноября.
| + | https://works.bepress.com/quangcaofacebookqcst/about/ |
− | * [[https://official.contest.yandex.ru/contest/1812/problems/ Тренировочный вариант контрольной работы]]
| + | https://gitlab.nic.cz/quangcaofacebookqcst |
− | | + | https://www.inprnt.com/profile/quangcaofacebookqcst/ |
− | '''Переписывание''' контрольной работы №2 состоится '''5 декабря''' на четвёртой паре (в 13:40).
| + | |
− | Аудитории: 503, 513, 412, 327. '''Собираемся у аудитории 503'''!
| + | |
− | | + | |
− | Оценка за переписывание (для тех, кто уже писал основной вариант контрольной) ставится по следующей схеме:
| + | |
− | 3 задачи - не более 7 баллов
| + | |
− | 2 задачи - не более 6 баллов
| + | |
− | 1 задача - не более 4 баллов
| + | |
− | | + | |
− | ===Экзамен===
| + | |
− | | + | |
− | Экзамен по курсу состоится в среду, 23 декабря. Продолжительность экзамена - 2 часа.
| + | |
− | | + | |
− | Формула максимально возможной оценки: 2 + 2n (где n - количество успешно сданных в систему задач), если n > 0.
| + | |
− | | + | |
− | Распределение групп по аудиториям:
| + | |
− | | + | |
− | Первая смена: 10:00
| + | |
− | {| class="wikitable"
| + | |
− | |-
| + | |
− | | 152-1 || 501
| + | |
− | |-
| + | |
− | | 152-2 || 503
| + | |
− | |-
| + | |
− | | 154-1 || 505
| + | |
− | |-
| + | |
− | | 154-2 || 513
| + | |
− | |-
| + | |
− | | 155-1 || 327
| + | |
− | |-
| + | |
− | | 155-2 || 301
| + | |
− | |}
| + | |
− | | + | |
− | Вторая смена: 12:20
| + | |
− | {| class="wikitable"
| + | |
− | |-
| + | |
− | | 156-1 || 501
| + | |
− | |-
| + | |
− | | 156-2 || 503
| + | |
− | |-
| + | |
− | | 157-1 || 505
| + | |
− | |-
| + | |
− | | 157-2 || 513
| + | |
− | |-
| + | |
− | | 158-1 || 327
| + | |
− | |-
| + | |
− | | 158-2 || 301
| + | |
− | |}
| + | |
− | | + | |
− | | + | |
− | * [[https://official.contest.yandex.ru/contest/1959/problems/ Тренировочный вариант экзамена]]
| + | |
− | * [[https://github.com/alzobnin/hse-cs-prog/tree/master/exam/train/ Решения задач тренировочного варианта]]
| + | |
− | | + | |
− | | + | |
− | ====Контрольная работа №1 (python)==== | + | |
− | | + | |
− | * [[https://official.contest.yandex.ru/contest/1549/problems/ Тренировочный вариант контрольной работы]]
| + | |
− | | + | |
− | | + | |
− | ===Домашние задания===
| + | |
− | * [[https://official.contest.yandex.ru/contest/1521/problems/ Домашняя работа №1]]
| + | |
− | | + | |
− | * [[https://official.contest.yandex.ru/contest/1756/problems/ Домашняя работа №2]] Дедлайн - четверг, 12 ноября (включительно).
| + | |
− | | + | |
− | * [[https://official.contest.yandex.ru/contest/1926/problems/ Домашняя работа №3]] Старт - 4 декабря после 1-й пары (в 10:20). Дедлайн - '''понедельник, 14 декабря''' (включительно).
| + | |
− | | + | |
− | Выберите свой вариант задачи с помощью следующей функции:
| + | |
− | | + | |
− | | + | |
− | def generate(key, problems=4, variants=4):
| + | |
− | r = 0
| + | |
− | for c in key:
| + | |
− | r += ord(c)
| + | |
− | result = []
| + | |
− | for j in range(problems):
| + | |
− | result.append(chr(ord('A') + j) + str(r % variants + 1))
| + | |
− | r //= variants
| + | |
− | return result
| + | |
− | | + | |
− | В качестве ключа укажите ей свой логин от системы Яндекс.Контест + пробел + пароль от системы Яндекс.Контест.
| + | |
− | | + | |
− | В некоторых группах (по усмотрению преподавателей) решения следует сдавать непосредственно в систему [[http://anytask.org Anytask]] (в третьем домашнем задании у файлов должно быть расширение .h). Получить инвайт для регистрации в этой системе вы можете у преподавателей своей группы.
| + | |
− | | + | |
− | | + | |
− | ===Краткое содержание прочитанных лекций===
| + | |
− | | + | |
− | * '''04.09.2015.''' Hello, world! Интерпретатор python в режиме калькулятора. Арифметические операции. Типы int, float, complex, bool. Функции print и input. Строки. Списки. Функция len. Срезки в строках и списках. Функции split и join. Итерация с помощью цикла for. [[http://nbviewer.ipython.org/github/alzobnin/hse-cs-prog/blob/master/01.ipynb Код, написанный на лекции] (по техническим причинам использовали python2)].
| + | |
− | * '''08.09.2015.''' Цикл for. Функция range. Цикл while. Условный оператор if/elif/else. Раздел else в циклах. Кортежи, словари и множества. Задача о частотном словаре символов в строке. [[http://nbviewer.ipython.org/github/alzobnin/hse-cs-prog/blob/master/02.ipynb Код, написанный на лекции]]
| + | |
− | * '''11.09.2015.''' Чтение строк из стандартного ввода с помощью sys.stdin. Задача о частотном словаре слов. Функции. Функция map. Сортировка списка по указанному ключу. Лямбда-функции. [[http://nbviewer.ipython.org/github/alzobnin/hse-cs-prog/blob/master/03.ipynb Код, написанный на лекции]]
| + | |
− | * '''15.09.2015.''' Еще раз о сортировке по ключам и лямбда-функциях. Двумерные массивы (списки списков). Транспонирование матрицы. Функция zip. Функции с переменным числом аргументов и именованные параметры. [[http://nbviewer.ipython.org/github/alzobnin/hse-cs-prog/blob/master/04.ipynb Код, написанный на лекции]]
| + | |
− | * '''22.09.2015.''' Модуль itertools: функции permutations, combinations, product, cycle. Генераторы и оператор yield. Модуль collections и классы defaultdict и Counter. [[http://nbviewer.ipython.org/github/alzobnin/hse-cs-prog/blob/master/05.ipynb Код, написанный на лекции]]
| + | |
− | * '''25.09.2015.''' Модуль re и знакомство с регулярными выражениями. Модуль urllib.request и скачивание ресурсов из сети. Модуль datetime. Форматированный вывод с помощью str.format. [[http://nbviewer.ipython.org/github/alzobnin/hse-cs-prog/blob/master/06.ipynb Код, написанный на лекции]]
| + | |
− | * '''29.09.2015.''' Пространства имен. Классы и объекты в python'е. [[http://nbviewer.ipython.org/github/alzobnin/hse-cs-prog/blob/master/07.ipynb Код, написанный на лекции]]
| + | |
− | * '''06.10.2015.''' Разбор первого домашнего задания. Дзен питона.
| + | |
− | * '''09.10.2015.''' C++: ввод-вывод, условный оператор, циклы, оператор switch. Знакомство с std::vector. [[https://github.com/alzobnin/hse-cs-prog/blob/master/09.cpp Код, написанный на лекции]]
| + | |
− | * '''13.10.2015.''' Шаблон std::vector. [[https://github.com/alzobnin/hse-cs-prog/blob/master/10.cpp Код, написанный на лекции]]
| + | |
− | * '''20.10.2015.''' Приоритет операторов. Функции. Передача параметров в функции по константной ссылке. [[https://github.com/alzobnin/hse-cs-prog/blob/master/11.cpp Код, написанный на лекции]]
| + | |
− | * '''22.10.2015.''' Структуры. Сортировка с пользовательской функцией сравнения. Оператор sizeof. Стек и динамическая память (куча). Указатели. [[https://github.com/alzobnin/hse-cs-prog/blob/master/12.cpp Код, написанный на лекции]]
| + | |
− | * '''03.11.2015.''' Выделение и освобождение динамической памяти. Низкоуровневые массивы. Null-terminated strings. [[https://github.com/alzobnin/hse-cs-prog/blob/master/13.cpp Код, написанный на лекции]]
| + | |
− | * '''06.11.2015.''' Null-terminated strings, функции strlen и strcpy. Сравнение статических массивов, динамических массивов и обёрток над ними (std::string, std::vector). [[https://github.com/alzobnin/hse-cs-prog/blob/master/14.cpp Код, написанный на лекции]]
| + | |
− | * '''10.11.2015.''' Итераторы и их аналогия с указателями. Контейнер std::map. [[https://github.com/alzobnin/hse-cs-prog/blob/master/15.cpp Код, написанный на лекции]]
| + | |
− | * '''17.11.2015.''' Разбор второго домашнего задания.
| + | |
− | * '''20.11.2015.''' Шаблонные функции. Алгоритмы стандартной библиотеки. [[https://github.com/alzobnin/hse-cs-prog/blob/master/17.cpp Код, написанный на лекции]]
| + | |
− | * '''24.11.2015.''' Алгоритмы стандартной библиотеки (продолжение). [[https://github.com/alzobnin/hse-cs-prog/blob/master/18.cpp Код, написанный на лекции]]
| + | |
− | * '''01.12.2015.''' Классы. Пример: класс "Комплексное число". [[https://github.com/alzobnin/hse-cs-prog/blob/master/19.cpp Код, написанный на лекции]]
| + | |
− | * '''04.12.2015.''' Шаблонные классы. Пример: класс "Квадратная матрица". [[https://github.com/alzobnin/hse-cs-prog/blob/master/20.cpp Код, написанный на лекции]]
| + | |
− | * '''08.12.2015.''' Класс "Квадратная матрица" (продолжение). Исключения. [[https://github.com/alzobnin/hse-cs-prog/blob/master/21.cpp Код, написанный на лекции]]
| + | |
− | * '''15.12.2015.''' Идиома RAII. Семантика перемещения. [[https://github.com/alzobnin/hse-cs-prog/blob/master/22.cpp Код, написанный на лекции]]
| + | |
− | * '''18.12.2015.''' Разбор третьего домашнего задания.
| + | |
− | | + | |
− | Код, написанный на лекциях, доступен также [[https://github.com/alzobnin/hse-cs-prog здесь]].
| + | |
− | | + | |
− | | + | |
− | | + | |
− | ===Контесты для семинаров===
| + | |
− | Обратите внимание, в последних контестах включен чекер cpplint проверки кода [http://wiki.cs.hse.ru/%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F/C%2B%2B_check на соответствие стилю].
| + | |
− | * [https://official.contest.yandex.ru/contest/1814/enter/ C++: Реализация алгоритмов STL]
| + | |
− | * [https://official.contest.yandex.ru/contest/1813/enter/ C++: Null-terminated strings]
| + | |
− | * [https://official.contest.yandex.ru/contest/1672/enter/ C++: структуры]
| + | |
− | * [https://official.contest.yandex.ru/contest/1655/enter/ C++: функции]
| + | |
− | * [https://official.contest.yandex.ru/contest/1593/enter/ C++: контейнеры]
| + | |
− | * [https://official.contest.yandex.ru/contest/1590/enter/ C++: ввод-вывод, условия, циклы]
| + | |
− | * [https://official.contest.yandex.ru/contest/1480/enter/ Python: дополнительные задачи]
| + | |
− | * [https://official.contest.yandex.ru/contest/1532/enter/ Python: sort, itertools, collections]
| + | |
− | * [https://official.contest.yandex.ru/contest/1504/enter/ Python: повторение]
| + | |
− | * [https://official.contest.yandex.ru/contest/1481/enter/ Python: функции]
| + | |
− | * [https://official.contest.yandex.ru/contest/1454/enter/ Python: контейнеры]
| + | |
− | * [https://official.contest.yandex.ru/contest/1443/enter/ Python: циклы]
| + | |
− | * [https://official.contest.yandex.ru/contest/1444/enter/ Python: строки]
| + | |
− | | + | |
− | ===Полезные ссылки===
| + | |
− | * [https://docs.python.org/3/tutorial/index.html Tutorial] по языку Python 3 (на английском).
| + | |
− | * [http://server.179.ru/wiki/?page=DenisKirienko/Python Курс "Программирование на языке Python"] (Д. Кириенко, школа 179).
| + | |
− | * [http://informatics.mccme.ru/ informatics.mccme.ru] - дистанционная подготовка по информатике.
| + | |
− | * [http://pep8online.com/ pep8online.com] - автоматическая проверка соответствия оформления программы [https://www.python.org/dev/peps/pep-0008/ требованиям PEP8].
| + | |
− | * [http://wiki.cs.hse.ru/%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F/C%2B%2B_check Рекомендуемый стиль оформления программ на C++].
| + | |
− | | + | |
− | ===Часто задаваемые вопросы===
| + | |
− | | + | |
− | '''Можно ли использовать на семинарах свой ноутбук?''' <br />
| + | |
− | Да, мы этого не запрещаем.
| + | |
− | | + | |
− | '''В какой среде лучше писать программы для python'а?''' <br />
| + | |
− | В компьютерных классах можно запустить PyCharm (выбирайте при создании проекта python 3!), ipython3 notebook, IDLE (под Windows), а также просто написать код программы в произвольном текстовом редакторе (например, vim :) и запустить из терминала с помощью python3 <имя_файла>. Выбирайте любую среду на свой вкус.
| + | |
− | | + | |
− | | + | |
− | ===Расписание семинаров===
| + | |
− | {| class="wikitable"
| + | |
− | |-
| + | |
− | ! Подгруппа !! Преподаватель !! Расписание семинаров !! Учебные ассистенты
| + | |
− | |-
| + | |
− | | 152-1 || [http://www.hse.ru/org/persons/132843899 Зобнин Алексей Игоревич] || вторник, 2-я пара, ауд. 501; <br /> пятница, 1-я пара, ауд. 501 (нечетные недели); <br /> пятница, 2-я пара, ауд. 501 || Андрей Атанов
| + | |
− | |-
| + | |
− | | 152-2 || Кондратьев Андрей Владимирович || понедельник, 2-я пара, ауд. 513 (нечетные недели); <br /> понедельник, 3-я пара, ауд. 513; <br /> вторник, 2-я пара, ауд. 503 || Валерий Гиркин
| + | |
− | |-
| + | |
− | | 154-1 || [http://www.hse.ru/staff/iamakarov Макаров Илья Андреевич] || понедельник, 5-я пара, ауд. 505; <br /> четверг, 3-я пара, ауд. 503; <br /> четверг, 5-я пара, ауд. 503 (нечетные недели) || Владимир Гончаров
| + | |
− | |-
| + | |
− | | 154-2 || [http://www.hse.ru/org/persons/141880775 Умнов Алексей Витальевич] || вторник, 3-я пара, ауд. 501; <br /> среда, 3-я пара, ауд. 501; <br /> среда, 4-я пара, ауд. 501 (нечетные недели) || Олег Конопля
| + | |
− | |-
| + | |
− | | 155-1 || Дектярев Михаил Владимирович || понедельник, 2-я пара, ауд. 503; <br /> среда, 1-я пара, ауд. 503 (нечетные недели); <br /> среда, 2-я пара, ауд. 503 || Александр Тиунов
| + | |
− | |-
| + | |
− | | 155-2 || Мельничук Павел Владимирович || понедельник, 2-я пара, ауд. 505; <br /> среда, 1-я пара, ауд. 301 (нечетные недели); <br /> среда, 2-я пара, ауд. 301 || Александр Тиунов
| + | |
− | |-
| + | |
− | | 156-1 || Синицын Филипп Геннадьевич || среда, 2-я пара, ауд. 605; <br /> среда, 3-я пара, ауд. 301 (нечетные недели); <br /> четверг, 1-я пара, ауд. 501 || Максим Сабянин
| + | |
− | |-
| + | |
− | | 156-2 || [http://www.hse.ru/org/persons/141880775 Умнов Алексей Витальевич] || вторник, 4-я пара, ауд. 501; <br /> вторник, 5-я пара, ауд. 501 (нечетные недели); <br /> среда, 2-я пара, ауд. 327 || Олег Конопля
| + | |
− | |-
| + | |
− | | 157-1 || [http://www.hse.ru/org/persons/133408680 Густокашин Михаил Сергеевич] || понедельник, 2-я пара, ауд. 501; <br /> вторник, 3-я пара, ауд. 327; <br /> вторник, 4-я пара, ауд. 327 (нечетные недели) || Валерий Гиркин
| + | |
− | |-
| + | |
− | | 157-2 || [http://www.hse.ru/org/persons/152765278 Цетлин Сергей Витальевич] || вторник, 4-я пара, ауд. 301; <br /> вторник, 5-я пара, ауд. 505 (нечетные недели); <br /> четверг, 3-я пара, ауд. 327 || Андрей Атанов
| + | |
− | |-
| + | |
− | | 158-1 || Вельтищев Дмитрий Николаевич || среда, 1-я пара, ауд. 513; <br /> среда, 2-я пара, ауд. 420 (нечетные недели); <br /> четверг, 1-я пара, ауд. 513 || Максим Сабянин
| + | |
− | |-
| + | |
− | | 158-2 || Строк Федор Владимирович || четверг, 1-я пара, ауд. 505; <br /> суббота, 1-я пара, ауд. 513; <br /> суббота, 2-я пара, ауд. 513 (нечетные недели) || Владимир Гончаров
| + | |
− | |-
| + | |
− | |}
| + | |
− | | + | |
− | | + | |
− | '''Список студентов с разбиением по группам:''' http://www.hse.ru/ba/ami/studentlist
| + | |