Проектная деятельность и программирование.
                                            подготовила: Е.А. Пчелинцева
“Программирование”:

— создание приложений, похожих на реально существующие прикладные программы;

— создание исполнителя (среда, СКИ);

— игры: лексические, логические, “бродилки”, квест.

Для всех тем есть одно общее условие: степень углубления в выбранную тему должна контролироваться учителем. Недопустимо предъявление ученику сложного материала сразу, ведь тем самым рождается страх и формируется ситуация неуспешности. Учитель предъявляет задание по частям и работает в ближайшей зоне развития ученика. Или, формулируя идеальную цель, учитель продумывает поэтапное приближение к ней, с той степенью детализации, которая определяется возможностями ученика.

Создание приложений, похожих на реально существующие прикладные программы офисного назначения

Главная цель таких работ — совершенствование навыков программирования, одновременно с этим и более глубокое понимание принципов работы таких программ. И, конечно, всегда есть возможность привнести свою изюминку.

Создание текстового редактора (без использования средств визуального программирования)

На начальном этапе, возможно, будет реализован только ввод текста и отработаны действия по нажатию курсорных клавиш, клавиш , Ins,.
Затем — реализация поиска и замены фрагментов текста. Более углубленный уровень — использование для поиска специальных шаблонов и символов специального назначения (“*”, “?”, как, например, в масках имен файлов). Можно включить в этот редактор возможность шифрования и дешифрования текста, использовать для этого различные способы шифровки. Данная работа будет очень полезной, если включить в нее ознакомление и проработку известных материалов Д.Кнута.

Создание графического редактора
Возможны варианты — создание электронной книжки-раскраски для дошкольников или своеобразного графического конструктора для ребят начальной школы, т.е. редактора, в котором, кроме стандартных примитивов, есть возможность использования картинок-заготовок.

Калькулятор

Создание такого приложения рассматривается во многих изданиях, посвященных изучению возможностей визуального программирования. Рекомендую добавить в такой калькулятор возможность работы с обычными дробями и с длинными числами. Очень интересно провести исследование по вычислению числа p. Например, использовать ряд Лейбница.
                                     Обыкновенные дроби
                                               Обыкновенные дроби
Архиватор

При создании такого приложения ученику нужна будет достаточно глубокая проработка теоретических материалов по сжатию информации. Самый распространенный алгоритм — алгоритм Хаффмана. После его реализации можно провести исследование: какие типы файлов лучше сжимаются и почему.

Создание исполнителя (среда, СКИ)
Возможна программная реализация исполнителей, существующих на бумаге. Например, исполнитель Стрелка.

Пример алгоритма:

Результат исполнения: 
Игры
Лексические
Можно взять самые распространенные: “Балда”, “Кроссворд”, “Быки и коровы”. А можно вернуться к хорошо забытому старому “Отгадай слово”.

Компьютер (К) загадывает пятибуквенное слово. Человек (Ч) вводит свое слово, на которое К отвечает числом, означающим, сколько есть в этом слове букв, входящих в загаданное.

Для примера — диалог:
                                        
Реализовать такой диалог нетрудно, а вот как сделать так, чтобы компьютер отслеживал существование введенного человеком слова, тут придется подумать. Необходимо использование большого словаря и реализация быстрого поиска слова.
Логические
Существует немало игр, которых “никогда не бывает мало”. Приятно, когда на уроках в начальной школе используешь приложения, созданные твоими учениками. Здесь тематика широка: “Найди фальшивую монету”, различные вариации на тему “Волк, коза и капуста”, игра “Баше” и т.д. Немало идей содержит книга Дж. Арсака “Программирование головоломок и игр”. В этой книге есть отдельная глава, посвященная созданию собственного генератора случайных чисел, — замечательная тема для исследования.
“Бродилки”
Один из вариантов: ходим по клетчатому полю, в клетках случайные числа от –10 до 10, на каждом ходу число из клетки суммируется, нужно из стартовой клетки прийти на финишную с суммой равной 0. Интересно следующее добавление: а что, если поле — это не прямоугольник, а лента, да еще лента Мёбиуса?! То есть, выходя в первой строке и первом столбце влево, мы должны оказаться в последней строке и последнем столбце. А если замкнуть с поворотом наше поле не только по горизонтали, а еще и по вертикали?

Можно бродить не по полю с числами, а по лабиринту. Интересно составить программу, в которой стены задаются случайным образом, но так, что хотя бы один путь из старта на финиш существует.
Квест
В такой игре важен сюжет, затем нужны интересные картинки и, напоследок, само программирование. Возможен коллективный автор: кто-то отвечает за сюжет, кто-то берет на себя работу в графическом редакторе, а третий все собирает в одном проекте-приложении.