[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Обучение программированию "с начала"
Автор Сообщение
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
На сегодня, 29 октября 2007 года, меньше чем через 2 месяца после начала занятий, 13 первоклассников уже обучаются программированию в курсе "Введение в программирование".
У нас уже есть и продолжает появляться некоторый опыт проведения таких занятий, и в этой теме я предлагаю делиться соответствующим опытом, как положительным, так и отрицательным.

Я думаю, что этот опыт пригодится нам для обучения детей разных классов, а не только первоклассников. Тогда какой же смысл мы вкладываем в фразу "первоклассники":

1. Не очень хорошо читают, поэтому нужно чтобы в предъявляемых им заданиях было как можно МЕНЬШЕ текста, а детей нужно заставлять читать как можно меньше.

2. Не очень хорошо пишут, поэтому приходится МИНИМИЗИРОВАТЬ задания по написанию (текстов программ) - фактически такие задания нужны нам не столько для обучения программированию, сколько для обучения их письму ...

3. БЫСТРО устают - поэтому схема обучения должна предусматривать МНОЖЕСТВО упражнений РАЗНЫХ по сложности, максимально ИНТЕРЕСНЫХ по форме, но ПОЛЕЗНЫХ.

4. Трудно запоминают - поэтому может быть много упражнений на закрепление навыков.
При этом упражнения желательно иметь разнообразные, интересные, разные по сложности.
А схема обучения должна поддерживать ДИФФЕРЕНЦИРОВАННЫЙ подход.

5. Надо минимизировать время нахождения за компами - за счет эффективной работы с вспомогательными материалами за столом.
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Пререквизиты обучения

То есть, что все-таки ДОЛЖЕН знать и уметь ученик,
прежде чем обучаться программированию (пройдя задание "Учим слова").

1. По предъявленным(визуально или произнесенным) русским словам (программа - конец)уметь написать, набрать, выбрать соответствующее английское слово.

2. По предъявленному ВИЗУАЛЬНО английскому слову назвать/выбрать/?написать соответствующее русское слово.

3. Зайти на DL с помощью ID в тетради (?без нее - помнить ID)

4. Зайти в задание "Автовыдача/Введение в программирование"

5. Запустить Паскаль (кликом по иконке)

6. Распахнуть Паскаль на весь экран

7. Набрать подряд все 7 выученных слов по-английски (program-end)

8. Назвать русские переводы набранных слов.

9. Уметь делать в экранном редакторе TP
- перемещаться стрелочками
- удалять символы с помощью BS и Delete
- вставлять символы
- удалять строку (Delete, BS, Ctrl+Y)
- с помощью карточки: F2, F9, Ctrl+F9, Alt-F5

10. Распознавать и уметь набирать спецзнаки:
"пробел ; : , = + -"

Зачем выделены пререквизиты?

Если у Вас проблемы с обучением ребенка программированию
(или ВСЕГДА, когда ребенок переходит к обучению программированию) - ПРОВЕРИТЬ, что он (она) действительно обладает всеми необходимыми навыками.

??? Может нам вообще ТАБЛИЦУ составить
Строки - фамилии учеников, столбцы - навыки.
И заносить туда по мере проверки плюсики, если уверены, что имеется устойчивый навык.

Можно также использовать соответствующие упражнения, когда дети устают.
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Как учить первую программу?

У нас есть программированое обучение на DL и оно работает!
Его главные недостатки:
1. Ребенок все время обучения находится за компом
2. Не факт, что понимание находится на должном уровне.
Его главное достоинство:
Максимальная автономность: ребенок может много работы выполнять без присутствия учителя.

Сейчас я опишу еще два возможных подхода к обучению первой программе (ввод-вывод числа).

Подход 1. Его придумала и применяет (еще с прошлого года) Оля:
Ребенку дается карточка с алгоритмом (программа в русских словах), а он должен в Паскале написать соответствующую программу.
Если бы была еще и карточка с командами (F2, F9, Ctrl-F9, Alt-F5) было бы совсем замечательно.

Приглашение к обсуждению:
- Мне также кажется, что есть смысл добиться автоматизма
а)в наборе первой программы
б)в использовании горячих клавиш (с помощью карточки - мы ее еще не сделали?)
в)в отсылке программы на DL
альтернативный вариант - надеяться, что все эти навыки придут "по ходу" после сдачи 2-ой, 5-ой, 20-й программы ...

Подход 2. Его придумал (не еще ни разу не применял) я после появления рабочих материалов по курсу "введение в программирование"
Основных посылок - ДВЕ
а)сразу стараться работать на понимание детьми
б)как можно больше работы проделывать за столом (без компа)
Основные недостаки (как мне видится сейчас)
а)наверно, требуется индивидуальная работа учитель-ученик - для коллективной работы (учитель-группа учеников)нужно еще думать
б) может оказаться не так интересно, и не так доходчиво, как за компом.

Итак, серия упражнений:
Раздел 1. 1/2/3,наоборот: Число, символ, строка
У1. Перед нами куча разрезанных на отдельные построчные полоски (мы еще не разрезали) тестов. Учитель выбирает из кучи одно число и говорит ученику - найди и дай мне такое же число. (Если несколько учеников - кто первый увидит или перед каждым своя кучка с полосками)

У2-4. Два числа, Три числа, 2 числа наоборот.
У5-8: Символ, два символа, 3 символа, 2 символа наоборот.
У9-12: Строка, 2/3 строки, 2 строки наоборот

Раздел 2. Понимание, что будет делать алгоритм.

У0. Добиться распознавания НОВЫХ слов: СИМВОЛ, СТРОКА
? научиться набирать char, string

У 1-12: По алгоритму назвать, что он сделает.
У13-24: К алгоритму подобрать примеры ввода и вывода (склеенные)
У25-36: К алгоритму и примеру ввода подобрать пример вывода
У37-48: К примеру ввода-вывода подобрать алгоритм

Раздел 3. Сопоставление алгоритмов и программ

- подбор строк программы (разрезанной) к алгоритму
- подбор программ к алгоритмам
- подбор алгоритмов к программам
- подбор к данным алгоритмов и программ

НАЧАЛО РАБОТЫ ЗА КОМПОМ

TP
Раздел 4. Набор программ по алгоритмам
Раздел 5. Набор программ по примерам ввода/вывода
Раздел 6. Учимся сдавать задачи на DL

DL
Сдача всех заданий (без обучения) до длины строки.
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Состояние на конец второй четверти (23 декабря)
 
  Вышли из курса  : 1 : Магер Валера
  выход. контроль : 1 : Маланченко Саша    
  pos(c,s)        : 2 : Азявчиков Илья, Мазигуло Наташа     
  delete          : 2 : Фабрикант Саша, Строителева Алина
  Фикс.символ     : 2 : Боярин Коля, Дробышевский Дима
  Длина           : 6 : Крот Стас, Саухин Толя, Печень Вова,
                        Напреева Саша, Ковалевич Надя, Лукашов Виталий
  Первая программа:16 : стр: Астапенко Артем, Громыко Андрей
                        сим: Строителев Жора, Грибанов Антон, Комиссарова Анна
                        2 ч: Лисица Кирилл, Борисенко Таня, Тавтын Лиза
                        1 ч: Ковалев Гордей, Александренко Егор, 
                             Игнатенко Антон, Макагонов Влад      
                             Мигачева Валерия, Якубик Виктория     
                             Горячкина Оля, Якушенко Кирилл

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

ПЕРВОЕ, чего нужно добиваться - это МОТИВАЦИЯ. Надо чтобы дети ХОТЕЛИ ходить на информатику и работать на занятих.
Как усиливать мотивацию?

1. Задания должны быть ПОСИЛЬНЫМИ, разнообразными, и, по возможности, интересными.

2. Занятия надо стараться проводить в позитивной эмоциональной атмосфере: не забывать хвалить детей, по возможности - организовывать игры/соревнования на занятиях (только не все дети умеют проигрывать - это надо иметь ввиду).

3. Надо учитывать РАЗНУЮ готовность/способность к труду детей вообще и на протяжении некоторого времени, в частности, и потому иметь в запасе целый арсенал "упражнений для отступления" - то есть дополнительных заданий, более простых, но работающих на главные цели.

4. Хороший стимул - проведение соревнований между классами/учениками - с ориентацией последующих занятий на ПОДГОТОВКУ к новым соревнованиям. За первые две четверти (всего 4 месяца сентябрь-декабрь) мы провели два информатических КВН-а (для тех, кто учит слова) и две олимпиады по программированию (одну командную и одну личную). Мне кажется, они очень сильно "подстегнули" детей к занятиям. Очень разумно обсудить вопрос КАК ЧАСТО нужно проводить такие олимпиады.
Варианты ответов:
- раз в четверть
- раз в месяц
- раз в неделю
Ваше мнение?
Была еще идея провести командную олимпиаду МЕЖДУ ВСЕМ КЛАССАМИ школы (с 1 по 11-ый). Но есть масса технических проблем. Может сначала полуфиналы/четвертьфиналы?

5. Очень здорово мы придумали награждать ФУТБОЛКАМИ цвета класса тех, кто перешел в программирование.

6. Очень хорошо придумано также и проведение ЗАЧЕТОВ ПО ТЕМАМ с награждением школадкой. К сожалению, мы по непонятным причинам практически ПЕРЕСТАЛИ ЭТО ДЕЛАТЬ. Надо ввести в СИСТЕМУ принятие зачетов.
В частности, сейчас нужно принять зачеты у всех, кто ВЫШЕЛ из какой-то темы. ПРЕДЛАГАЮ Маше (и мне)объяснять, что такое зачет ВСЕМ на своих занятиях и предлагать придти в СУББОТУ сдать зачет.
ПЛЮСЫ такого подхода
- единство требований на зачете (принимает только Оля?)
- привлечение детей к дополнительным занятиям.

Следующим, по важности, фактором после МОТИВАЦИИ которого следует добиваться, я считаю, САМОСТОЯТЕЛЬНОСТЬ в работе.

То есть очень важно, чтобы на каждом занятии каждый ученик работал САМ!!! Заходил на DL, понимал задание, выполнял,а если не знает как выполнить - нажимал кнопку "не знаю" и САМ учился.

Я не могу сказать на текущий момент, что САМОСТОЯТЕЛЬНОСТЬ уже достигнута, но "мы на пути" к этому. Что может этому способствовать:

1. Дополнительные материалы
- карточки подсказки "как проверять программу"
- карточки подсказки "как отсылать программу" (Маша начала делать)
- алгоритмы нужных программ
- построчно-разрезанные программы
- программы

2. Аналоги "за столом" всех упражнений, которые есть на DL
(этого нет еще)
- выбери правильную программу
- сопоставь программу с тестами

3. Самоорганизация детей.
Сейчас этого почти нет, но вообще нужно пытаться сделать так, чтобы более сильные дети могли помочь в случае необходимости более слабым при выполнении заданий нового вида ПЕРВЫЙ РАЗ.

Следующим по важности фактором, после МОТИВАЦИИ и САМОСТОЯТЕЛЬНОСТИ я считаю ПОНИМАНИЕ детьми того, что они делают.

С этим у нас сейчас наибольшие проблемы. Положительным моментом можно считать то, что теперь, ДОБИВШИСЬ в значительной степени МОТИВАЦИИ и в приемлемой степени САМОСТОЯТЕЛЬНОСТИ, можно и нужно уделить внимание работе на ПОНИМАНИЕ.

КОГДА и КАК работать на ПОНИМАНИЕ?

1. Если ребенок Вас позвал - не зная, как справиться с заданием.
В случае, если остальные работают самостоятельно, у нас есть ВРЕМЯ работать на понимание с тем, кто позвал.

Прежде всего, нужно научить их понимать, что нужно сделать в задании. В условиях, когда они не очень умеют читать я поступаю следующим образом. Если ребенок умеет читать - мы читаем задание полностью, а если нет - то только формат ввода и вывода.

Думаю, что очень правильно (и уже начал делать это с многими детьми) - ЗАПИСЫВАТЬ в тетрадь ПРИМЕР ввода и вывода - и потом на нем проверять программу. Можно также просить детей сделать СВОЙ тест.

2. Если ребенок просится работать за столом
Мне кажется ВНЕ компьютера - лучшее место работать на понимание.
В какой последовательности работать на понимание:
- научить распознавать русские слова (программа-конец, символ, строка)
- научить сопоставлять английские (program-end)и русские слова
- К СОЖАЛЕНИЮ из учим слова мы ВЫПУСТИЛИ детей, которые это не умеют.
- МАША, надеюсь НОВЫЕ дети, которые еще находятся в "Учим слова",
не выйдут оттуда до тех пор, пока не смогут делать легко предыдущие два пункта.
- а еще нам понадобятся новые слова - char, string, length, delete, pos и их переводы - нужно сделать МАТЕРИАЛЫ для изучения этих слов за столом (? карточки слов и переводов)
- научить РАЗЛИЧАТЬ тесты: число, символ, строка, 2/3 числа, символа/строки, наоборот (символы/числа/строки)
- научить различать алгоритмы и программы:
(1/2/3/наоборот числа/символы/программы)
- научить СОПОСТАВЛЯТЬ программы/алгортимы/тесты и НАЗВАНИЯ задач
(названия задач ОТРЕЗАТЬ надо?)
- фактически все это и есть ПОДГОТОВКА к ЗАЧЕТУ.
- научиться ПИСАТЬ программу? (хоть самую короткую)
- ? может есть смысл и в зачет включать НАПИСАНИЕ (хоть самой короткой?) программы.

Аналогично работаем на понимание и в следующих разделах:
Длина, Фиксированный символ, Встроенные функции.

Понятно, что по форме задания могут быть самые разноообразные.
Я предлагаю описать эти задания в отдельных темах:
"Работа с материалами за столом"
"Работа в тетрадях в клеточку"
"Наши тетради"
"Работа у доски"
"Работа в Turbo Pascal"

Итак, я подчеркнул 3 важнейших фактора, над которыми нужно работать в первую очередь: МОТИВАЦИЯ, САМОСТОЯТЕЛЬНОСТЬ, ПОНИМАНИЕ.

Хочу также акцентировать внимание на ИНДИВИДУАЛЬНОМ ПОДХОДЕ.
Дети очень разные, одному нравится делать одно (например, писать в тетрадке, как Стасу Кроту, который пришел сегодня во вторник, хотя говорили, что занятия только по средам/субботам/воскресеньям), другому - другое (собирать построчно, работать за компом ...). Нужно стараться ИДТИ НАВСТРЕЧУ наклонностям ребенка по форме и ВПЕРЕД по содержанию.
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
На сегодня, 28 января, считаю, задача МОТИВАЦИИ решена.
Дети, которые приходят на занятия, по большому счету ХОТЯТ научиться. Проблемы, которые у нас (и у них) возникают, связаны по-моему мнению, с НАШИМ неумением УЧИТЬ.

БЛИЖАЙШАЯ наша цель - научиться ОРГАНИЗОВЫВАТЬ учебный процесс так, чтобы обеспечить САМОСТОЯТЕЛЬНОСТЬ в работе. То есть:
"На каждом занятии каждую минуту должен работать каждый ученик".

Как это делать?

Первое и ГЛАВНОЕ - ЗАХОТЕТЬ!!!
Надо ОСОЗНАТЬ ГЛАВЕНСТВО этой цели(задачи) над всеми остальными на текущий момент.

Какие приемы можно использовать, чтобы достичь этой цели:

1) Надо все время выбирать такую позицию в классе, чтобы ВИДЕТЬ всех учеников и ДВЕРЬ (кого-то приводят, за кем-то приходят)

2) Надо ОРГАНИЗОВАТЬ занятие так, чтобы Ваша ПОМОЩЬ была не нужна никому. В частности:
- стараться учить УЧИТЬСЯ всех
- если кому-то нужна помощь - посылать ОДНОГО из учеников
(того, кто ближе / самого слабого из тех, кто может помочь / назначенного помощника ...)

3) Если так случилось, что Вы отвечаете на вопрос ученику - МИНИМИЗИРУЙТЕ время на объяснение - просто дайте ребенку подсказку
(карточку с отсылкой, алгоритм, программу, построчную программу ...)

4) Если ребенок "не управляем" - или устал - ОТСТУПАЙТЕ (работа за столом, игры с карточками, счетными палочками, "жучки" ...)

5) Контролируйте ТИШИНУ - приучайте детей не отвлекаться, РАЗГОВАРИВАТЬ ТИХО (если один объясняет другому)
- если не получается: применяем меры воздействия: замечание, отсаживание от компьютера, "штрафное время" в коридоре и т.д.

ДОБЕЙТЕСЬ того, чтобы КАЖДУЮ МИНУТУ КАЖДЫЙ ребенок занимался делом.
И все это происходило БЕЗ ВАШЕГО УЧАСТИЯ !!!
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Как обучать первоклассников программированию в "Элементарных алгоритмах"

У нас в ЭА работает уже ТРОЕ первоклассников:
- Магер, Дробышевский, Боярин

Обучение в ЭА еще "оставляет желать ...",
но учить то надо ...

Я предлагаю делать так с каждым первоклассником:

1. Записывает в тетрадь НАЗВАНИЕ (краткое условие задачи) и номер
- например 1.1. Дублирование символов

2. Туда же записывает СВОЙ тест для этой задачи (вход и выход)

3. Находит в обучении РЕШЕНИЕ (не знаю ... )
- переписывает его в свою НОВУЮ (полуобщую) тетрадь

4. Пишет в Паскале решение с тетрадкой до тех пор,
пока не сможет написать БЕЗ ТЕТРАДКИ

5. [Если у учителя есть время и желание]
- ученик запускает отладчик, исполняет решение построчно
объясняет учителю что произойдет и смотрит - произошло или нет

6. Сдает на DL и переходит к следующему заданию


Каждый раз когда приходит новый день
1. [Если у учителя есть время и желание]
Ученик называет номера и условия выученных до сих пор задач
2. Ученик переводит себя на начало - и сдает все задачи повторно
если не получается - ищет ошибки отладчиком или
подсматривает в тетради

Регулярно (минимум раз в неделю) - "Олимпиада без DL".
Участвуют несколько учеников.
По очереди называют задание (пишут тест)
- все пишут решение этой задачи.
Тот кто первый написал и проверил получает количество очков, равное количеству участников, следующий - на 1 меньше и т.д.
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Обновленная технология обучения

Для каждой задачи
- записываем в тетрадь условия и свой тест
- в "Не знаю" добираемся до решения
- записываем решение в тетрадь
- иногда нет решения, а есть только идея
тогда переписываем в тетрадь идею решения
по идее на компе пишем решение на Паскале
добиваемся, чтобы работало, и переписываем его в тетрадь
- каждый раз когда нас просят о помощи,
работаем в отладчике - на ПОНИМАНИЕ
- каждую задачу начинаем с НОВОЙ страницы
- учимся с тетрадью, сдаем на DL без тетради
- заведена ТАБЛИЦА отметок о прохождении курса
(строки - задачи, столбцы - даты )
- если сдал - ставит "." - изучил новую задачу
- каждое занятие переводит себя на начало
и отмечает результат решения задач
"+" сдал без тетрадки и "не знаю"
"-" сдал с помощью тетрадки или "не знаю"
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Как добиваться понимания

Элементарные алгоритмы

"По вызову"
У ребенка что-то не получается - он подзывает Вас и просит помощи.

ОЧЕНЬ ВАЖНО !!!

Скорее всего, работа на понимание будет вызывать ТРУДНОСТИ у детей.
ОЧЕНЬ ВАЖНО работать на понимание так, чтобы у детей не пропало
желание работать (МОТИВАЦИЯ).

1. Убедиться что в тетрадке записано название задачи и
свой тест - если этого нет - сделать это.

Я ЭТОГО НЕ ДЕЛАЛ ДО СИХ ПОР, но теперь попробую:
2. Добиться чтобы ребенок ОБЪЯСНИЛ, что должна делать эта
программа. Говорить предложениями им трудно, и, тем не менее, надо
пытаться проговаривать с ребенком условие задачи - в совсем тяжелых
случаях говорить ВМЕСТО него и просить его повторить.
Не забывать поощрять такую "разговорчивость" ребенка.

3. Исполнение программы построчно с ПРЕДВАРИТЕЛЬНЫМ проговариванием,
что сейчас произойдет и последующим анализом, что на самом деле
произошло.

4. Умными вопросами вести ребенка в осознанию того:
- как работает программа
- что и почему она делает неправильно
- какие строки в программе и как нужно изменить,
чтобы исправить ошибку

5. Фиксировать в тетради программу (исправлять ошибки)
6. АКЦЕНТИРОВАТЬ - проговаривать найденные/исправленные ошибки
7. Перенабирать решение БЕЗ ТЕТРАДИ и помощи учителя перед сдачей

Целенаправленно

Сейчас они приходят, берут тетрадки, вписывают сегодняшнее число,
переводят себя на начало и "пошло-поехало"
Пока идет - едет плохо:
Например, 1А, Азявчиков:
   17.04  16.00-17.02  5_2 Вывести второе слово перевернуто
   16.04   9.27- 9.35  3_2 Добавление продублированного слова
   14.04  16.00-17.50  6_1 Удаление ненужных символов в слове
   13.04  13.36-14.03  5_1 Выделение слова от ' ' до '.'
   10.04  16.04-17.34  4_3 Выбрать цифры и вывести через "+"
    7.04  16.06-16.22  3_2 Добавление продублированного слова
   30.03  13.24-16.47  7_1 Циклический сдвиг символов слова
   26.03  11.21-15.42  4_1 Извлечение цифр из строки
Может ПЕРЕСТАТЬ переводить их назад на каждом занятии?
Когда (при каких условиях?) начинать не переводить назад?

Весной прошлого года Маша разрабатывала технологию интенсивного
обучения - может пора ее ВНЕДРЯТЬ в практику обучения первоклассников?
Переосмысливая и видоизменяя в случае необходимости?

Предлагаю ИЗМЕНИТЬ олимпиады по средам с 12.00:
- они должны нам ПОМОГАТЬ работать на понимание !!

- Соревнования проводим КОМАНДНЫЕ и параллельно в двух лигах
"Элементарные алгоритмы" / "Введение в программирование"
Команда состоит из двух-трех человек (из одного класса)
Например:
ЭА: 1А: Азявчиков, Фабрикант, Саухин, Мазигуло
1Б: Дробышевский, Магер
1В: Боярин, ? Лапицкий

ВвП: 1А-1: Тавтын,
1А-2: Александренко, Громыко, Комиссарова
1Б-1: Маланченко
1Б-2: Игнатенко, Крот, Грибанов
1Б-3: Лисица, Ковалев, Ковалевич
1В-1: Строителева Алина
1В-2: Астапенко, Бобкова, Строителев Ж

В начале олимпиады Каждая команда предлагает соперникам
несколько тестов (от 3 до 5?)
Тест - это фактически задание написать такую программу,
которая по заданным входным значениям должна получить
заданные выходные.

Когда команда справляется с заданием (программы пишут
участники команды ПО ОЧЕРЕДИ), она подзывает учителя и
тот фиксирует принята/НЕТ программа
(?вместе с представителем команды придумавшей тест)

- Может вообще проводить "Олимпиаду без компьютеров"?
команда пишет тест и правильное решение
сама же проверяет решения других команд и решает чужие задачи

!!!- еще альтернатива

Олимпиады проводим командные, на НОВЫХ задачах

например
- вывести третий символ (у нас было 2,4,5)
- сложить 4 числа (у нас было 3)
недостаток
- новые задачи нужно ГОТОВИТЬ по 20-30(?) на новое воскресенье - оговорка по Фрейду: я хотел написать СРЕДУ.
А может нам и вправду проводить командные олимпиады КАЖДОЕ воскресенье, как это делается у старших сейчас, только по времени поменьше?

!!!- может для скорейшего получения опыта попробовать СОВМЕСТИТЬ
все олимпиады и опять-таки проводить ОБЩУЮ олимпиаду между
классами, в которых попробовать все виды конкурсов.
ЭА и ВвП выступают в одной команде, просто в некоторых конкурсах
одни делают, а другие болеют, а некоторых - наоборот.

- Результаты вывешиваем, награждаем всех
(победители выбирают призы первыми)

Введение в программирование

1. Надо начать пользоваться имеющимися средствами
- материалы (программы, алгоритмы, тесты, построчные программы, пазлы)
- Машины тетради по темам (Первая программа, Длина, Символ, Функции)
и даже сокращенные тетрадки использовать
- личные тетради (записывать свои тесты, ключевые строчки программ)

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

2. Может надо периодически проводить занятия ПО-ДРУГОМУ,
а не просто включили компы-поехали?

Например, если человек прошел тему
- должен СДАТЬ по ней ЗАЧЕТ, прежде чем перейти к изучению другой темы
(что входит в "сдать зачет" писалось раньше, по-моему)

ВАШИ ПРЕДЛОЖЕНИЯ?
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Оля придумала 20 новых задач (вариации на тему пройденных).
Маша поставила эти задачи и дифференцированное обучение к ним (с помощью Генератора Саши Громыко). Запланировали в среду, 30 апреля провести на этих задачах командную олимпиаду.

Я не выдержал ждать до среды и с пятницы начал пробовать работать с этими задачами. Результаты в первом классе удручающие. Не справились с задачами - Саухин, Фабрикант, Боярин, Строителева.

В понедельник, 28 апреля, некоторое время не было обучения (пока Маша делала автовыдачу для него) - я объяснял, как мог (получалось ПЛОХО :-(). Потом появилось обучение и все пошло по накатанной. Но у меня нет уверенности, что новые задачи они смогут решать.

Пока ничего другого не придумали - будем продолжать установку и решение новых задач, но я предлагаю также постоянно ДУМАТЬ - а что еще можно делать?

Для начала предлагаю ЗАДАТЬСЯ ВОПРОСОМ
"А что собственно мы хотим, чтобы они понимали?"

- различали строку/символ/число
- сколько строк вводим - столько readln, сколько выводим - writeln
- write - writeln (вернуть Танины задания?)
- порядок ввода и вывода
- форматирование вывода
- вывод символа/символов на фиксированной позиции/позициях в одной/нескольких строках
- замена -"-
- вывод символа/символов на переменной позиции/позициях в одной/нескольких строках
- замена -"-
- удаление из одной и нескольких строк
- копирование из одной/нескольких строк
- позиция не первого вхождения

Для пропедевтики курса "Элементарные алгоритмы"
- взять кусок строки с позиции1 по позицию2 включительно
- IF если первый символ равен последнему,
если соседние с позиции k не равны
если символ не крайний
И и ИЛИ (and, or)
Коробейникова Евгения

Темы: 4
Сообщений: 32

Мой профиль
Я читала форум и подумала, какие задачи можно давать малышам, чтобы добиться от них понимания. Идея состоит в том, что бы они могли птичками отмечать какие тесты к задаче верные. Вы можете сказать, что похожие задачи есть в обучении, когда по исходным данным пишут ответ. Но правильные ответы отображены зеленым шрифтом и как только он становится черным, дети методом перебора(благо на клавиатуре не так много символов) подбирают очередной нужный символ. Еще хорошо бы организовать такое обучение, в котором дети сами могли бы для заданной задачи придумать тест, а система проверила бы правильные ли тесты они придумали. Многие студенты, а не то что малыши, программы по шаблону напишут, а как ее оттестировать, что она должна вводить и выводить не понимают. Федя раньше тоже так поступал. Можно организовать еженедельные воскресные олимпиады для начинающих (тех кто хочет) и каждый раз давать несколько задач, которые лучшие решить не смогут. Потом с ними их разобрать. На следующей неделе дать им похожие задачи. Будет видно, как они поняли предыдущий разбор задач. Так будет какой-то прогресс. Дети лучше обучаются в толпе, чем индивидуально, им хочется быть лучшими и что бы это видели другие(конкуренты).

Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Спасибо за советы

... птичками отмечать какие тесты к задаче верные. 
Да, у нас уже были такие мысли - ждем, пока Маша Кугейко и Саша Громыко сдадут сессию и будем добавлять. Саша должен сделать еще ГЕНЕРАЦИЮ таких заданий (по правильным тестам - неправильные как-нибудь сам сделает из правильных - заменой символа/на символ или цифры на цифру)

похожие задачи есть в обучении, когда по исходным данным пишут ответ. Но правильные ответы отображены зеленым шрифтом и как только он становится черным, дети методом перебора(благо на клавиатуре не так много символов) подбирают очередной нужный символ 
Ну, это не проблема - сделать такие задания БЕЗ подсказок типа зеленый/красный - а еще сделать НЕ ЗНАЮ к таким задачам - с подсказками. Дети у нас разные ... И у нас основная проблема НАУЧИТЬ, а не ПРОКОНТРОЛИРОВАТЬ умеют/нет.

дети придумывают тесты, а система проверяет правильно или нет 
Это мы тоже уже придумали - РЕАЛИЗОВАТЬ пока не удалось, надеюсь летом ...

еженедельные воскресные олимпиады для начинающих 
Нам удобнее по средам - так они и проходят каждую неделю, а потом добавляются в "ВвП. Экзамен"

разборы нерешенных задач 
Мне не кажутся эффективными общие занятия. ТЕМ БОЛЕЕ, в таком возрасте. Тут старшие еще спорят - нужны или нет им разборы ...
И еще наша главная задача СЕЙЧАС - не столько научить конкретных детей, сколько РАЗРАБОТАТЬ СИСТЕМУ обучения ВСЕХ детей с МАКСИМАЛЬНОЙ нагрузкой на систему DL и минимальной (а лучше БЕЗ НАГРУЗКИ вовсе) - на учителя.

"Дети лучше обучаются в толпе, чем индивидуально, им хочется быть лучшими и что бы это видели другие (конкуренты)." 
Мы в общем это понимаем, но над "частностями" еще работать и работать ...
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Позавчера Маша внесла номера олимпиад в задания, распечатала задания, разрезала и разложила по темам. Вчера мы с помощью этих картинок составили первый вариант дерева дифференцированного обучения для "ВвП. Экзамен". В результате получилось, что для выхода из этого курса нужно решить 25 задач, в отличие от 240 для "линейного" варианта курса "ВвП. Экзамен". Вчера вечером у нас не получилось сделать дерево для автовыдачи - мы сообщили об этом Саше Громыко он исправил ошибку в своей программе и сегодня САМ построил дерево автовыдачи, и собственноручно "запустил" соревнование на нем.

Результаты ВЕЛИКОЛЕПНЫ:
ВвП-Экзамен - Дифференцированно - это то что надо !!!
Первым УЖЕ через час и 2 минуты (с перерывом на обед минут на 10) из курса вышел Сергей Ничипорчик (7 кл). Все результаты
1ч 02м - Ничипорчик Сергей 
1  16  - Бабицкий Алан
1  18  - Мозоль Даша
2  39  - Марсиков Паша
2  42  - Грибанов Вадим
2  43  - Авраменко Аня 
Предлагаю еще после ВвП - Экзамен - Дифференцированно сделать "ВвП-Краткий Курс" (никаких повторов - все по разу)
- начинают сразу в ВвП - Экзамен Дифференцированно
не могут - идут в Краткий курс
- а еще можно краткий курс тоже "запихнуть в дифференцированно"!!!
Тогда будет три "точки входа":
- Дифференцированно - для "шустрых"
- Краткий курс+дифференцированно - для "средних"
- ВвП - для первоклассников и "медленных"
В ИДЕАЛЕ их бы СОВМЕСТИТЬ как-то !!!
Если "Краткий курс" запихнем в "дифференцированно", то это только вопрос точки входа:
- с первой программы (для тех, кто первый раз)
- с вершины дерева (для шустрых) - им может кнопка "Экзамен" помочь
То есть при запуске все попадают на "Краткий курс", но есть кнопка "Экзамен" (все время на экране), по которой перемещаются в вершину дерева "ВвП. Экзамен - дифференцированно".
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Сегодня отправил ВСЕХ в обновленный "Одномерный массив - 2008",
перестроенный на дифференцированное обучение.

Алан Бабицкий добрался до задачи "Суслики" и сразу, не думая посмотрел в "Не знаю" - а там ДРУГАЯ задача!!! Он посмотрел в ДЕРЕВО - увидел, что там КУЧА задач до обучения по "Сусликам", тогда он "напрягся" и решил "Сусликов" без не знаю.
Михаил Долинский

Темы: 2072
Сообщений: 49900

Мой профиль
Революционные предложения к обсуждению

В 2007-2008 учебном году мы начинали с первого дня обучение программированию и в общем разработали, с моей точки зрения ВПОЛНЕ УСПЕШНУЮ СХЕМУ ДИФФЕРЕНЦИРОВАННОГО обучения программированию тех, кто имеет достаточные ПРЕРЕКВИЗИТЫ:
- некоторые навыки аналитического мышления
- трудолюбие
- умение считать
- умение читать

Проблема заключается в том, что этими преквизитами в первом классе С НАТЯЖКОЙ обладают человек 10-15, а без натяжки и ТОГО МЕНЬШЕ !!!

Поэтому я предлагаю изменить СТАРТОВЫЙ этап обучения, переориентировав его на выработку вышеуказанных ПРЕРЕКВИЗИТОВ + МОТИВАЦИИ к занятиям, следующим образом:

Мы делаем 3 дополнительных задания (?в специальной папке 1 класс)
- Учимся считать
- Учимся думать
- Учимся читать

Если ребенок не умеет считать, читать и думать, БЕССМЫСЛЕННО учить его программированию. Раньше я считал, что мы можем учить не умеющего читать и считать ребенка программированию, и мы действительно НАУЧИЛИСЬ это делать. Но я НАДЕЯЛСЯ, что пока мы учим ребенка программированию, ШКОЛА научит его читать и считать - к сожалению, ПРАКТИКА показывает обратное. О развитии умения думать в школе и ГОВОРИТЬ не приходится. Поэтому нам придется брать эти задачи НА СЕБЯ:
- Проверить, умеет ли ребенок считать, думать и читать. Если умеет - перевести его в обучение программированию.
- А если не умеет, то последовательно УЧИТЬ его всему этому в ИНТЕРЕСНОЙ ФОРМЕ, заодно вырабатывая мотивацию и трудолюбие.

О содержании этих заданий:
"Учимся считать"
- задания с цифрами, числами и примерами (уже есть)
- задания с ручным выполнением примеров (есть образцы)

"Учимся думать"
- задания с ручными просчетами примеров для курса
"Введение в программирование" (есть образцы)
Если ребенок ВРУЧНУЮ не может выполнить задание, какой смысл его мучать изучением того как писать программу, которая сделает то, что она сам делать НЕ УМЕЕТ
- ? избранные задания из курсов "Тестирование IQ", "Танграм", "Математика 4 класс" (флеш-задания), "Занимательная математика" ...
- ВНОВЬ придуманные на базе практики задания
- можно взять подходящие задания из УЧЕБНИКОВ первоклассников(математика, чтение)

"Учимся читать"
- у нас были такие задания, соответствующие букварю.
Их нужно срочно РЕАНИМИРОВАТЬ, перестроить в ДИФФЕРЕНЦИРОВАННОЕ обучение и поработать с Александренко Егором, Строителевым Жорой и другими первоклассниками. Тогда станет ясно, КАК развивать эти задания дальше.
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Обучение программированию "с начала"
Time:0,047