Организация и методика проведения турнира программистов в школе

Создание оргкомитета. Положение о проведении турнира. Рекомендации по выбору систем проведения. Языки программирования на соревнованиях. Проведение турнира в учреждении образования. Подготовка школьников и правила проведения олимпиад по информатике.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.06.2015
Размер файла 658,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

Задача. Даны целые числа A и B, по модулю не превышающие 32000. Найти их сумму.

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

Дело в ограничении на целые типы в системах программирования Borland Pascal и Borland C++, которые довольно часто используются школьниками.

Решение задачи (с разбором ошибок).

Во входном файле a.in записаны два натуральных числа, каждое из которых не превышает 32000. Числа во входном файле разделяются пробелами и (или) символами перевода строки. В выходной файл a.out вывести сумму этих двух чисел.

Кажется, любой знакомый с программированием школьник с легкостью может написать ее решение:

Задача А: Сумма двух чисел

Имя входного файла: a.in

Имя выходного файла: a.out

Ограничение по времени: 1 сек

Ограничение по памяти: 64Мбайт

Воспользуемся стандартными файловыми переменными: Input и Output.

Они автоматически закрываются после работы программы.

Переменная Input по умолчанию связана с клавиатурой, a Output - с экраном дисплея

Так как во входном файле записаны только числа, то для чтения воспользуемся командой read - она сама пропускает пробелы и переходы на новую строку

Используя процедуру ASSIGN, переназначим идентификаторы ввода-вывода INPUT и OUTPUT и укажем имя входного и выходного файла:

ASSIGN (INPUT, 'a.in'); RESET (INPUT);

ASSIGN (OUTPUT, 'a.out'); REWRITE(OUTPUT);

1. На диске С создадим папку С:\OLIMPIAD

var a,b,c:integer;

begin

assign(input,'a.in'); {Устанавливаем связь с файлом a.in}

reset(Input); {Открываем файл для чтения}

read(Input,a,b); {Считываем данные из файла}

c:=a+b;

assign(Output,'a.out'); {Устанавливаем связь с файлом a.out}

rewrite(Output); {Открываем файл для записи}

writeln(Output,c); {Записываем данные в файл}

end.

2. Сохраним в ней исходник С:\ OLIMPIAD \a.pas (Рисунок 2)

Рисунок 2. Сохранение файла с исходным кодом

3. Откроем блокнот.

4. Занесём исходные данные через пробел (Рисунок 3)

Рисунок 3. Внесение исходных данных

5. Сохраним файл с исходными данными в папке OLIMPIAD под именем a. in

6. В папке OLIMPIAD два файла: (Рисунок 4)

Рисунок 4. Вид папки №1 OLIMPIAD

7. Запускаем программу на выполнение (Рисунок 5)

Рисунок 5. Запуск программы на выполнение

8. В папке OLIMPIAD третий файл (Рисунок 6):

Рисунок 6. Вид папки №2 OLIMPIAD

9. Посмотрим результат (Рисунок 7)

Рисунок 7. Вид окна с результатом

Кажется, задача решена

Посылаем работу на проверку, и получаем неожиданный результат.

Несколько тестов прошло. На некоторых тестах происходит ошибка во время исполнения

Так в чем же ошибки? Еще раз внимательно прочитаем условие и остановимся на ограничениях

1. Числа натуральные, не превышающие 32000.

2. Мы объявили переменные типа integer, диапазон значений переменных этого типа - от -32768 до 32767, так что кажется, что тут все правильно.

3. Однако условию удовлетворяет тест, в котором оба числа равны 32000.

4. Конечно, оба числа входят в тип integer, чего нельзя сказать об их сумме!

5. Меняя в нашей программе тип integer на тип longint получаем уже действительно полное решение задачи

6. Если сделать тип переменной c - longint, а a и b оставить типа integer, то программа работать все равно не будет - подумайте почему.

var a,b,с:longint;

begin

assign(input,'а.in');

reset(input);

assign(output,'а.out');

rewrite(output);

read(a,b);

c:= a+b;

writeln(c);

end.

3.4 О методике решения олимпиадных задач

Популярность крупных соревнований по информатике и программированию стремительно растет. Их спонсорами выступают такие крупные корпорации, как AT&T, Microsoft, IBM, Google. Естественно, появились исследования о том, как эффективно участвовать в соревнованиях, готовиться к ним, многочисленные советы и рассказы очевидцев

Потребность в методике для подготовки к олимпиадам по программированию возникла давно. Появились различные подходы для обучения решению олимпиадных задач и комплексные системы для подготовки к олимпиадам с использованием информационных ресурсов Интернета. Стали появляться сайты с интерактивными архивами задач. В них не просто доступен текст задачи, как в библиотеках, но и имеется возможность послать решение на проверку. Ученик регистрируется на сайте, выбирает олимпиаду и решает ее в течение определенного времени. После этого он отправляет на сайт решения задач (в виде исходников), которые автоматически проверяются.

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

По такому типу в марте 2011 года проходила и первая дистанционная олимпиада (см. выше, пункт 2.5) в Казахстане.

Выводы. Организация и проведения турниров по информатике, программированию на всех уровнях должны подчиняться единым требованиям. Только в такой ситуации школьник, придя на участие в следующем туре (районная, городская, областная, республиканская, международная олимпиады) сможет на высоком уровне показать приобретенные им знания, умения и навыки. А поэтому каждый преподаватель информатики, занимающийся подготовкой своих воспитанников к участию в турнирах, должен знать эти правила и научить им ребят.

Заключение

При выполнении работы по теме «Методика организации и проведения турнира по программированию в школе» была поставлена цель - дать определение, систематизировать, описать различные формы внеурочной работы по программированию.

Объектом исследования явился процесс организации и проведения нестандартных форм внеурочной деятельности по программированию.

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

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

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

Рассматривая вопросы методики организации и проведения различных соревнований по информатике и программированию, нужно помнить об основных правилах подготовки мероприятий. Во-первых, это должен быть хорошо составленный организатором (-ами) план с описанием всех возможных ситуации проводимого мероприятия («Положение о проведении турнира»). В ежедневной практике в ходе учебного процесса необходимо изучать различные языки программирования.

Организация и проведения турниров по информатике, программированию на всех уровнях должны подчиняться единым требованиям. Только в такой ситуации школьник, придя на участие в следующем туре (районная, городская, областная, республиканская, международная олимпиады) сможет на высоком уровне показать приобретенные им знания, умения и навыки. А поэтому каждый преподаватель информатики, занимающийся подготовкой своих воспитанников к участию в турнирах, должен знать эти правила и научить им ребят.

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

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

Приложение 1

Положение о проведении турнира

1. Общие положения

1. В Олимпиаде по программированию задач принимают участие учащиеся с ____ по ____ класс.

2. В качестве языка программирования участник использует один из предложенных языков программирования:

· Delphi

· Turbo Pascal

· Borland C++

· Microsoft Visual C/C++

· Assembler

· Java 2 SDK 1.5

3. Олимпиада проводится в два тура. Первый тур проводится в январе - марте 20__ года, второй тур - «__» ______ 20__ г.

2. Порядок проведения I тура Олимпиады

1. Для обеспечения необходимого уровня участников Олимпиады производится предварительный отбор и регистрация участников на основе проведения первого тура.

2. Все желающие принять участие в первом туре Олимпиады до «__» ______ 20__ г. подают в Оргкомитет Олимпиады заявку на участие в Олимпиаде, в которой должны быть указаны сведения об участнике (ФИО, класс, язык программирования).

3. Все школьники, подавшие заявку на участие в первом туре Олимпиады«__» ______ 20__ г. принимают участие в первом туре .

4. Задание первого тура должно быть реализовано, и полученные результаты должны быть проверены жюри Олимпиады в день проведения Олимпиады.

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

6. Результаты первого тура сообщаются в устной и письменной форме в день подведения итогов всем участникам первого тура.

3. Порядок проведения II тура Олимпиады

1. Второй тур Олимпиады планируется провести в «__» ______ 20__ г..

2. Всем участникам II тура Олимпиады выдается единое задание, даются необходимые устные пояснение к постановке задачи, а также ответы на вопросы, возникшие у участников Олимпиады. После завершения обсуждения постановки задачи, участники переходят к выполнению задания, и с этого момента начинается отсчет времени выполнения задания. Срок выполнения задания - не более четырех астрономических часов.

3. Каждый участник II тура Олимпиады САМОСТОЯТЕЛЬНО выполняет полученное задание. Коллективные решения не принимаются. В результате выполнения задания должна быть разработана компьютерная программа, полностью или частично реализующая постановку задачи.

4. Каждому участнику II тура Олимпиады предоставляется одинаковое время для написания и отладки программы.

5. После завершения выполнения работы участник передает полученную программу (исходный текст) в жюри Олимпиады, при этом производится отметка о времени выполнения задания. После чего не допускается внесение в программу каких-либо дополнений и изменений.

6. Во время проведения II тура Олимпиады участники не имеют права:

- общаться между собой, все возникающие вопросы должны разрешаться только с представителями оргкомитета Олимпиады.

- передавать и/или использовать фрагменты программ другим (их) участникам (ов).

- Участники, нарушившие данные требования удаляются с Олимпиады, а их работы исключаются из конкурсного рассмотрения.

7. Во время выполнения конкурсного задания Участники имеют право:

- пользоваться любыми справочными и учебными пособиями, технической документацией на программу;

- обращаться с вопросами по постановке задачи к членам оргкомитета Олимпиады.

5. Требования к выполнению и оформлению конкурсных работ

1. Результатом выполнения конкурсного задания, как первого, так и второго туров должна быть работающая программа, написанная на одном из предложенных языков программирования.

2. По завершению написания и отладки программы Участник Олимпиады должен передать в Жюри Олимпиады в виде файла текст программы на языке программирования.

6. Требования, предъявляемые к программам при их оценке

1. Тестирование программ проводится Жюри Олимпиады. При тестировании используется несколько тестов, разработанных Жюри, содержание тестов заранее не разглашается. При получении верного результата за каждый удачно проведенный тест начисляется один балл.

2. Все программы, представленные для оценки, тестируются на единых тестовых данных, подготовленных Жюри Олимпиады вне зависимости от используемого языка программирования.

3. Программы должны сохранять работоспособность при любых комбинациях исходных данных, т.е. программа должна быть защищена от некорректного ввода исходных данных.

4. В случае, получения несколькими участниками одинакового количества баллов для определения лучшего результата учитывается время, затраченное на разработку программы.

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

7. Награждение победителей Олимпиады

1. На основании тестирования работ второго тура, жюри определяет победителя и призеров Олимпиады.

2. Жюри сообщает о результатах и призерах Олимпиады в день проведения Олимпиады. Решение Жюри окончательное и обжалованию не подлежит.

3. Порядок распределения и использования призового фонда определяется Оргкомитетом олимпиады.

4. Призовой фонд Олимпиады 2009 года предоставлен спонсорами _______:

8. Место и сроки проведения Олимпиады

Олимпиада проводится в _________

Первый тур «__» ______ 20__ г. в ____ часов

Второй тур «__» ______ 20__ г. в ____ часов

9. Состав жюри

В состав жюри входят

ФИО, должность - председатель жюри

ФИО, должность - секретарь жюри

ФИО, должность - члены жюри

10. Организационный комитет. Контактная информация

В состав организационного комитета входят:

ФИО, должность

ФИО, должность

Заявку на участие можно подать в каб.___ в срок до «__» ______ 20__ г

По всем вопросам организации и проведения можно обращаться в оргкомитет в каб.____ или по адресу ______@mail.ru

Приложение 2

Результаты турника

Сторона 1

Результаты школьной командной олимпиады

№ задания

1

2

3

4

5

6

7

8

9

1 ответ

2 ответ

3 ответ

Подпись

Сторона 2

Состав команды

1

ФИО, класс

2

ФИО, класс

3

ФИО, класс

4

ФИО, класс

5

ФИО, класс

6

ФИО, класс

Приложение 3

Путевой лист

Результаты марафона

№ задания

1

2

3

4

5

6

7

8

9

1 ответ

2 ответ

3 ответ

Подпись

Приложение 4

Лист ответов игры «Эрудит»

Сторона 1

№ задания

Ответ

Отметка жюри

Сторона 2

Состав команды

1

ФИО, класс

2

ФИО, класс

3

ФИО, класс

4

ФИО, класс

5

ФИО, класс

6

ФИО, класс

Список использованной литературы

1. http://ru.wikipedia.org/wiki

2. С. Л. Рубинштейн. Проблемы общей психологии.. М.: Педагогика, 1976. С. 19-46

3. Д.Б. Эльконин Психология игры. М., 1978.

4. Johan Huizing Й.Хейзинг Об исторических жизненных идеалах/ Пер. с голландского Ирины Михайловой под ред. Юрия Колкера. London: Overseas Publications Interchange Ltd, 1992.

5. Вербицкий А.А. Активное обучение в высшей школе: контекстный подход: Метод. пособие.- М.: Высшая школа, 1991.- 207 с.

6. Меркушев Александр, Опыт решения олимпиадных задач по программированию./ 10 сен 2006/ материалы 11-ой конференции

7. http://www.profit.kz

8. Кириенко Д.П.Язык программирования PYTHON - современный язык для обучения.// dk@mioo.ru)

9. http://www.python.org -- язык программирования Python

10. http://www.tiobe.com/tiobe_index -- TIOBE Programming Community Index

11. http://www.wingware.com -- среда разработки Wing IDE

12. http://informatics.mccme.ru -- сайт подготовки к олимпиадам по программированию

13. Саммерфилд М. Программирование на Python 3. Подробное руководство. Символ-Плюс, 2009.

14. Robert W.Lucas. Creative Leaners. Activities and games that really engage people. John Wiley & Sons, Inc, 2007

15. http://algolist.manual.ru

16. http://borlpasc.narod.ru

Размещено на Allbest.ru


Подобные документы

  • Cущность ЕГЭ как основной формы контроля уровня знаний за курс средней школы. Анализ раскрытия технологии программирования в учебниках по информатике 10-11 классов. Разработка уроков по подготовке школьников к решению заданий по программированию.

    дипломная работа [988,7 K], добавлен 18.07.2014

  • Анализ системы дистанционного практикума по программированию. Модернизация ядра системы для работы с новым конфигурационным файлом. Программная реализация изменений в базе данных и веб-интерфейсе пользователя. Разработка инструкции для участника олимпиад.

    дипломная работа [1,1 M], добавлен 09.11.2016

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

    курсовая работа [1,9 M], добавлен 17.06.2012

  • Модернизация системы образования в России. Организация дистанционного обучения. Методические аспекты применения платформы электронного обучения Claroline как средства организации проведения элективного курса по информатике в старших классах школы.

    дипломная работа [3,9 M], добавлен 29.09.2013

  • История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.

    курсовая работа [168,1 K], добавлен 27.09.2013

  • Основные сведения о языках программирования и их состав. Программа для компьютера. Использование компилятора и операторы. Языки программирования высокого уровня. Концепции объектно-ориентированного программирования. Языки искусственного интеллекта.

    презентация [6,3 M], добавлен 14.08.2013

  • Структурно–функциональная модель системы проведения соревнований школьников. Формирование требований к проектируемой автоматизированной системе обработки информации и управления. Разработка концепции и документации, анализ и выявление ключевых процессов.

    дипломная работа [3,4 M], добавлен 04.03.2014

  • История развития информационных технологий. Появление Интернета, браузеры. Основы web-программирования: классификация сайтов, языки программирования. Создание сайта для кафедры высшего учебного заведения: технология создания и руководство пользователя.

    дипломная работа [471,5 K], добавлен 23.04.2015

  • Определение терминов "учебно-исследовательская деятельность" и "исследовательская работа" школьников. Условия организации в основной школе исследовательской работы школьников с использованием кейс-технологии. Процедура применения кейсов по информатике.

    дипломная работа [3,0 M], добавлен 05.07.2017

  • Описание современных языков программирования (Паскаль, Ассемблер, С++, Бейсик, Лого, Форт, Пролог, Рефал и Лекс). Понятие, назначение и составные элементы систем программирования (машинно-ориентированных и машинно-независимых систем программирования).

    курсовая работа [96,3 K], добавлен 18.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.