ЯРПО — различия между версиями
Vyacovlev (обсуждение | вклад) |
Vyacovlev (обсуждение | вклад) (ДЗ-1) |
||
Строка 54: | Строка 54: | ||
Для домашних заданий определены сроки сдачи. В случае их нарушения предусмотрены штрафные санкции - умножение оценки за ДЗ на коэффициент от 0.9 до 0.5, в зависимости от времени сдачи. | Для домашних заданий определены сроки сдачи. В случае их нарушения предусмотрены штрафные санкции - умножение оценки за ДЗ на коэффициент от 0.9 до 0.5, в зависимости от времени сдачи. | ||
+ | |||
+ | === Домашнее задание №1 === | ||
+ | |||
+ | Нормативный дедлайн на полный балл - до '''19:00 2 февраля'''. | ||
+ | Коэффиент 0.9 - до 9 февраля, 0.7 - до 16 февраля, 0.5 - после 16 февраля. | ||
+ | |||
+ | Тесты находятся в [https://yadi.sk/d/Ja6m9ojf39WsQX Яндекс.Диске] | ||
+ | |||
+ | Необходимо реализовать Си-библиотеку для создания объектов "Кнопка", "Окно", "Надпись" с использованием объектно-ориентированного GUI-фреймворка [https://www.qt.io Qt]. Для этой библиотеки реализовать оболочку для Python3. | ||
+ | |||
+ | Для языка Си используется стандарт ISO/IEC 9899:1999 (опция компилятора gcc -std=c99). | ||
+ | |||
+ | '''Запрещено''' использование как готовых решений (PyQt, [http://wiki.qt.io/PySide PySide]), так и сторонних инструментов или библиотек для генерации Python-оболочек, например [http://www.boost.org/doc/libs/1_58_0/libs/python/doc/ Boost.Python] или [https://wiki.python.org/moin/SIP SIP]. | ||
+ | |||
+ | Критерии оценивания: | ||
+ | * 0.4 балла [test1.c] - реализовать Си-библиотеку, в которой объявлены Си-структуры и функции, позволяющие создать окно с кнопкой и надписью; должна быть предусмотрена возможность узнать имя класса для созданного объекта | ||
+ | * 0.5 балла [test2.c] - предусмотрена возможность задания Си-функций в качестве обработчика события "кнопка нажата"; проект использует систему сборки CMake | ||
+ | * 0.6 балла [test3.py] - реализован Python-модуль с функциями, эквивалентными в Си-библиотеке; можно использовать целые числа в Python в качестве указателей на внутренние объекты | ||
+ | * 0.7 балла - для реализации Python-модуля не используется модуль ctypes | ||
+ | * 0.8 балла [test4.py] - реализована объектно-ориентированная модель работы с компонентами; можно использовать частичную реализацию библиотеки на Python | ||
+ | * 0.9 балла [test5.py] - реализована возможность использования Python-функций в качестве обработчика события "кнопка нажата" | ||
+ | * 1.0 балл [две предпоследние строки в test5.py] - удаление Python-объектов приводит к аккуратному удалению соответствующих С++-структур | ||
= Материалы лекций и семинарских занятий = | = Материалы лекций и семинарских занятий = |
Версия 22:20, 17 января 2017
Содержание
Общая информация
Формальное название курса: Языки разработки программного обеспечения
Преподаватель: Яковлев Виктор
Учебный ассистент: Тюрюмина Элла
Канал в Телеграм: @cshse-proglangs-2017
Программа учебной дисциплины: на сайте ВШЭ
Календарно-тематический план занятий: https://goo.gl/kg3l1U, обратите внимание, что 10 февраля занятий не будет.
Таблица успеваемости: https://goo.gl/l5OOGn
Форма для указания ссылок на репозиторий с домашними заданиями: https://goo.gl/forms/smhTguTW7dJRMkgk1
Профиль преподавателя в VCS (для открытия доступа к приватным репозиториям c решениями ДЗ):
- BitBucket: victor_yacovlev - GitHub: victor-yacovlev
Профиль ассистента в VCS:
- BitBucket: arsalitartificem - GitHub: ellaroyce
Итоговая оценка
Накопленная оценка - это среднее арифметическое за домашние задания, которых будет 4 штуки.
Итоговая оценка:
- 10 баллов, если накопленная оценка > 0.95
- 9 баллов, если накопленная оценка > 0.85 (*)
- 8 баллов, если накопленная оценка >= 0.8 (*)
- В остальных случаях рассчитывается по формуле: round(10.0 * 0.6 * Накопл. + 0.4 * Экз.)
(*) Оценки автоматом объявляются на последнем занятии. Студент обязан заявить о своем согласии на получение оценки 8 или 9, в противном случае автомат не выставляется, и оценка определяется по общей формуле, предполагая явку на экзамен.
Домашние задания
Домашние задания публикуются в приватном git-репозитории GitHub или BitBucket. Не нужно заводить отдельный репозиторий для каждого домашнего задания, - достаточно будет одного, но при этом он должен быть структурирован так, чтобы можно было разобраться, где находятся решения отдельных домашних заданий.
Ссылка на репозиторий указывается один раз в форме https://goo.gl/forms/smhTguTW7dJRMkgk1.
Кроме того, поскольку репозиторий должен быть приватным, необходимо открыть доступ преподавателю и ассистенту. Профили - см. выше в разделе "Общая информация".
За домашние задания выставляются оценки по вещественной шкале от 0.0 до 1.0. У некоторых домашних заданий по формальным критериям оценивания можно набрать сумму, большую чем 1.0, - в этом случае выставляется оценка 1.0. Сумма за критерии оценивания, большая чем 1.0 означает, что максимальных балл можно набрать разными способами.
Для домашних заданий определены сроки сдачи. В случае их нарушения предусмотрены штрафные санкции - умножение оценки за ДЗ на коэффициент от 0.9 до 0.5, в зависимости от времени сдачи.
Домашнее задание №1
Нормативный дедлайн на полный балл - до 19:00 2 февраля. Коэффиент 0.9 - до 9 февраля, 0.7 - до 16 февраля, 0.5 - после 16 февраля.
Тесты находятся в Яндекс.Диске
Необходимо реализовать Си-библиотеку для создания объектов "Кнопка", "Окно", "Надпись" с использованием объектно-ориентированного GUI-фреймворка Qt. Для этой библиотеки реализовать оболочку для Python3.
Для языка Си используется стандарт ISO/IEC 9899:1999 (опция компилятора gcc -std=c99).
Запрещено использование как готовых решений (PyQt, PySide), так и сторонних инструментов или библиотек для генерации Python-оболочек, например Boost.Python или SIP.
Критерии оценивания:
- 0.4 балла [test1.c] - реализовать Си-библиотеку, в которой объявлены Си-структуры и функции, позволяющие создать окно с кнопкой и надписью; должна быть предусмотрена возможность узнать имя класса для созданного объекта
- 0.5 балла [test2.c] - предусмотрена возможность задания Си-функций в качестве обработчика события "кнопка нажата"; проект использует систему сборки CMake
- 0.6 балла [test3.py] - реализован Python-модуль с функциями, эквивалентными в Си-библиотеке; можно использовать целые числа в Python в качестве указателей на внутренние объекты
- 0.7 балла - для реализации Python-модуля не используется модуль ctypes
- 0.8 балла [test4.py] - реализована объектно-ориентированная модель работы с компонентами; можно использовать частичную реализацию библиотеки на Python
- 0.9 балла [test5.py] - реализована возможность использования Python-функций в качестве обработчика события "кнопка нажата"
- 1.0 балл [две предпоследние строки в test5.py] - удаление Python-объектов приводит к аккуратному удалению соответствующих С++-структур
Материалы лекций и семинарских занятий
Будут выкладываться по мере их проведения.
Презентации с лекций в формате PDF: На Яндекс.Диске