Преподавание языков программирования C++
№ 179
Марат ХАСАНОВ
учитель информатики IT-лицея при КФУ
На данный момент времени можно разделить направление изучения программирования на два важных составляющих:
– проектная деятельность;
– олимпиадное (спортивное) программирование.
Олимпиадное программирование является довольно-таки интересной деятельностью, однако, им будут успешно заниматься только малая часть учащихся и тем более это направление более научное, нежели практическое. В силу данных причин необходимо также занятия по проектной деятельности. В плане такой деятельности на С++ предлагается заниматься разработкой игр. Начать можно с sfml, создавать простые игры, наподобие, змейки и прочее.
После обучения на С++ можно перейти на изучение Java, что даст богатые возможности для проектной деятельности.
Школам, образовательным учреждениям очень необходимо методические материалы, советы по преподаванию от профессиональных IT компаний. Наверное, только таким способом мы повысим качество образования и мотивацию обучающихся, что даст нам возможность подготовить отличных специалистов и, что немало важно, повысив авторитет школы для таких учеников, воспитанных, здоровых людей.
Непосредственно сама методика следующая.
Для реализации проектов, что является одним из главных мотивационных аспектов изучения программирования для учеников, необходимо знать основы языка С++, его основных команд. Это линейные структуры, ветвления, циклы. При этом при изучении данных тем необходимо использовать по возможности «нестандартные задачи», в которых есть «привязка к жизни».
Ниже приведены примеры задач, которыми можно воспользоваться, при преподавании раздела «Линейные программы».
Задача №1. Задача об определении количества часов, которые человек потратил на сон.
Вводится возраст человека. Необходимо определить количество времени, которое он отвел под сон.
Задача №2. Для создания отчета в одной фирме необходимо сделать программу, которая вычисляет среднюю зарплату по введенным заработным платам работника в течение года. Ответ должен быть представлен не в виде дробного числа, а в руб. и коп.
Задачи по теме «Ветвление»
Задача №1. Известно, что пароль должен быть числом.
Необходимо попросить ввести пароль у пользователя 2 раза, проверить совпадают ли они, затем посмотреть там длина больше 8 символов или нет.
Необходимо определить средний доход за день по известной годовому доходу. При этом нужно вначале учесть год високосный или нет.
Задача №2. Вводится год и общая сумма годового дохода. Необходимо найти среднедневной доход.
Напомним, что в соответствии с григорианским календарем, год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.
Задачи по теме «Циклы»
Происходит ввод средних зарплат регионов. Необходимо вывести на основе этих данных среднюю зарплату по всей России.
Задачи по теме «Массивы»
Каждый ученик имеет номер и балл по 100 бальной шкале по информатике. Вводятся баллы последовательно по номерам, т.е. сначала ученику с номером 0 и т.д. Необходимо вывести номера учеников, которые написали на максимальный бал из введенных. Количество учеников 17.
Проект на тему «Двухмерные массивы»
Реализация проекта – игра крестики нолики.
Детализация проекта:
- Необходимо выводить двухмерный массив с обозначением 0 – если клетка свободна, 1 – в противном случае.
- После каждого хода необходимо показывать ткущее состояние игры
- Необходимо давать ходы по очереди и обозначать это.
- Срок сдачи проекта следующая неделя.
- Использовать команду очищения экрана, там где оно нужно
system(“cls”); предварительно подключив библиотеку stdlib.h
Пример использования https://pastebin.com/ukPwdBZ6
*** Можно добавить искусственный интеллект, величину размера поля и пр. интересные моменты.
Проектная деятельность
В качестве проектной деятельности можно использовать библиотеку SFML.
Для ребят 8 класса можно заниматься различной проектной деятельностью. Как уже было отмечено, проектная деятельность по-особому мотивирует ребят к занятиям по программированию, к олимпиадной деятельности и прочим вещам.
Для ребят примерно VIII класса можно предложить данную проектную деятельность, направленную на создание игр с использованием библиотеки sfml. Считается, что они уже умеют программировать на базовом уровне на С++.
Первый урок в основном – это организационный момент, где необходимо детям рассказать про то, что как они будут работать. Во-первых, необходимо сказать ребятам, чтобы они все создали себе аккаунты для хранения своего проекта на каком-нибудь облачном хранилище с возможностью просмотра преподавателю. Для этих целей можно использовать, например, google disk и другие сервисы.
Можно показать, в принципе, какие-нибудь готовые проекты и прочие, для их мотивации.
В частности, для того, чтобы подчеркнуть важность данного вида деятельности, можно упомянуть про профессию «Разработчика игр», которая неплохо оплачивается.
В последующих занятиях можно использовать сайт[1], в котором в достаточно хорошем стиле описаны уроке по созданию игр на библиотеке SFML. Можно разобрать с детьми некоторые базовые уроки с этой библиотекой, например, навигация, создание текстуры, спрайтов и прочие моменты.
После изучения основ программирования можно, в частности, можно с ребятам реализовывать свои проекты: они уже могут сами придумывать игры и начать их реализовывать. В процессе реализации ученики смогут получить много полезных навыков, например, работа с графическим редактором, работа с облачными средствами и пр. По видео по данному QR коду можете посмотреть видео демонстрацию упомянутой выше библиотеки SFML .
Данная система себя зарекомендовала себя как эффективный способ преподавания программирования: дети получают не просто фундаментальные сведения об алгоритмах, но и практическое применение этих элементов на практике, что увеличивает их мотивацию к обучению, и что немаловажно, увеличивает их уважение к школе, преподавателю