Homework Assignment

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

Как делать домашние задания?

Серьёзное отношение к домашним заданиям позволяет примату достичь выдающихся результатов

Серьёзное отношение к домашним заданиям позволяет примату достичь выдающихся результатов

  1. Отыщите свою фамилию в таблице заданий и оценок и выберите задание, которое будете выполнять. Если идентификатор задачи начинается с буквы «А«, то искать его нужно в задачнике С.Абрамова и др. Если «Ю«, то А.Юркина (см. список задачников). Если первой стоит буква «М«, то условие задачи нужно искать здесь.
  2. Разобравшись с условием, погдготовьте несколько тестов для будущей программы. Для каждого теста вручную или с использованием сети найдите точный правильный ответ.
  3. В системе IDEone или в другой привычной среде программирования составьте и протестируйте код программы.
  4. Выполнение домашнего задания должно завершаться написанием отчёта. Отчет пишется в форме новой записи (поста) на данном сайте.

Требования к коду

  1. Входные данные желательно читать из стандартного потока ввода (например, scanf("%d", &n); или cin >> n;). Результаты необходимо отправлять в стандартный поток вывода (например, printf("%d", n); или cout << n;).
  2. Код должен обязательно оформляться «лесенкой«. Стиль отступов выбирается по своему усмотрению из числа рекомендованных.
  3. В коде должны быть разумные комментарии
  4. Необходимо рационально выбирать типы данных
  5. Необходим рациональный (эффективный) алгоритм решения
  6. Имена сущностей должны быть продуманы

Требования к тестам

  1. Каждый тест представляют собой вариант входных данных для программы и соответствующие им выходные данные (результаты).
  2. Проверка программы на тесте это её запуск на входных данных теста. Если результат работы программы полностью совпадает с выходными данными теста, то тест считается пройденным (passed).
  3. Прохождение программой тестов не доказывает её правильности, но позволяет это предполагать
  4. Не прохождение программой хотя бы одного теста доказывает её неправильность (контрпример к гипотезе о правильности программы)
  5. Тесты должны охватывать все особенные и типовые ситуации использования программы. Обязательна проверка граничных условий. Если области изменения входных данных не определена в условии, то их нужно уточнить самостоятельно.
  6. Тесты следует располагать в отдельном файле или в комментариях к программе.

Требования к записи отчета по решённой задаче

  1. Заголовок записи должен повторять текст ячейки таблицы заданий.
  2. Первая часть отчёта должна начинаться со слова «Задача» выделенного жирным шрифтом (bold). Далее должен следовать текст полностью повторяющий условия задачи из задачника.
  3. Формулы и символы отдельных переменных должны кодироваться в формате latex. Для набора формул можно воспользоваться онлайн редактором или ввести их вручную заключив между [latex] и [/latex]. Даже одиночный математический символ должен быть оформлен как формула иначе читатель столкнётся с проблемой начертания. Например [latex]a[/latex] и a выглядят различно.
  4. Следующий абзац должен содержать тесты на которых проверялась программа (с необходимыми пояснениями). Качество подбора тестов оценивается наравне с качеством кода программы.
  5. Далее должен следовать код программы с необходимыми комментариями внутри. Для вставки кода в отчет следует пользоваться кнопкой «crayon». Качество оформления (читаемости) кода оценивается.
  6. В завершении необходимо разместить исчерпывающие пояснения по алгоритму работы и описать идею решения.
  7. При оформлении отчёта обязательно правильно выбрать рубрику (справа) и ввести или выбрать метки (тоже справа). Рубрика это общая тема заданий, которая написана в таблице над столбцом. Например, «Линейные вычисления» или «Ветвления». А метки — это просто ключевые слова для группировки или поиска.

Критерии оценки работы

Каждая задача оценивается на основании отчёта по 10-бальной шкале.
Основные составляющие оценки (в равных долях) определяются качеством:

  • кода программы (выбор типов, управляющих структур, алгоритма, именование, отступы, комментарии и пр.)
  • тестов (всесторонний охват, правильность)
  • алгоритма
  • оформления отчёта

Правильно оформленное решение при неверной или не полностью (не во всех случаях) решающей задачу программе оценивается в 1 утешительный балл.

Мазурок Игорь Евгеньевич

Мазурок Игорь Евгеньевич

Разработчик программного и информационного обеспечения.
Доцент Одесского национального университета имени И.И.Мечникова
Учёный в области защиты и противодейтствия в интеллектуальных информационных системах
Мазурок Игорь Евгеньевич

Latest posts by Мазурок Игорь Евгеньевич (see all)