Методические рекомендации для студентов, изучающих программирование в С. Предназначено для студентов специальностей Прикладная математика и информатика
Скачать 0.9 Mb.
|
Методические указания для студентов Текущий и промежуточный контроль результатов освоения дисциплины осуществляется с учетом балльно-рейтинговой системы, поэтому на первом занятии студенты подробно ознакомятся с технологиче- ской картой (БРС), планируют прохождение контрольных точек и выполнение заданий для самостоятель- ной работы. Следует обратить внимание на возможность получения дополнительных 30 баллов за выпол- нение практико-ориентированных заданий, получение задания по которым необходимо заранее обговорить с преподавателем. По каждой теме предусмотрены задания из средств оценки результатов обучения, которые студент вы- полняет в процессе контактной работы с преподавателем либо в часы самостоятельной работы. Критерии оценки описаны в фонде оценочных средств. При подготовке к лекции и при выполнении самостоятельной работы необходимо прочитать материал предыдущей лекции, стремясь к пониманию всех понятий и утверждений. При изучении курса программи- рования в С++ лекционные занятия сопровождаются лабораторными занятиями. На лабораторных занятиях предлагается выполнить программирование основных классов задач в С++, желательно использовать для этого инструментальные среды Microsoft Visual Studio, CodeBlocks, Eclipse C++ (либо другие open-source средства по согласованию с преподавателем). Знакомство с программированием на языке С++ начинается с базовых заданий, результаты расчетов ре- комендуется проверить в онлайн-ресурсе wolphramalpha. Обязательно выполнение лабораторной работы по отладке приложений для освоения режима работы debug в инструментальной среде и лучшего освоения синтаксических конструкций языка. Следует обратить внимание на вопросы управления памятью в С++. На примере работы с динамиче- скими массивами отрабатываются навыки по работе с указателями, грамотному выделению и освобожде- нию памяти. Файловый ввод-вывод может быть предложен к самостоятельному изучению. Особое внимание следует обратить на объектную модель в С++, такие моменты, как инкапсуляция дан- ных, наследование и полиморфизм. Необходимо четко понимать различие абстрактных и конкретных клас- сов, виртуальных и чистых виртуальных функций, разницу в применении статического и динамического связывания. По дисциплине предусмотрены задачи, требующие грамотного объектного проектирования, перегрузки операций. Дополнительно можно рекомендовать задания с автоматизированной проверкой с указанных в программе ресурсов. При изучении динамических структур данных упор следует сделать на организацию структур при по- мощи классов и шаблонов класса. На заданных примерах необходимо проиллюстрировать умение строить основные динамические структуры данных и выполнять основные операции с ними, используя объектную модель в С++ и шаблоны классов, желательно включить в программы обработку исключительных ситуа- ций. Различные аспекты применения шаблонов в С++ следует закрепить решением небольших задач, иллю- стрирующих возможности шаблонов, с указанных в программе ресурсов с автоматизированной проверкой. Следует обратить особое внимание на стандартную библиотеку С++, структуры данных, описанные в ней. Для корректного освоения темы следует решить дополнительные задания с ресурса acm.timus.org (или другого рекомендованного преподавателем) с автоматизированной проверкой. Для лучшего понимания различий между контейнерами стандартной библиотеки рекомендуется одну и ту же задачу решить с при- менением различных контейнеров. 55 Методические указания для преподавателей вуза по организации учебного процесса Текущий и промежуточной контроль осуществляется с использованием балльно-рейтинговой системы, на первом занятии следует ознакомить студентов с технологической картой, уточнить проведение кон- трольных точек, упомянуть о возможности набрать дополнительные баллы за выполнение дополнительных практико-ориентированных заданий. Следует предусмотреть разноуровневые задания как для основных лабораторных занятий, так и для дополнительных и самостоятельных. Рекомендуется при проведении лабораторных занятий сочетать различные виды проверки работоспо- собности программы, в том числе применять ресурсы с автоматизированной проверкой задач (например, contest.samara.ru, acm.timus.ru, informatics.mccme.ru). Применение автоматизированной системы проверки развивает у студентов навыки грамотного программирования, отладки и тестирования, в результате кото- рых получается полностью работоспособная программа. Сложности у студентов возникают при ручном управлении памятью в С++. Следует обратить особое внимание на этот раздел, иллюстрировать его примерами, рекомендовать решение большого числа простых заданий по работе с указателями (в том числе с автоматизированной проверкой), попросить студентов ил- люстрировать схематично пошагово, что происходит в системе при работе его программы. Особое внимание следует уделить современным методикам и направлениям программирования в С++: использованию шаблонов, применению стандартной библиотеки С++. Для этого сначала надо добиться, чтобы студенты освоили объектное проектирование и полиморфизм. Все темы следует сопровождать про- граммированием типовых заданий. Рекомендуется автоматизированная проверка. Итоговый контроль проводится в виде устного экзамена. В зависимости от результатов работы студен- тов в семестре на экзамен может быть вынесено решение задач с автоматизированной проверкой и (или) тестирование с использованием системы дистанционного обучения Moodle. В промежуточных контроль- ных точках также может применяться тестирование в системе ДО Moodle. 56 Оглавление Задания к лабораторным работам ................................................................................................................... 3 Лабораторная работа №1а. Арифметические функции .................................................................................. 3 Лабораторная работа №1б. Управляющие конструкции................................................................................ 4 Лабораторная работа №2. Отладка приложений ............................................................................................ 7 Лабораторная работа №3. Массивы и функции............................................................................................ 11 Лабораторная работа №4. Работа со строками и файлами ........................................................................... 12 Лабораторная работа №5. Классы ................................................................................................................. 15 Лабораторная работа № 6. Наследование ..................................................................................................... 21 Лабораторная работа № 7. Виртуальные функции и полиморфизм ............................................................ 22 Лабораторная работа № 8. Обработка исключений ..................................................................................... 27 Лабораторная работа № 9. Шаблоны ............................................................................................................ 27 Лабораторная работа № 10. Обобщенные контейнеры STL ........................................................................ 33 Лабораторная работа № 11. Программирование визуального интерфейса в С++ ....................................... 36 Тестовые задания по программированию в С++ ......................................................................................... 46 Методические указания для студентов ......................................................................................................... 54 Методические указания для преподавателей вуза по организации учебного процесса ......................... 55 Методические материалы Русакова Маргарита Сергеевна ПРАКТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ НА С++. ЛАБОРАТОРНЫЕ РАБОТЫ Методические указания |