Комплект контрольно-оценочных средств для оценки результатов освоения "Объектно-ориентированное программирование"
методическая разработка по информатике и икт
Предварительный просмотр:
БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ХАНТЫ – МАНСИЙСКОГО АВТОНОМНОГО ОКРУГА – ЮГРЫ
«УРАЙСКИЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»
Комплект контрольно-оценочных средств
для оценки результатов освоения
ОП.13 Объектно-ориентированное программирование
основной профессиональной образовательной программы
по специальности
09.02.03 «Программирование в компьютерных системах»
Урай, 2017
Разработчики:
УПК, преподаватель Хатмуллин Р.Н.
(место работы) (занимаемая должность) (инициалы, фамилия)
Эксперты от работодателя:
____________________ ___________________ _________________________
(место работы) (занимаемая должность) (инициалы, фамилия)
____________________ ___________________ _________________________
(место работы) (занимаемая должность) (инициалы, фамилия)
I. Паспорт комплекта контрольно-оценочных средств
1.1. Комплект контрольно-оценочных средств предназначен для оценки результатов освоения Объектно-ориентированное программирование
наименование учебной дисциплины в соответствии с ФГОС СПО
В результате оценки осуществляется проверка следующих объектов:
Таблица 1
Объекты оценивания | Показатели | Критерии | Тип задания; № задания | Форма промежуточной аттестации (в соответствии с учебным планом) |
уметь: Проектировать информационные системы на языке С++ Проектировать и создавать программные системы Java знать основ технологии объектно-ориентированной декомпозиции программных систем, базовых шаблонов проектирования (Наблюдатель, Итератор, Одиночка, Фабрика, Заместитель), отношений между классами и основ UML (диаграммы классов и последовательностей). особенности построения объектно-ориентированных программных систем на C++. Основные инструментальные средства языка C++ и стандартной библиотеки Базовые знания платформы Java, особенности построения программных систем Java Средства реализации принципов ООП и инструментальные средства языка Java. Основы технологий построения простейших распределенных информационных систем и обеспечения безопасности. | Умение проектировать информационные системы на языке С++ Умение проектировать и создавать программные системы Java Знание основ технологии объектно-ориентированной декомпозиции программных систем, базовых шаблонов проектирования (Наблюдатель, Итератор, Одиночка, Фабрика, Заместитель), отношений между классами и основ UML (диаграммы классов и последовательностей). Знание особенности построения объектно-ориентированных программных систем на C++. Знание основных инструментальные средства языка C++ и стандартной библиотеки Знание базовых знания платформы Java, особенности построения программных систем Java Знание средства реализации принципов ООП и инструментальные средства языка Java. Знание основ технологий построения простейших распределенных информационных систем и обеспечения безопасности. | Выполнение теста | тест | Экзамен |
1.2. Организация контроля и оценивания
Форма промежуточной аттестации (см. рекомендации по заполнению к столбцу 5 табл. 1) | Организация контроля и оценивания |
Дифференцированный зачет | Проведение практическое задание |
1.3. Материально-техническое обеспечение контрольно-оценочных мероприятий
Контрольно-оценочные мероприятия проводятся в учебном кабинете/лаборатории;
Оборудование учебного кабинета и рабочих мест кабинета: Мультимедийное оборудование, компьютеры.
2. Комплект оценочных средств
2.1. Комплект материалов для оценки сформированности общих компетенций, освоения умений и усвоения знаний по (дисциплине)
В состав комплекта входят задания для экзаменуемых и пакет экзаменатора (эксперта).
Задания включают: практические задания
Задание: решить тест (задание может предусматривать решение одной или нескольких задач) | ||
Проверяемые умения и знания | Показатели оценки | Критерии оценки |
уметь: Проектировать информационные системы на языке С++ Проектировать и создавать программные системы Java знать основ технологии объектно-ориентированной декомпозиции программных систем, базовых шаблонов проектирования (Наблюдатель, Итератор, Одиночка, Фабрика, Заместитель), отношений между классами и основ UML (диаграммы классов и последовательностей). особенности построения объектно-ориентированных программных систем на C++. Основные инструментальные средства языка C++ и стандартной библиотеки Базовые знания платформы Java, особенности построения программных систем Java Средства реализации принципов ООП и инструментальные средства языка Java. Основы технологий построения простейших распределенных информационных систем и обеспечения безопасности. | Умение проектировать информационные системы на языке С++ Умение проектировать и создавать программные системы Java Знание основ технологии объектно-ориентированной декомпозиции программных систем, базовых шаблонов проектирования (Наблюдатель, Итератор, Одиночка, Фабрика, Заместитель), отношений между классами и основ UML (диаграммы классов и последовательностей). Знание особенности построения объектно-ориентированных программных систем на C++. Знание основных инструментальные средства языка C++ и стандартной библиотеки Знание базовых знания платформы Java, особенности построения программных систем Java Знание средства реализации принципов ООП и инструментальные средства языка Java. Знание основ технологий построения простейших распределенных информационных систем и обеспечения безопасности. | |
Условия выполнения задания 1. Максимальное время выполнения практического задания: 45 мин./час. 2. Количество практических заданий 30. Практические задания 1. Построить систему классов для описания плоских геометрических фигур: круга, квадрата, прямоугольника. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров и поворота на заданный угол. 2. Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных частей адреса, создания и уничтожения объектов этого класса. 3. Составить описание класса для представления комплексных чисел с возможностью задания вещественной и мнимой частей как числами типов double, так и целыми числами. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел. 4. Составить описание класса для работы с цепными списками строк (строки произвольной длины) с операциями включения в список, удаления из списка элемента с заданным значением данного, удаления всего списка или конца списка, начиная с заданного элемента. 5. Составить описание класса для объектов-векторов, задаваемых координатами концов в трехмерном пространстве. Обеспечить операции сложения и вычитания векторов с получением нового вектора (суммы или разности), вычисления скалярного произведения двух векторов, длины вектора, косинуса угла между векторами. 6. Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность перемещения прямоугольников на плоскости, изменения размеров, построения наименьшего прямоугольника, содержащего два заданных прямоугольника, и прямоугольника, являющегося общей частью (пересечением) двух прямоугольников. 7. Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы индексов, возможность задания произвольных границ индексов при создании объекта и выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов, умножения и деления всех элементов массива на скаляр, печати (вывода на экран) элементов массива по индексам и всего массива. 8. Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным трокам массива по индексам, контроль выхода за пределы индексов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, печать (вывод на экран) элементов массива и всего массива. 9. Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Предусмотреть методы для вычисления значения многочлена для заданного аргумента, операции сложения, вычитания и умножения многочленов с получением нового объекта-многочлена, печать (вывод на экран) описания многочлена. 10. Составить описание класса одномерных массивов строк, каждая строка которых задается длиной и указателем на выделенную для нее память. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы индексов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, печать (вывод на экран) элементов массива и всего массива. 11. Составить описание объектного типа TMatr, обеспечивающего размещение матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы. 12. Простые и иерархические меню. Спроектировать простое меню в одной строке экрана. Меню обеспечивает перебор пунктов в результате нажатия на клавишу Пробел, позволяет зафиксировать выбор нажатием на клавишу Enter или отказаться от выбора нажатием на клавишу Esc. После выбора одного из пунктов в программу возвращается какое-то значение, связанное с выбранным пунктом, например символ. При отказе от выбора в программу возвращается #27. 13. Составить программу, работающую со связанными списками. Мы будем рассматривать связанный список как объект, содержащий связанный список данных и операций (методов), которые вы можете с ними выполнять. Связанный список данных состоит из указателей на начало («голову») и конец («хвост») связанного списка (в нашем примере из-за его гибкости используется двунаправленный связанный список). Каждый элемент связанного списка представляет собой реализацию отдельного объекта. Возможности, необходимые для использования связанного списка, предоставляют следующие операции: • создание связанного списка (выделение для него памяти); • уничтожение связанного списка (освобождение используемой памяти); 14. Определить объект TFish — аквариумная рыбка. Рыбка имеет координаты, скорость, размер, цвет, направление движения. Методами объекта являются: • Init — устанавливает значения полей объекта и рисует рыбу на экране методом Draw. • Draw — рисует рыбу в виде уголка с острием в точке Coord и направленного острием по ходу движения рыбы. • Look — проверяет несколько точек на линии движения рыбы. Если хоть одна из них отличается по цвету от воды, возвращаются ее цвет и расстояние до рыбы. • Run — перемещает рыбу в текущем направлении на расстояние, зависящее от текущей скорости рыбы. Иногда случайным образом меняет направление движения рыбы. Если рыба видит препятствие, направление движения меняется, пока препятствие не исчезнет из поля зрения рыбы. 15. Определить объект TAquarium, который является местом обитания рыб (см. задачу 14 данного раздела). Он представляет собой область экрана, наполненную водой. Рыбы живут в аквариуме, поэтому экземпляры объекта TFish должны быть полями объекта TAquarium. Методы: • Init — включает графический режим, заполняет аквариум водой, камнями и рыбами. 16. Определить два объекта TPike и TKаrр, которые наследуют объект Tfish (см. задачу 14). Оба они отличаются от TFish тем, что по-разному изображают себя на экране: TPike — в виде зеленой стрелки, а ТКаrр — в виде красного треугольника. Воспользуйтесь виртуальными методами. Для этого вернитесь к определению TFish и откорректируйте его, сделав Draw пустым и виртуальным. 17. Объединить карпов и щук (см. задачу 16) в две стаи. Стая — это связанный список рыб в динамической памяти. Для связи добавьте в объекты TPike и ТКаrр поле Next — указатель на следующую рыбу в стае. Сделайте аквариум владельцем не отдельных рыб, а двух стай и позвольте пользователю пополнять стаи, вводя рыб с клавиатуры. 18. Позволить щукам (см. задачу 16) проявить свой дурной характер и поедать карпов, как только они их увидят. Здесь возникнет проблема — установить, какого именно карпа видит щука. Она решается путем просмотра всей стаи карпов и поиска того, чьи координаты близки к координатам данной щуки. Найденный карп удаляется из стаи. 19. Составить программу для игры в шашки. Шашка каждого нового цвета выступает в качестве отдельного объекта. Характеристики шашки — цвет и позиция на доске. Методы — перемещение. Не забудьте о таких объектах, как «дамки». 20. Составить программу для игры в домино. В качестве объектов выступают кости домино. Методы — способы выставления той или иной кости. 21. Составить программу для игры в шахматы. Каждая уникальная шахматная фигура выступает в качестве отдельного объекта. Она характеризуется цветом, положением на доске, способом перемещения. Предусмотреть возможность превращения пешки в ферзя. 22 Создать меню, которое изображает себя в форме столбца. Для этого рационально воспользоваться виртуальными методами. Достаточно изменить метод Draw объекта TNeatMenu и объявить одноименные методы виртуальными. Разместить объекты в динамической памяти, для этого достаточно описать указатели на них. 23 Построить сложное иерархическое меню: пробел будет открывать главное меню, последовательное нажатие на клавиши Enter и Пробел будет разворачивать подсвеченный пункт в подменю или, если пункт находится на нижнем уровне, клавиша Enter будет сворачивать подменю. Нажатие на клавишу Esc заканчивает работу программы. 24 Построить иерархическое меню: пробел будет открывать главное меню, нажатие на клавишу Enter будет разворачивать подсвеченный пункт в меню или, если пункт находится на самом нижнем уровне, клавиша Enter сворачивает подменю. Нажатие на клавишу Esc заканчивает работу программы. Нижний уровень — вертикальный. 25. Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть возможность перемещения прямоугольников на плоскости, изменения размеров, построения наименьшего прямоугольника, содержащего два заданных прямоугольника, и прямоугольника, являющегося общей частью (пересечением) двух прямоугольников. 26 Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы индексов, возможность задания произвольных границ индексов при создании объекта и выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов, умножения и деления всех элементов массива на скаляр, печати (вывода на экран) элементов массива по индексам и всего массива. 27. Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным трокам массива по индексам, контроль выхода за пределы индексов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, печать (вывод на экран) элементов массива и всего массива. 28. Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Предусмотреть методы для вычисления значения многочлена для заданного аргумента, операции сложения, вычитания и умножения многочленов с получением нового объекта-многочлена, печать (вывод на экран) описания многочлена. 29. Составить описание класса одномерных массивов строк, каждая строка которых задается длиной и указателем на выделенную для нее память. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы индексов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, печать (вывод на экран) элементов массива и всего массива. 30. Составить программу, работающую со связанными списками. Мы будем рассматривать связанный список как объект, содержащий связанный список данных и операций (методов), которые вы можете с ними выполнять. Связанный список данных состоит из указателей на начало («голову») и конец («хвост») связанного списка (в нашем примере из-за его гибкости используется двунаправленный связанный список). Каждый элемент связанного списка представляет собой реализацию отдельного объекта. |
Критерии оценки практического задания
Критерий | Баллы |
Задание выполнено правильно | 5 баллов |
Задание выполнено с небольшими недочетами | 4 балла |
Задание выполнено с существенными недочетами | 3 балла |
Задание не выполнено | 2 балла |
Пакет экзаменатора
Пакет экзаменатора может быть сформирован как по всем заданиям (если оценивание проводится единовременно и / или объем заданий невелик), так и по каждому заданию (если оценивание рассредоточено во времени и проводится по накопительной системе и / или объем заданий велик). Далее приведен макет для одного задания.
ПАКЕТ ЭКЗАМЕНАТОРА | ||||
Оцениваемые компетенции | Показатели оценки | Критерии оценки | Условия выполнения заданий | |
уметь: Проектировать информационные системы на языке С++ Проектировать и создавать программные системы Java знать основ технологии объектно-ориентированной декомпозиции программных систем, базовых шаблонов проектирования (Наблюдатель, Итератор, Одиночка, Фабрика, Заместитель), отношений между классами и основ UML (диаграммы классов и последовательностей). особенности построения объектно-ориентированных программных систем на C++. Основные инструментальные средства языка C++ и стандартной библиотеки Базовые знания платформы Java, особенности построения программных систем Java Средства реализации принципов ООП и инструментальные средства языка Java. Основы технологий построения простейших распределенных информационных систем и обеспечения безопасности. | Умение проектировать информационные системы на языке С++ Умение проектировать и создавать программные системы Java Знание основ технологии объектно-ориентированной декомпозиции программных систем, базовых шаблонов проектирования (Наблюдатель, Итератор, Одиночка, Фабрика, Заместитель), отношений между классами и основ UML (диаграммы классов и последовательностей). Знание особенности построения объектно-ориентированных программных систем на C++. Знание основных инструментальные средства языка C++ и стандартной библиотеки Знание базовых знания платформы Java, особенности построения программных систем Java Знание средства реализации принципов ООП и инструментальные средства языка Java. Знание основ технологий построения простейших распределенных информационных систем и обеспечения безопасности. | 2-5 баллов | Выполнение практического задания | |
Тест указывается номер задания и его краткое содержание (формулировка типового задания) Количество вариантов (пакетов) заданий______ практическое задание _____________ Время выполнения задания мин./час. (если оно нормируется) _________90 минут ________________ | ||||
Оборудование: компьютер, тесты. Литература для экзаменующихся (справочная, методическая и др.) |
По теме: методические разработки, презентации и конспекты
Комплект контрольно-оценочных средств для оценки результатов освоения дисциплины «Литература»
Комплект контрольно-оценочных средств предназначен для оценки результатов освоения общеобразовательной дисциплины «Литература» основной профессиональной образовательной программы по професс...
Комплект контрольно-оценочных средств для оценки результатов освоения учебной дисциплины ОДб. 04 История для СПО
Комплект контрольно-оценочных средств предназначен для оценки результатов освоения учебной дисциплины «История»: Включает в себя теоретические задания в форме тестов с выбором одного ...
Комплект контрольно-оценочных средств для оценки результатов освоения учебной дисциплины ОП.05. Основы геодезии основной профессиональной образовательной программы по специальности СПО 270813 «Водоснабжение и водоотведение» базовой подготовки
Комплект контрольно-оценочных средств предназначен для оценки результатов освоения учебной дисциплины «Основы геодезии».В результате освоения учебной дисциплины «Основы геодезии» обучающийся должен об...
Комплект контрольно-оценочных средств для оценки результатов освоения учебной дисциплины ОП .14. Охрана труда
Комплект контрольно-оценочных средств предназначен для оценки результатов освоения учебной дисциплины «Охрана труда».В результате освоения учебной дисциплины «Охрана труда» обучающийся должен обладать...
Комплект контрольно-оценочных средств для оценки результатов освоения учебной дисциплины Безопасность жизнедеятельности
Комплект контрольно-оценочных средств предназначен для оценки результатов освоения ОП.08. Безопасность жизнедеятельности...