Программа кружка по информатике (1 год обучения) элективный курс по информатике и икт на тему. Рабочая программа кружок программирования Программа кружка по программированию для студентов

Муниципальное бюджетное общеобразовательное учреждение «СОШ с.Яковлевка Базарно-Карабулакского муниципального района Саратовской области».

Рабочая программа
внеурочной деятельности в 9-11 классах.

Кружок « Основы программирования
на языке Паскаль
»

Руководитель: Дамаев Р.Х., учитель информатики.

2016-17 уч.год

Пояснительная записка.

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

Для решения этих задач может быть организован кружок «Основы программирования на языке Паскаль» для учащихся 9-11 классов. Почему именно Паскаль!?

Язык Паскаль был разработан в 1970 г. Никлаусом Виртом как язык, обеспечивающий строгую типизацию и интуитивно понятный синтаксис. Он был назван в честь французского математика, физика и философа Блеза Паскаля.

Одной из целей создания языка Паскаль Никлаус Вирт считал обучение студентов структурному программированию. До сих пор Паскаль заслуженно считается одним из лучших языков для начального обучения программированию. Его современные модификации, такие как Object Pascal, широко используются в промышленном программировании (среда Delphi). Наиболее популярным решением для персональных компьютеров в 80-е - начале 90 годов стал компилятор и интегрированная среда разработки Turbo Pascal фирмы Borland. Встроенный компилятор обеспечивал высокую скорость компиляции и высокое качество кода (отсюда приставка Turbo). Среда Turbo Pascal обеспечивала также отладку кода, содержала богатый набор примеров. Все эти качества позволили Turbo Pascal стать стандартом Паскаля де-факто. Наиболее известной свободной реализаций языка Паскаль является Free Pascal. Помимо открытости исходного кода, его основным преимуществом является мультиплатформенность, а также поддержка различных диалектов Паскаля. На основе FreePascal создана свободная мультиплатформенная среда Lazarus, аналогичная среде Delphi. Однако, бедный и не меняющийся десятилетиями консольный интерфейс интегрированной среды Free Pascal, мало совместимый с современными интерфейсами рабочих столов операционных систем, всё более отталкивает обучаемых, неправильно формируя у них представление, что Паскаль - устаревший язык. С другой стороны, среда Delphi по мере развития становилась все более громоздкой и малопригодной для обучения программированию. Кроме того, отсутствует бесплатная версия Delphi даже для академического использования. Данные факторы привели к практически полному исчезновению Delphi из сферы образования, а для среды Lazarus, несмотря на ее бесплатность, такие случаи единичны.

Наконец, появление платформ Java и.NET, включающих мощный язык программирования и мощные стандартные библиотеки ослабило позиции языка Delphi. Для обучения программированию стали чаще использоваться такие языки как Java, C, C++, C#, Visual Basic, Python, Haskell.

Одним из ярких событий, связанных с развитием языка Паскаль, стало появление языка и компилятора Oxygene фирмы RemObjects, который создатели заслуженно назвали современным Паскалем 21 века. Oxygene может генерировать код под различные платформы, в том числе под платформы.NET и Java. Основным его недостатком является отсутствие бесплатного компилятора и среды для образовательных целей. Кроме того, Oxygene достаточно сильно отличается от канонического языка Паскаль (методы классов вместо процедур и функций), что отражает его сугубо профессиональную направленность.

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

Изучение Паскаля предлагается начать сразу с конкретных примеров. Шаг за шагом ученики пройдут все стадии программирования и ощутят уверенность в себе и поймут: «Если я смог написать одну программу, значит смогу и вторую!»

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

Алгоритмический (программистский) аспект, связанный с развитием алгоритмического стиля мышления учащихся.

Кибернетический аспект, связанный с формированием мировоззренческих представлений о роли информации в управлении, закономерностей информационных процессов.

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

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

Актуальность программы.

В наше время важно, чтобы человек не только умел работать за компьютером, но и понимал, как устроены программы, с помощью которых он работает на нём. Кружок должен стать стартовой базой для изучения языка объектно-ориентированного программирования. Занятия помогут учащимся глубже изучить один из языков программирования (в нашем случае, Паскаль) и приобрести необходимые навыки в составлении программ. Для учащихся, которые имеют склонность быстрее осваивать основные принципы программирования, можно давать индивидуальные задания олимпиадного характера.

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

По результатам ЕГЭ информатика именно в области программирования считается наиболее трудным разделом, и кружок также может послужить ещё одним вариантом подготовки к этой форме проверки знаний учащихся.

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

Цели программы.

Закрепить у учащихся понятия алгоритма, свойства алгоритмов, способы записей алгоритмов, основных алгоритмических структур (линейной, ветвления, цикла), вспомогательных алгоритмов.

Обратить особое внимание на алгоритмическое программирование: основные типы и структуры данных (переменные, массивы), процедуры и функции.

Дать учащимся представление о решении сложных задач программирования, о применении программирования на практике.

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

Задачи программы.

  • Обучающие

Расширить знания учащихся по алгоритмизации и программированию.

Привить учащимся навыки решения простых задач по программированию.

Научить решать сложные задачи методом деления на подзадачи.

  • Развивающие

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

  • Воспитательные

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

Условия достижения поставленных целей и задач.

Для достижения поставленных задач занятия кружка проводятся в формате «от простого к сложному». Учащиеся вспоминают свои знания по основам алгоритмизации и программирования и на их основе, углубляя их, учатся составлять простые и сложные программы.

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

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

Образовательные результаты:

Учащиеся должны знать:

Что такое алгоритм, свойства, типы алгоритмов, способы записи алгоритмов;

Основные типы данных и операторы (процедуры);

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

Учащиеся должны уметь:

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

Организовать поиск информации, необходимой для решения задачи;

Применять линейные, ветвящиеся и циклические конструкции языка Паскаль;

Выделять подзадачи; определять и использовать вспомогательные алгоритмы;

Уметь решать задачи разного уровня по программированию;

Компилировать, редактировать, пользоваться справкой в среде программирования PascalABC.NET.

Организация деятельности учащихся.

формы :

в группах

индивидуальные

индивидуально-групповые.

режим занятий:

    общее количество часов в год - 35;

    периодичность занятий - 1 раз в неделю.

    количество часов и занятий в неделю - 1.

Формы занятий:

    1. Семинарские занятия

      Практические занятия

Формы контроля:

Текущий контроль - по результатам выполнения текущих практических работ.

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

1. Введение. Знакомство с языком Паскаль. Структура программы. Окно программы PascalABC.NET. Познакомить учащихся с историей языка Паскаль, его алфавитом, структурой программы. Рассмотреть окно среды программирования PascalABC.NET, интерфейс, меню, как пользоваться справкой, показать пример программы, ввод и вывод значений переменных.

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

2. Операторы ввода-вывода. Запись программы. Структура программы, блоки.

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

3. Составление первой программы (самостоятельно). Линейные алгоритмы и программы. Отладка.

Математические функции на Паскале: abc(x), sqr(x), sqrt(x), mod, div. Программы с их использованием.

4.Алгоритмы с ветвлением. Решение задачи на вычисление значений многочлена.

Познакомить учащихся с алгоритмами ветвления и рассмотреть задачи полного и неполного ветвления.

5. Циклические алгоритмы и программы.

Ввести представление о циклических алгоритмах. Рассмотреть их виды.

6. Массивы. Обработка массива. Задание массива.

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

7. Программы на ввод и обработку элементов массива.

Закрепить с учащимися понятие массива. Рассмотреть основные задачи на массивы.

Двумерные массивы.

Дать учащимся представление о двумерных массивах. Рассмотреть их заполнение и вывод на экран.

8. Строковые данные. Особенности работы со строковыми данными. Строковые массивы.

9. Библиотечные модули. Стандартные модули. Набор стандартных модулей: system, crt, graph, dos, printer.

Способы подключения модулей, и работа с ними.

10. Текстовые файлы. Ввод и вывод с использованием текстовых файлов.

11. Решение сложных задач

В этом разделе можно использовать решение задач из раздела 2 ЕГЭ, а также олимпиадные задачи.

12. Итоговое занятие

В качестве итогового занятия можно использовать проведение небольшой олимпиады по программированию или решение заданий из Раздела 2 одного из вариантов ЕГЭ.

Учебно-тематическое планирование.

п/п

ТЕМА ЗАНЯТИЯ

Кол-во часов

Дата

План

Факт

Инструктаж по технике безопасности. Среда PascalABC.NET. Элементы интерфейса. Использование справки. Структура программы.

Операторы ввода-вывода. Запись программы. Первая программа в PascalABC.NET. Линейные алгоритмы и программы.

Синтаксис языка. Исполнение программы. Отладка. Сообщения об ошибках. Типичные ошибки.

Данные. Типы данных. Блок описания переменных. Описание констант.

Арифметические выражения. Формат результата вычислений. Примеры программ на вычисления.

Оператор присваивания. Выполнение оператора. Операторы ввода и вывода. Вывод текстовых сообщений. Комментарии в программе.

Пошаговое выполнение программы.

Данные логического типа. Запись условий. Составные условия и их запись.

Алгоритмы с ветвлением. Организация ветвлений в PascalABC.NET. Условный оператор. Полное и неполное ветвление.

Вложенные ветвления.

Проверочная работа

Циклические алгоритмы. Цикл с параметром (for).

Цикл с предусловием (while)

Цикл с постусловием (repeit)

Одномерные массивы. Описание массива, основные типы задач с массивами (поиск, замена, сортировка, суммирование)

Двумерные массивы. Описание массива.

Вложенные циклы.

Строковые данные. Функции для работы со строковыми данными. Строковые массивы.

Проверочная работа

Процедуры и функции. Общие сведения.

Библиотечные модули. Стандартные модули. Подключение. Примеры.

Понятие файла. Чтение и запись файла. Текстовые файлы. Файловый ввод-вывод.

Решение олимпиадных задач и задач из Раздела 2 ЕГЭ.

Итоговый проект (решение задачи на выбор учащегося)

Техническое и программное обеспечение:

Компьютер, проектор, интерактивная доска, среда PascalABC.NET (рабочее место преподавателя).

Компьютер, среда PascalABC.NET (рабочее место учащегося).

Литература и Интернет-ресурсы:

Ушаков Д.М., Юркова Т.А. - Паскаль для школьников. -СПб.: Питер, 2006г. - 256с.:

Шпак Ю.А. - Turbo Pascal просто как 2х2. - Эксмо, 2008. - 400с.:

Чернов А.Ф. - Олимпиадные задачи с решениями и подробным анализом. - Волгоград: Учитель, 2007. - 207с.:

Рапаков Г.Г., Ржеуцкая С.Ю. - Turbo Pascal для студентов и школьников. - СПб.:БХВ-Петербург, 2007.-352 с.:

Цветков А.С. - Язык программирования PASCAL Система программирования ABC Pascal. Учебное пособие для школьников, Санкт-Петербург, 2015. -46с.

Ускова О.Ф. - Программирование на языке Паскаль Задачник. Изд. Питер. 2002. -336с.

Потопахин В.В. Turbo Pascal. Решение сложных задач. Издательство: «БХВ-Петербург», 2006, - 12с.

«Программирование. Решаем задачи повышенной сложности»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Программирование – это раздел информатики, задачей которого является процесс разработки программы на определенном языке программирования. Это и самый сложный раздел предмета. Известно также, что олимпиады по информатике проводится по разделу «Программирование». У некоторых учащихся в каждой параллели имеется потребность изучения программирования на более глубоком уровне. Организация кружка даёт возможность в системе дополнительного образования предоставить учащимся условия для обучения программированию с учетом их интересов, склонностей и способностей, способствует удовлетворению познавательных интересов, для учащихся старших классов выполняет задачу профессиональной ориентации. При этом существенно расширяются и возможности выстраивания каждым учеником, посещающим кружок, индивидуальной образовательной траектории.

Цели и задачи программы:

1. Формирование у учащихся структурного стиля мышления.

2. Углубление у школьников знаний, умений и навыков решения задач по программированию.

3. Формирование навыков и опыта решения олимпиадных задач.

4. Возможность реализовать свои творческие способности.

5. Формирование интереса к профессиям, связанным с программированием

2 группы: учащиеся 6 – 8 классов – младшая группа,

35 уч. часов, (1 час/нед.) – младшая группа вторник 15-15 – 16-00 час.

35 уч. часов, (1 час/нед.) – старшая группа понедельник 16-10 – 16-55 час.

Тематическое планирование

Младшая группа:

Кол-во часов

Введение в программирование. Программа, как способ записи алгоритма

Общее понятие об алгоритме. Выполнение алгоритма

Инструменты программирования. Используемые компиляторы. Элементы интерфейса. Операторы и команды

Константы. Переменные. Данные.

Оператор присваивания. Арифметические операции. Вывод результатов на экран

Формат результата. Оценка результата

Ввод данных. Порядок выполнения в программах

Практикум.Задачи линейного алгоритма

Условный оператор If-Then-Else

Оператор альтернативы

Логические выражения в условии

Практикум. Задачи разветвляющегося алгоритма

Циклы с пред - и пост-условием

Практикум. Задачи циклического алгоритма

Массивы. Понятие. Одномерный массив

Практикум. Решение задач по программированию

Зачетное занятие

Планируемый результат: выполнение итоговой практической работы (2-3 задачи повышенного уровня сложности). Отчет

Старшая группа:

Тематическое планирование

Тема занятий

Кол-во часов

Организационное занятие. Техника безопасности

Введение в программирование. Алгоритмы

Инструменты программирования. Используемые компиляторы. Элементы интерфейса

Языки компилируемые и интерпретируемые. Создание, компиляция, исполнение и отладка программ

Синтаксис и семантика. Типичные ошибки. Сообщения об ошибках

Данные. Типы данных. Формат результата. Оценка результата

Константы. Переменные. Данные. Оператор присваивания. Ввод данных.

Арифметические операции Вывод результатов

Практикум. Использование среды Turbo Pascal и CodeBlocks

Порядок выполнения в программах. Условный оператор If-Then-Else

Оператор альтернативы

Логические выражения и операции

Организация программ разветвляющейся структуры

Практикум. Задачи. Программирование алгоритмов с ветвлением

Понятие о цикле. Простейший оператор цикла

Практическая работа: Общий оператор цикла

Массивы. Использование циклов в массивах

Правило вложенных операторов. Схемы Представление программ в виде схем

Практикум. Задачи. Программирование циклических алгоритмов

Строковые переменные. Операции со строками

Структура сложных программ. Повторяющиеся операции. Подпрограммы

Понятие процедуры в программировании. Понятие функции в программировании

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

Практикум. Решение задач

Программа, как способ записи алгоритма. Общее понятие об алгоритме. Выполнение алгоритма

Программирование как разработка и реализация алгоритмов. Разбиение задачи на составные части. Библиотека алгоритмов

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

Перевод чисел из одной системы счисления в другую

Сортировка данных. Сортировка вставками. Обменная сортировка

Пирамидальная сортировка. Метод полного перебора. Комбинаторные головоломки

Обработка строк. Решение уравнений компьютерными методами

Практикум. Решение задач по программированию.

Зачетное занятие

Планируемый результат: выполнение итоговой практической работы(2-3 задачи повышенного уровня сложности). Отчет.

Используемые методы обучения:

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

эвристический метод с иллюстрированием и практической реализацией в среде программирования.

По окончании курса учащиеся должны:

знать:

1. правила представления данных на языке программирования;

2. правила записи основных операторов: ввода, вывода, присваивания, ветвления цикла;

3. правила записи программы;

4. содержание этапов разработки программы: алгоритмизация-кодирование-отладка-тестирование;

уметь:

1. составлять программы решения вычислительных задач;

2. программировать простой диалог;

Рабочая образовательная программа для кружков и внеурочной деятельности по информатике и программированию Основы программирования и компьютерного моделирования Задача данной образовательной программы познакомить учащихся с основами и компьютерным моделированием. Язык Си++ выбран за основу изучения так, как его синтаксис используется при , является базисом для многих других современных языков программирования В разделе рассмотрены основные методы и модели: приближенное решение уравнений, регрессии, метод наименьших квадратов, численное решение дифференциальных уравнений, клеточные автоматы, генетические алгоритмы, линейное программирование. В программе предусмотрена тема, посвященная созданию дружественного графического интерфейса GUI. В ходе освоения данной программы учащиеся реализуют мини проекты, закрепляя полученные знания самостоятельной практической работой. Мини проекты могут быть использованы в качестве основы для проектной деятельности для участия в научных конференциях учащихся. Для освоения данной образовательной программы по программированию и компьютерному моделированию необходимо углубленное изучение определённых разделов математики, физики и прочих предметов. Необходимые знания указаны в столбце “Необходимые знания”.Занятие в группах не более 10 человек. Оптимально 6-8 человек. Занятия проводятся в компьютерном классе.

Название темы

Кол-во часов

Теоретическиезнания

Практическиезадания

Необходимые математические и прочие знания

Линейные алгоритмы Переменные.

Знакомство с структурой программы на Cи . Переменные , типы данных. Вод данных и вывод на экран. Задание случайных величин.

Задачи.

1.Решение квадратного уравнения

Знакомство с логическимивыражениями. Операторами if и case .

Знакомство с циклами for , while , Вложенные циклы.

Задачи

1 Вложенный цикл. Расчет площади круга.

Знакомство с одномерными и многомерными массивами. Основные операции ввода вывода массивов. Сортировка поиск наименьшего и наибольших значений, операции с массивами.

Задачи

3.Переводдесятичного массива в бинарный и наоборот.

4.Обмен элементами между массивами (одного элемента, куска массива)

Мини проекты

7.Реализовать игруLife .

9.Моделирование поведения толпы с помощью теории клеточных автоматов

Понятие матрицы. Понятие суммы. Суммирование по нескольким индексам.

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

Задачи

1.Передача в функцию массива. И расчет значения функции по элементам массива

Основные операторы для графики.Простейшаяанимация.

2.Построение графиков функций.

Мини проекты

3.Рисованиепо заданным параметрам различных фигур.

4 Рисование трехмерных фигур и точек на них по заданным координатам

Свойства трехмерных фигур. Координаты точек в пространстве. Уравнение прямой в пространстве и плоскости. Понятие вектора.

Функции записи и считывания данных с текстового файла.

Задачи

1.Запись и считывание с файла числового массива

Мини проекты

2.Записать показания данных с датчиков микроконтроллера, обработать их вывести статистику.

Основы среды программирование микроконтроллеров. Считывание данных с датчиков.

Знакомство с основами компьютерного моделирования. Основные компьютерные модели. Метод половинного деления. Линеаризация задач. Метод наименьших квадратов.

Задачи

1 Численное решение уравнений. Метод половинного деления

Мини проекты

2Аппроксимация. Регрессия. Метод наименьших квадратов.

3.Моделирование физических процессов.Моделирование движения в вязкой среде.

4.Моделирование физических процессов. (Тяготение, электрические, магнитные поля)

Знакомство со средой программирования микроконтроллеров Arduino .

Считывание данных с датчиков управление сервоприводами и моторами.

Мини проекты

1. Управление манипуляторами

4. Запись данных с датчиковв файлы и обработка статистики передача в Интернет

5. Обмен данными между микроконтроллерами на расстоянии. Дистанционное управление роботами.

Понятия тока, напряжения, закона Ома

Составил рабочую образовательную программу Пашнин Андрей Александрович