Программа дисциплины Информатика и программирование для направления 080700 «Бизнес-информатика» подготовки бакалавра Автор: Курак М. В. (kuraki@mail ru)
Вид материала | Программа дисциплины |
- Программа дисциплины Культурология для направления 080700. 62 «Бизнес-информатика», 202.98kb.
- Программа дисциплины Риторика и ораторское искусство для направления 080700. 62 «Бизнес-информатика», 144.38kb.
- Программа дисциплины для направления 080700. 68 Бизнес-информатика подготовки бакалавра, 83kb.
- Программа дисциплины «Введение в программирование» для направления 080700 «Бизнес-информатика», 101.22kb.
- Программа дисциплины "Программирование" для направления, 488.76kb.
- Программа дисциплины Теоретические основы информатики и архитектура ЭВМ для направлений, 240.65kb.
- Программа дисциплины Web-дизайн для направления 080700. 62 Бизнес-информатика подготовки, 136.32kb.
- Программа дисциплины Иностранный язык профессионального общения для направлений 080700., 259.96kb.
- Программа дисциплины «Основы компьютерной графики (OpenGL)» для направления 080700., 264.63kb.
- Программа дисциплины «Отечественная история» для направления 080700. 62 «Бизнес-информатика», 610.19kb.
Министерство экономического развития и торговли
Российской Федерации
Государственный университет-
Высшая школа экономики
Факультет “Бизнес-информатика”
Программа дисциплины
Информатика и программирование
для направления 080700 «Бизнес-информатика»
подготовки бакалавра
Автор: Курак М.В. (kuraki@mail.ru)
Горелов С.В. (s.gorelov@mediamotor.ru)
Рекомендовано секцией УМС Одобрена на заседании
бизнес-информатики кафедры основ информатики и
прикладного программного
обеспечения
Председатель Зав. кафедрой
С.В.Назаров
“___” __________ 2006 г. “___” __________ 2006 г.
Утверждено УС факультета
бизнес-информатики
Ученый секретарь
“___” __________ 2006 г.
Москва
Тематический план учебной дисциплины
№ | Название темы | Всего часов по дисциплине | Аудиторные часы | Самостоятельная работа | |
Лекции | Семинары и практические занятия | ||||
1 | Введение | 4 | 2 | | 2 |
2 | Тема 1. Информационные процессы и средства их реализации. | 78 | 22 | 12 | 44 |
3 | Тема 2. Основные элементы программирования | 90 | 14 | 22 | 54 |
4 | Тема 3. Методы. | 38 | 6 | 12 | 20 |
5 | Тема 4. Программирование с использованием объектов | 50 | 14 | 14 | 22 |
6 | Тема 5. Исключения и отладка | 20 | 4 | 4 | 12 |
7 | Тема 6. Потоковое программиро-вание | 40 | 10 | 10 | 20 |
8 | Тема 7. Событийное управление | 26 | 6 | 6 | 14 |
9 | Тема 8. Сборки | 32 | 8 | 8 | 16 |
10 | Итого по дисциплине | 378 | 86 | 88 | 204 |
Формы контроля
Текущий контроль предусмотрен по каждому модулю в форме 2-x домашних контрольных заданий, 3-x контрольных письменных работ и курсовой работы.
Контрольное домашнее задание включает разработку, кодирование, тестирование и отладку программ решения нескольких задач из предметной области изучаемой темы. За одно контрольное домашнее задание выставляется одна оценка по десятибалльной шкале.
Контрольная письменная работа предусматривает программную реализацию нескольких задач и выполняется на практических занятиях. На выполнение одной задачи в рамках практического занятия отводится 30-40 мин. учебного времени. За одну контрольную работу независимо от количества задач выставляется одна оценка по десятибалльной шкале.
Итоговый контроль включает зачет и экзамен.
Итоговая оценка по учебной дисциплине складывается из следующих элементов:
- Оценка итогового контроля по модулям 1,2 (Контроль 1).
- Оценка итогового контроля по модулям 3,4,5 (Контроль 2)
- Письменный экзамен (120 мин)
Итоговая оценка по учебной дисциплине определяется как средневзвешенная оценка по десятибалльной шкале Оит по формам контроля:
-
Формы работы
Вклад в итоговую оценку (%)
Контроль 1 (K1)
25
Контроль 2 (K2)
35
Экзамен (ЭКЗ)
40
Оит = 0,25*K1 + 0,35*K2 + 0,40*ЭКЗ
При выставлении итоговой оценки Оит за дисциплину средневзвешенная оценка округляется до большего целого, если дробная часть оценки не ниже 0.5, в противном случае оценка округляется до меньшего целого. При выставлении итоговой оценки ОИТ5 по 5-балльной шкале используется решающее правило:
- Если Оит 8, то ОИТ5 = 5 (“отлично”);
- Если 6 Оит < 8, то ОИТ5 = 4 (“хорошо”);
- если 4 Оит < 6, то ОИТ5 = 3 (“удовлетворительно”);
- если Оит < 4, то ОИТ5 = 2 (“неудовлетворительно”).
Распределение контрольных работ и контрольных домашних заданий по модулям, методика формирования итоговой оценки текущего и итогового контроля приведена в Приложении А.
Критерии выставления оценки за одну задачу, связанную с ее программной реализацией, приведены в приложении Б.
Литература
1. Базовый учебник
1.1. Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002.
2.Основная
2.1. Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003
2.2. Фролов A.В., Фролов Г.В. Визуальное проектирование приложений С#. М. Кудиц-образ, 2003
2.3. Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004.
3. Дополнительная
3.1. Секунов Н.Ю. Самоучитель С#. С-Петербург. БХВ-Петербург, 2001.
3.2. Ч.Петцольд. Программирование в тональности С#. М. Microsoft Press, 2004.
3.2. Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004.
3.3. Жарков В.А. Компьютерная графика, мультимедиа и игры на Visual С#. M. “Жарков Пресс”, 2005
Содержание программы
Введение. Задачи, цели, содержание и порядок прохождения дисциплины.
Тема 1. Информационные процессы и средства их реализации.
Понятие информации. Представление информации и единицы ее измерения. Обработка информации. ЭВМ как средство обработки информации. Типовая структура ЭВМ. Логические основы построения ЭВМ. Логические функции и способы их описания. Переход от одного способа описания логических функций к другому. Математические основы построения ЭВМ. Системы счисления. Перевод из одной системы счисления в другую. Представление числовой информации. Кодирование символьной информации. Программная модель процессора. Понятие формата команды. Фазы выполнения машинных команд Способы адресации команд и данных.
Жизненный цикл программы. Процедурно-ориентированное проектирование. Алгоритм и способы его записи. Структурный подход к разработке алгоритма. Объектно-ориентированное проектирование.
Разработка программ. Структура приложения: решение, проект, модуль. Понятие системы и среды программирования. Интегрированные среды разработки приложений. Типы приложений. Консольные приложения. Приложения с управлением по событиям и графическим интерфейсом пользователя. Средства ускоренной разработки приложений.
Понятие объекта: состояние и поведение. Классы: поля, методы, свойства. Инкапсуляция полей и методов. Понятие полиморфизма. Отношения между классами. Доступ к полям и методам. Статические поля и статические методы. Структуры и объекты-значения. Классы и объекты-ссылки. Понятие конструктора и деструктора. Сборка мусора. Понятие массива и строки.
Основная литература:
Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002. C.20-29
Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003, C.29-37
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.31-41
Дополнительная литература:
Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004. C.119-134
Секунов Н.Ю. Самоучитель С#. С-Петербург. БХВ-Петербург, 2001. C.135-137
Контрольные вопросы по теме:
- Назовите основные устройства центральной части ЭВМ и укажите их назначение.
- Выполните преобразование чисел из десятичной системы в заданную систему счисления.
- Выполните преобразование чисел из заданной системы счисления в десятичную систему счисления.
- Укажите правила получения дополнительного кода.
- Выполните операцию сложения в дополнительном коде.
- Выполните операцию вычитания в дополнительном коде.
- Что такое логический и абсолютного адрес. Укажите различия между ними.
- Справедливо ли утверждение, что статические методы вызываются через имя класса
- Укажите различие между статическими и обычными полями.
- Объясните назначение конструктора и укажите отличие вызова конструктора от вызова обычных методов
Тема 2. Основные элементы программирования
Представление объектов-значений в виде переменных и констант. Инициализация. Присваивание значений. Преобразование типов при присваивании. Явное преобразование типов. Основные методы и свойства. Арифметические операции. Операции отношения. Логические операции. Битовые операции. Условная операция. Сокращенные операции присваивания. Операции декремента и инкремента. Строки: основные методы и свойства. Форматирование строк. Понятие динамической строки.
Управляющие структуры. Блок операторов. Представление управляющих структур ветвление и сокращенное ветвление. Вложенность управляющих структур. Представление управляющей структуры множественное ветвление. Использование строк в качестве переключателя. Представление управляющей структуры цикл. Разновидности циклов. Управление выполнением тела цикла.
Массивы: объявление и инициализация. Присваивание значений объектам-ссылкам. Доступ к элементу массива. Основные свойства и методы массива. Массивы строк. Понятие динамического массива. Многомерные массивы: объявление и инициализация. Доступ к элементу массива. Массивы произвольной конфигурации.
Основная литература:
Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002. C.54-63. C.66-79. C.81-116.
Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003, C.38-79. C.82-108. C.225-250.
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.154-164
Дополнительная литература:
Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004. C.44-114
Контрольные вопросы по теме:
- Перечислите стандартные типы данных и укажите форму их машинного представления.
- Укажите правила образования имен переменных.
- Какими средствами регулируется очередность выполнения операций в выражении.
- Какими средствами объявляются именованные константы.
- Дайте определение составного оператора и укажите, в каких случаях он применяется.
- Назовите операторы, с помощью которых можно управлять выполнением циклов.
- Укажите стандартные потоки ввода-вывода
- Дайте определение многомерного массива.
- Справедливо ли утверждение, что все строки являются объектами
- Каким образом можно получить значение длины строки
- Возможно ли непосредственное изменение элементов строки
- Объясните различие между строками и динамическими строками
Тема 3. Методы
Определение и вызов метода. Возврат из метода. Методы с параметрами. Способы передачи параметров. Входные и выходные параметры. Модифицируемые параметры. Перегрузка методов. Массивы в качестве параметров. Возврат массивов. Использование модификаторов уровня доступа. Рекурсивный вызов методов.
Основная литература:
Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002. C.138-146. C.148-164.
Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003, C.129-161.
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.187-224
Дополнительная литература:
Секунов Н.Ю. Самоучитель С#. С-Петербург. БХВ-Петербург, 2001. C.310-322
Контрольные вопросы по теме:
- Перечислите составные части программы и укажите их назначение.
- Укажите правила соответствия между формальными и фактическими параметрами.
- Перечислите способы передачи данных в методы и укажите их достоинства и недостатки.
- Сформулируйте понятие области видимости и времени жизни переменных.
- Сформулируйте понятие рекурсии.
- Объясните различие между рекурсией прямой и косвенной.
- Допустим ли возврат из метода массива
- Какими средствами регулируется уровень доступа к полям и методам
Тема 4. Программирование с использованием объектов
Объекты на основе классов и структур. Конструктор копирования. Индексаторы. Массивы объектов. Объекты в качестве параметров и возвращаемого значения. Наследование. Уровни доступа в производных классах. Переопределение методов в производном классе. Использование конструктора базового класса. Виртуальные методы. Понятие абстрактного класса. Понятие интерфейса Динамические массивы объектов собственных классов. Понятие стека и очереди.
Основная литература:
Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002. C.288-360.
Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003, C.161-174. C.250-279.
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.256-349
Дополнительная литература:
Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004. C.351-405
Контрольные вопросы по теме:
- В чем заключается отличие объектов, создаваемых на базе классов и структур
- Каким способом производится замена параметров при вызове метода, если фактическим параметром является объект
- Может ли унаследованный класс получить доступ к закрытым членам базового класса
- Каким образом из конструктора унаследованного класса вызывается конструктор базового класса
- Можно ли получить доступ к скрытым переменным базового класса
- В каком порядке вызываются конструкторы в иерархии классов
- Какой принцип объектно-ориентированного программирования поддерживают виртуальные методы
- В чем отличие динамических структур данных от массивов
- Каким образом определить тип извлеченного из динамического массива элемента
- Могут ли динамические массивы содержать в качестве элементов объекты собственных классов
- Чем отличается стек от динамического массива
- Чем отличается очередь от динамического массива
Тема 5 Исключения и отладка
Классические способы обработки ошибок. Предварительная проверка параметров. Проверка кодов возвратов функций и методов. Понятие исключения. Перехват исключения. Блок обработки исключения. Понятие объекта-исключения. Обработка конкретных исключений. Передача исключений во вложенных блоках. Передача исключений между методами. Создание собственных исключений
Основная литература:
Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002. C.360-381.
Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003, C.283-310.
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.349-375
Дополнительная литература:
Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004.
Контрольные вопросы по теме:
- Какими средствами могут обрабатываться ошибки времени исполнения программ
- В чем отличие исключения от прерывания
- Какими средствами поддерживается перехват исключений
- Что происходит в случае, если исключение не перехвачено
- Что должна выполнять программа при возникновении исключения
- Каким образом могут перехватываться все исключения
Тема 6 Потоковое программирование
Основные понятия потокового программирования. Потоки ввода-вывода. Файловая система. Методы работы с файловой системой. Просмотр и выбор файлов. Получение информации о файле. Получение информации о каталоге. Понятие потока и хранилища данных. Чтение и запись файлов. Буферизованные потоки ввода-вывода. Типизированные потоки ввода-вывода. Асинхронный ввод-вывод. Потоки выполнения. Установка приоритета потока и получение состояния потока. Управление потоками. Синхронизация потоков. Предотвращение взаимной блокировки и состояния гонок потоков.
Основная литература:
Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002. C.386-419.
Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003, C.310-350.
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.375-409
Дополнительная литература:
Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004. C.490-536
Контрольные вопросы по теме:
- Что понимается под потоком ввода-вывода
- Назовите типы потоков
- Какие потоки являются предопределенными
- Каким образом определяется конец потока ввода
- Для каких целей используется буферизация потоков ввода-вывода
- Укажите средства, с помощью которых выполняется перенаправление потоков
- Что такое взаимная блокировка потоков
- При каких условиях может возникнуть состояние взаимной блокировки потоков
- Что такое гонка потоков
- При каких условиях может возникнуть гонка потоков
- Укажите методы и средства предотвращения взаимной блокировки и гонки потоков
Тема 7 . Событийное управление
Понятие делегата. Объявление класса делегата. Вызов методов объекта при помощи делегатов. Понятие события. Объявление события. Объявление класса делегата, используемого в событии. Генерация и использование событий.
Основная литература:
Г.Шилдт. С#. Учебный курс. С-Петербург: Питер, 2002. C.427-438.
Фролов A.В. Язык С#. Самоучитель. М. Диалог-МИФИ, 2003, C.351-368.
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.409-426
Дополнительная литература:
Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004. C.407-425
Контрольные вопросы по теме:
- В чем отличие событийного управления от директивного управления
- Какими средствами поддерживается механизм управления по событиям
- Чем для события является делегат
- Как создается многоадресный делегат? Какие существуют ограничения?
- Может ли событие быть широковещательным
- Экземпляру или классу передается событие?
Тема 8 . Сборки
Понятие сборки. Области приложений и сборки. Манифест сборки. Средства создания сборки. Файлы ресурсов. Добавление ресурсов к сборкам. Идентификация сборок во время исполнения. Устойчивые имена и подпись. Версии сборок. Совместимость версий..
Основная литература:
Г.Шилдт. Полный справочник по С#. M., С-Петербург. Киев. Издательский дом “Вильямс”, 2004. C.670-688
Дополнительная литература:
Д.Прайс, М.Гандерлой. Visual C#.NET. Полное руководство. М. Энтроп, С-Петербург. КОРОНАпринт, Киев. ВЕК, 2004. C.537-565
Контрольные вопросы по теме:
- Для решения каких проблем применяются сборки
- Перечислите составные части сборки
- Какую информацию содержит манифест сборки
- Для чего применяются файлы ресурсов
- Какими средствами идентифицируется сборка во время исполнения
Тематика заданий по формам текущего контроля
1. Тематика курсовых работ:
- Форматы денежных единиц и их преобразование.
- Форматы времени и их преобразование.
- Создание и обработка календарей.
- Средства ведения и обработки таблиц.
- Средства форматирования и обработки текстовой информации.
- Лексический анализ и преобразование формализованных потоков данных.
- Моделирование информационных процессов в экономике.
- Моделирование систем обслуживания.
- Моделирование распределения ресурсов в компьютерных системах
- Моделирование вычислительного процесса в вычислительных системах
- Создание, преобразование и обработка динамических структур данных.
- Интерпретатор вычислительного процесса.
- Преобразование файловых структур.
- Сжатие данных в компьютерных системах
- Кодирование данных в компьютерных системах
- Контроль целостности данных в компьютерных системах
- Методы сортировки данных
- Методы поиска данных
- Программная реализация детерминированных моделей бизнес процессов
- Программная реализация стохастических моделей бизнес-процессов
- Разработка и исследование датчиков случайных чисел
- Поиск путей в моделях на основе графов
2. Тематика контрольных работ:
- форматы представления целых чисел и выполнение операций с ними
- анализ форматов команд и определение абсолютных адресов
- преобразование логических функций из одной формы в другую
- программирование ветвящихся алгоритмов
- программирование циклических алгоритмов
-
программирование алгоритмов обработки данных в виде массивов
- использование методов, определяемых пользователем
- обработка данных, организованных в виде динамических массивов
- обработка данных, организованных в виде стеков и очередей
- обработка исключений
- обработка потоков ввода-вывода
3. Тематика контрольных домашних заданий:
- работа с массивами объектов
- работа с динамическими массивами объектов собственных классов
- разработка консольного приложения с управлением по событиям
- разработка Windows приложения с обработчиками событий от элементов пользовательского интерфейса
Методические рекомендации преподавателю
Изучение дисциплин направлено на получение студентами теоретических знаний и практических навыков в программировании на основе процедурно-ориентированного и объектно-ориентированного подхода, позволяющих решать задачи обработки числовой и символьной информации в рамках прикладных и системных задач.
В результате изучения дисциплин студенты получают представление о проблемах и основных направлениях развития методов программирования экономических задач, о способах формализованного описания требований к программе, о путях и направлениях развития систем программирования для решения задач различных классов.
Студенты приобретают знания в области методов и средств разработки алгоритмов и программ для решения прикладных и системных задач, средств описания данных и последовательности их обработки, приемов процедурного и объектно-ориентированного программирования.
В процессе изучения дисциплины студенты овладевают способами и средствами тестирования и отладки программ и приобретают навыки формализации предметной области и разработки структуры программ, программирования на языках высокого уровня, тестирования и отладки программ, имеющих модульную структуру.
Дисциплина изучается на лекциях и практических занятиях. В рамках каждой темы последовательность занятий направлена на поддержание качественных изменений в освоении изучаемого материала. Целью является переход от пассивных форм восприятия к активным формам. Указанные изменения реализуются через последовательность от рассказа к показу, от показа к упражнению, от упражнения к самостоятельному применению полученных знаний.
На лекциях рассматриваются основополагающие теоретические вопросы по принципам построения алгоритмических систем программирования и методам решения в них задач прикладного и системного характера.
Лекции строятся на последовательном систематическом устном изложении преподавателем учебного материала, представляющего логически законченное целое.
Основные цели лекций:
- систематизировать основные научные знания в области методов разработки алгоритмов и программ;
- раскрыть принципы процедурного и объектно-ориентированного программирования;
- ознакомить студентов с особенностями и областями использования средств программирования;
- создать теоретические предпосылки для практического освоения приемов и методов программирования в современных интегрированных средах программирования.
Практические занятия проводятся с целью освоения средств описания данных и алгоритмов в современных системах программирования и приобретения навыков разработки и документирования программ в интегрированных средах. Практические занятия в рамках темы делятся на две подгруппы.
Практические занятия первой подгруппы обеспечивают изучение приемов и средств описания данных и организации вычислительного процесса в конкретных системах программирования.
Практические занятия второй подгруппы призваны сформировать навыки решения задач в данной предметной области. В рамках этих занятий производится анализ типовых ошибок, допущенных при выполнении письменных контрольных работ и контрольных домашних заданий, рассматриваются наиболее удачные варианты программных реализаций. Студенты привлекаются к разбору и сравнительному анализу предлагаемых вариантов программных реализаций решаемых задач.
В процессе самостоятельной работы студенты отрабатывают теоретические положения, изложенные на лекциях, и выполняют программную реализацию примеров, рассмотренных на практических занятиях. В ходе самостоятельной работы студенты выполняют контрольные домашние задания. Задания носят индивидуальный характер. На каждое контрольное домашнее задание выносится несколько задач в зависимости от сложности темы.
Курсовая работа преследует цель формирования навыков применения полученных знаний при самостоятельной работе по формализации решаемой задачи, разработке алгоритмов получения решения и их программной реализации, включая подготовку исходных модулей, тестирование, отладку и документирование программ, а также формирования навыков анализа и обобщения полученных результатов.
При выполнении курсовых работ повышенной сложности комплексного характера студенты могут объединяться в группы по 3-5 человек с распределением функций между членами группы. Преподавателем в каждой группе из числа наиболее подготовленных студентов назначается руководитель программной разработки.
Методические указания студентам
Успешное освоение дисциплины основывается на систематической повседневной работе студентов. В процессе самостоятельной работы студенты в течение одного – двух дней прорабатывают материалы лекционных и практических занятий по конспектам и рекомендованной основной литературе.
Конспекты дополняются материалами, полученными при проработке дополнительной литературы. При подготовке к письменным контрольным работам рекомендуется самостоятельно решить 4 – 5 задач по теме работы. В качестве задач рекомендуется использовать задания из соответствующих глав учебного пособия по практикуму программирования. Выполнить тестирование вариантов решений задач на ЭВМ
Задание на выполнение контрольных домашних заданий студенты получают в виде словесной постановки на естественном языке. Выполнение заданий начинается с анализа требований к программе и составления спецификации. При анализе требований студент составляет формализованное описание исходных данных, включая тип, диапазон значений, формы представления и источник их получения. Определяется и формализуется состав выходных данных и формы их представления. Разработка спецификации завершается формализованным описанием вида функционального преобразования входных данных в выходные. Спецификация согласовывается с преподавателем.
При разработке способа преобразования необходимо выполнить анализ возможных вариантов решения, их достоинств и недостатков. При реализации алгоритма необходимо предусмотреть обработку исключительных ситуаций по некорректному вводу данных и ошибок времени выполнения.
По результатам выполнения домашнего контрольного задания представляется документированная спецификация задачи и электронный вариант исходного модуля и, при необходимости, модули исходных данных и результатов тестирования.
При самостоятельной работе по программной реализации всех видов заданий рекомендуется максимально использовать средства отладки и справочную подсистему интегрированной среды разработки приложений.
Автор программы: Горелов С.В.
Курак М.В.
Приложение А
Методика формирования итоговой оценки текущего и итогового контроля
Текущий контроль в модуле 1: М1 – Балл за контрольную работу №1.
Контрольная работа включает 3 задачи:
- форматы представления целых чисел и выполнение операций с ними (вес 0.40)
- анализ форматов команд и определение абсолютных адресов (вес 0.30)
- преобразование логических функций из одной формы в другую (вес 0.30)
Текущий контроль в модуле 2 : М2 - Балл за контрольную работу №2
Контрольная работа включает 4 задачи:
- программирование ветвящихся алгоритмов ( вес 0.15)
- программирование циклических алгоритмов (вес 0.25)
-
программирование алгоритмов обработки данных в виде массивов (вес 0.3)
- использование методов, определяемых пользователем (вес 0.3)
Итоговая оценка по модулям 1 и 2 : K1 = 0,40*M1 + 0,60*М2
Текущий контроль в модуле 3: М3 – Балл за контрольное домашнее задание№1.
Домашнее задание включает 2 задачи:
- работа с массивами объектов (вес 0.45)
- работе с массивами объектов собственных классов (вес 0.55)
Текущий контроль в модуле 4: М4 – Балл за контрольную работу №3. Контрольная работа включает 2 задачи:
- обработка исключений 0.40)
- обработка потоков ввода-вывода (вес 0.60)
Текущий контроль в модуле 5: М5 – Балл за контрольное домашнее задание №2.
Домашнее задание включает 2 задачи:
- Консольное приложение с управлением по событиям (вес 0.50)
- Windows приложение с обработчиками событий от элементов пользовательского интерфейса (вес 0.50)
Итоговый балл текущего контроля по модулям 3,4,5:
K2 = 0,30*M3 + 0,40*М4 + 0,30*М5
Экзаменационная работа включает две задачи. Каждая задача оценивается по 10-ти балльной шкале. Итоговый балл за зкзаменационную работу:
ЭКЗ = 0.45*(Оценка за задачу 1) + 0.55*( Оценка за задачу 2)
Баллы по текущему и итоговому контролю оцениваются как средневзвешенные по 10-ти балльной шкале. Итоговый балл по каждому вида контроля округляется до большего целого, если дробная часть оценки не ниже 0.5, в противном случае оценка округляется до меньшего целого.
Приложение Б
Критерии выставления оценки за программную реализацию задачи
При выполнении задачи на ЭВМ критерии делятся на две группы: основные и дополнительные. Основные критерии определяют нижний предел оценки по десятибалльной шкале в рамках соответствующей оценки по пятибалльной шкале. Дополнительные критерии определяют возможность повышения десятибалльной оценки
1. Основные критерии
“ОТЛИЧНО”:
8 баллов
1.Программа полностью соответствует спецификации.
2.Студент может обосновать принятое решение.
3.Исходный текст документирован: назначение программы (условие задачи или ее номер по учебному пособию или номер варианта теста), номер учебной группы, фамилия и инициалы студента, дата выполнения, назначение используемых переменных, назначение и параметры определяемых программистом функций.
9 баллов
1.Программа соответствует критериям получения оценки 8 баллов.
2.Программа в целом соответствует дополнительным критериям.
10 баллов)
1.Программа соответствует критериям получения оценки 8 баллов.
2.Программа полностью соответствует дополнительным критериям.
3.Студент может выполнить анализ альтернативных вариантов решения задачи.
“ХОРОШО”:
6 баллов
1.Программа в основном соответствует спецификации. Отклонения от спецификации допущены при реализации второстепенных подзадач.
2.Студент может объяснить принятое решение.
3.Исходный текст документирован.
7 баллов
1.Программа соответствует критериям получения оценки 6 баллов.
2.Программа в целом соответствует дополнительным критериям.
“УДОВЛЕТВОРИТЕЛЬНО”:
4 балла
1.Программа имеет отклонения от спецификации при решении основной задачи.
2.Студент может объяснить функционирование программы по ее исходному тексту.
3.Исходный текст документирован.
5 баллов
1.Программа соответствует критериям получения оценки 4 балла.
2.Программа соответствует отдельным дополнительным критериям.
“НЕУДОВЛЕТВОРИТЕЛЬНО”:
1 балл
1.Разработка программы не завершена.
2.Программа имеет синтаксические ошибки.
2 балла
1.Программа не соответствует спецификации или студент не может объяснить функционирование программы по ее исходному тексту.
2.Исходный текст документирован.
3 балла
1.Программа не соответствует спецификации.
2.Исходный текст документирован.
3.Программа соответствует отдельным дополнительным критериям.
2. Дополнительные критерии
1.Исходный текст структурирован.
2.Предусмотрена обработка исключительных ситуаций.
3.Предусмотрено повторное решение задачи без повторного запуска программы.
4.Программа имеет графический пользовательский интерфейс.
5.Программа имеет средства изменения размерности и формы представления данных без изменения исходного текста или при минимальных изменениях (динамическое выделение памяти, именованные константы, переопределение типов и т.п.).
6.Программа реализована по модульному принципу и декомпозирована по реализуемым функциям.
3. Критерии определения оценки за задачу без реализации на ЭВМ
Задача оценивается только в том случае, если применение ЭВМ не предусмотрено условием проведения теста. Критерии аналогичны критериям определения оценки за задачу при выполнении на ЭВМ, за исключением: наличие синтаксических ошибок, не приводящих к образованию новых семантически правильных конструкций и обнаруживаемых транслятором, снижает оценку не более чем на один балл.