МБОУ «Гатчинская средняя общеобразовательная школа № 1» «УТВЕРЖДАЮ»: Директор _______________________ Приказ № ___ от «_____» _______ 20___ г. Рабочая программа по предмету «Основы алгоритмизации и программирования» для базового уровня среднего общего образования Разработчик программы: учитель информатики Юшко И.Г. «РАССМОТРЕНА» «СОГЛАСОВАНА» на заседании ШМО Протокол № ____ от «__________20__г. Руководитель _____________________ (подпись, расшифровка) Зам. директора по УВР (подпись, расшифровка) «________________20__г. 1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Рабочая программа учебной дисциплины «Основы алгоритмизации и программирования» предназначена для реализации государственных требований к минимуму содержания и уровню подготовки выпускников и является единой для всех форм обучения. Учебная дисциплина «Основы алгоритмизации и программирования» является общепрофессиональной дисциплиной, формирующей базовый уровень знаний для освоения специальных дисциплин. Преподавание дисциплины имеет практическую направленность и проводится в тесной взаимосвязи с другими и специальными дисциплинами: «Информационные технологии», «Архитектура ЭВМ и вычислительных систем», «Операционные системы и среды», «Дискретная математика». Основные задачи дисциплины «Основы алгоритмизации и программирования» — развитие навыков алгоритмического мышления. В результате изучения дисциплины , учащийся должен: иметь представление: о роли и месте знаний по дисциплине при освоении смежных дисциплин по выбранной специальности и в сфере профессиональной деятельности; о направлениях развития программного обеспечения вычислительной техники; знать: принципы построения алгоритмов; типы данных и базовые конструкции языка программирования «Pascal»; основные приемы программирования; интегрированную среду программирования «Delphi»; основы объектно-ориентированного программирования; уметь: составлять простые алгоритмические конструкции; составлять программы на алгоритмическом языке «Pascal»; работать в интегрированной среде программирования «Delphi». Текущий контроль проводится при выполнении практических задач по разделам программы в виде самостоятельной работы с предъявлением результата. Программа рассчитана на 68 часов, Для проверки знаний учащихся предусмотрены две обязательных контрольных. По окончании курса проводится экзамен В содержании дисциплины по каждой теме приведены требования к формируемым представлениям, знаниям и умениям. 2. СОДЕРЖАНИЕ УЧЕБНОГО КУРСА Раздел 1. Основные принципы алгоритмизации и программирования Тема 1.1 Введение. Основные понятия алгоритмизации Учащийся должен: знать: понятие алгоритма; свойства алгоритмов; базовые структуры алгоритмов; основные базовые типы данных; основные структурированные типы данных; уметь: составлять простые алгоритмические конструкции; Понятие алгоритма. Свойства алгоритмов. Формы записей алгоритмов. Общие принципы построения алгоритмов. Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические. Данные: понятие и типы. Основные базовые типы данных и их характеристика. Структурированные типы данных и их характеристика. Методы сортировки данных. Практическое занятие №1 Составление простых алгоритмических конструкций. Тема 1.2 Логические основы алгоритмизации. Учащийся должен: знать: основные операции логической алгебры; основные свойства логических операций уметь: составлять таблицы истинности; Основы алгебры логики. Логические операции с высказываниями: конъюнкция, дизъюнкция, инверсия. Законы логических операций. Таблицы истинности. Практическое занятие №2. Составление таблиц истинности. Тема 1.3 Языки и системы программирования. Учащийся должен: знать: классификацию языков программирования; понятие системы программирования; Эволюция языков программирования. Классификация языков программирования. Элементы языков программирования. Понятие системы программирования. Исходный, объектный и загрузочный модули. Интегрированная среда. Тема 1.4 Методы программирования. Учащийся должен: знать сущность методов программирования; общие принципы разработки программного обеспечения; Методы программирования: структурный, модульный, объектно-ориентированный. Достоинства и недостатки методов программирования. Общие принципы разработки программного обеспечения. Жизненный цикл программного обеспечения. Типы приложений. Консольные приложения. Оконные Windows приложения. Webприложения. Библиотеки. Web-сервисы. Раздел 2. Программирование на алгоритмическом языке Object Pascal Тема 2.1. Основные элементы языка Object Pascal. Учащийся должен: знать: алфавит и лексику языка; типы данных языка программирования; правила записи выражений и операций; уметь: объявлять переменные и константы, присваивать им нужные типы данных; использовать в программе различные выражения и операции; История развития языка программирования Object Pascal. Структурная схема программы на алгоритмическом языке. Лексика языка. Переменные и константы. Типы данных. Выражения и операции. Практическое занятие №3. Создание простейшего приложения. Тема 2.2 Операторы языка. Учащийся должен: знать: операторы ввода-вывода; операторы ветвления; операторы цикла; уметь: составлять программы с ветвлением; составлять циклические программы; Синтаксис операторов: присваивания, ввода-вывода, безусловного и условного перехода, циклов. Составной оператор. Вложенные условные операторы. Циклические конструкции. Циклы с параметром, с предусловием и постусловием. Практическое занятие №4. Составление программ линейной структуры. Практическое занятие №5. Составление программ разветвляющейся структуры.. Практическое занятие №6. Составление программ разветвляющейся усложненной структуры. Практическое занятие №7. Составление программ циклической структуры. Практическое занятие №8. Составление программ усложненной структуры. Тема 2.3 Массивы. Учащийся должен: знать: синтаксис объявления массива; операции над массивами; стандартные функции для работы с массивами; уметь: осуществлять ввод и вывод массивов; сравнивать массивы; применять стандартные функции для работы с массивами; Массивы, как структурированный тип данных. Объявление массива. Ввод и вывод одномерных массивов. Ввод и вывод двухмерных массивов. Обработка массивов. Стандартные функции для массива целых и вещественных чисел. Практическое занятие № 9. Обработка одномерных массивов. Практическое занятие № 10. Обработка двухмерных массивов. Практическое занятие №11, 12 Использование стандартных функции для работы с массивами. Тема 2.4. Строки и множества. Учащийся должен: знать: синтаксис объявления строк и множеств операции над строками и множествами; стандартные функции и процедуры для работы со строками; уметь: выполнять операции со строками и над множествами; применять стандартные функции и процедуры для работы со строками; Структурированные типы данных: строки и множества. Объявление строковых типов данных. Поиск, удаление, замена и добавление символов в строке. Операции со строками. Стандартные функции и процедуры для работы со строками Объявление множества. Операции над множествами. Практическое занятие № 13. Работа со строковыми переменными. Практическое занятие № 14. Использование стандартных функций и процедур для работы со строками. Практическое занятие №15. Работа с данными типа множество. Тема 2.5. Процедуры и функции. Учащийся должен: знать: понятие подпрограммы; синтаксис объявления процедур и функций; стандартные процедуры и функции языка программирования Object Pascal; уметь: создавать программы, используя процедуры; создавать собственные подпрограммы в виде функций; использовать процедуры и функции в программах; Понятие подпрограммы. Процедуры и функции, их сущность, назначение, различие. Организация процедур, стандартные процедуры. Процедуры, определенные пользователем: синтаксис, передача аргументов. Формальные и фактические параметры. Процедуры с параметрами, описание процедур. Функции: способы организации и описание. Вызов функций, Программирование рекурсивных алгоритмов. Стандартные функции. Практическое занятие №16. Организация процедур. Практическое занятие №17. Использование процедур Практическое занятие № 18. Организация и использование функций Тема 2.6. Организация ввода-вывода данных. Работа с файлами Учащийся должен: рекурсия. знать: синтаксис объявления файла; порядок работы с файлами последовательного доступа; правила работы с файлами произвольного типа; уметь: работать с файлами разных типов; Типы файлов. Организация доступа к файлам. Файлы последовательного доступа. Открытие и закрытие файла последовательного доступа. Запись в файл и чтение из файла последовательного доступа. Файлы произвольного доступа. Порядок работы с файлами произвольного доступа. Создание структуры записи. Открытие и закрытие файла произвольного доступа. Запись и считывание из файла произвольного доступа. Использование файла произвольного доступа. Стандартные процедуры и функции для файлов разного типа. Практическое занятие №19. Работа с файлом последовательного доступа. Практическое занятие №20. Работа с файлом произвольного доступа. Практическое занятие №21. Использование стандартных процедур и функций для работы с файлами. Тема 2.7. Библиотеки подпрограмм Учащийся должен: знать: назначение библиотек подпрограмм; уметь: составлять простую библиотеку подпрограмм; использовать библиотеку подпрограмм; Программирование модулей. Модуль: синтаксис, заголовок, разделы. Библиотеки подпрограмм: понятие и виды. Схемы вызова библиотек. Статическое и динамическое связывание. Использование библиотек подпрограмм. Практическое занятие №22. Программирование модуля. Практическое занятие №23. Создание и использование библиотеки подпрограмм. Раздел 3. Программирование в объектно-ориентированной среде Delphi 7.0 Тема 3.1. Основные принципы объектно-ориентированного программирования (ООП) Учащийся должен: знать: основные понятия ООП; основные принципы ООП; История развития ООП. Базовые понятия ООП: объект, его свойства и методы, класс, интерфейс. Основные принципы ООП: инкапсуляция, наследование, полиморфизм. Событийно-управляемая модель программирования. Компонентноориентированный подход. Классы объектов. Компоненты и их свойства. Тема 3.2. Интегрированная среда разработчика. Учащийся должен: знать: основные требования к аппаратным и программным средствам среды разработки; характеристику интерфейса среды; состав проекта; уметь: работать в интегрированной среде разработки; настраивать среду разработки; Требования к аппаратным и программным средствам интегрированной среды разработчика. Интерфейс среды разработчика: характеристика, основные окна, инструменты, объекты. Форма и размещение на ней управляющих элементов. Панель компонентов и их свойства. Окно кода проекта. Состав и характеристика проекта. Выполнение проекта. Настройка среды и параметров проекта. Практические занятия: Практическое занятие №24. Изучение интегрированной среды разработчика. Практическое занятие №25. Создание простого проекта. Тема 3.3 Этапы разработки приложения. Учащийся должен: знать: основные этапы создания проекта; основные этапы разработки интерфейса; программирование кода объектов с помощью псевдокода; Проектирование объектно-ориентированного приложения. Создание интерфейса пользователя. Программирование приложения. Тестирование, отладка приложения. Создание документации. Тема 3.4 Иерархия классов. Учащийся должен: знать: виды классов объектно-ориентированного языка программирования; синтаксис объявления класса и экземпляра класса; синтаксис объявления свойств и методов экземпляра класса; уметь: применять синтаксис объявления класса, экземпляра класса, его свойств и методов; применять наследование; выполнять перегрузку методов; Классы объектно-ориентированного языка программирования: виды, назначение, свойства, методы, события. Объявления класса, свойств и методов экземпляра класса. Наследование. Перегрузка методов. Практическое занятие №26. Объявления класса, создание экземпляров класса. Практическое занятие №27. Создание наследованного класса. Практическое занятие №28. Перегрузка методов. Тема 3.5. Визуальное событийно-управляемое программирование Учащийся должен: знать: назначение и свойства основных управляющих компонентов среды разработки; виды процедур разработки событий; синтаксис объявления процедуры обработки события; уметь: использовать управляющие компоненты в программе; использовать процедуры обработки событий; Основные компоненты (элементы управления) интегрированной среды разработки, их состав и назначение. Дополнительные элементы управления. Свойства компонентов (элементов управления). Виды свойств. Синтаксис определения свойств. Категория свойств. Назначение свойств и их влияние на результат. Управление объектом через свойства. События компонентов (элементов управления), их сущность и назначение. Создание процедур на основе событий. Процедуры, определенные пользователем: синтаксис, передача аргументов. Вызов событий. Практическое занятие №29. Создание проекта с использованием кнопочных компонентов. Практическое занятие № 30.Создание проекта с использованием компонентов для работы с текстом. Практическое занятие № 31. Создание проекта с использованием компонентов ввода и отображения чисел, дат и времени. Практическое занятие №32. Создание проекта с использованием компонентов стандартных диалогов и системы меню. Тема 3.5 Разработка оконного приложения. Учащийся должен: знать: этапы создания оконного приложения; уметь: создавать оконные приложения; Разработка функционального интерфейса приложения. Создание интерфейса приложения. Разработка функциональной схемы работы приложения. Создание процедур обработки событий. Компиляция и запуск приложения. Практическое занятие №33 Разработка оконного приложения Практическое занятие №34. Разработка оконного приложения с несколькими формами. Практическое занятие №35. Разработка многооконного приложения 3. КАЛЕНДАРНО-ТЕМАТИЧЕСКИЙ ПЛАН № темы 1 2 3 4 Разделы и темы Раздел 1. Основные принципы алгоритмизации и программирования Раздел 2 . Программирование на алгоритмическом языке Object Pascal Раздел 3. Программирование в объектно-ориентированной среде Delphi 7.0 Раздел 4. Подготовка к ЕГЭ Всего по дисциплине: Контрольные и диагностические работы (кол.час) 6 Практичес кие и лабораторн ые работы (кол.час.) 1 14 5 2 11 4 2 Кол-во часов 3 34 4. ТРЕБОВАНИЯ К УРОВНЮ ПОДГОТОВКИ УЧЕНИКОВ В результате освоения учебной дисциплины обучающийся должен уметь: формализовать поставленную задачу; применять полученные знания к различным предметным областям; составлять и оформлять программы на языках программирования; тестировать и отлаживать программы; В результате освоения учебной дисциплины обучающийся должен знать: общие принципы построения и использования языков программирования, их классификацию; современные интегрированные среды разработки программ; процесс создания программ; стандарты языков программирования, общую характеристику языков ассемблера: назначение, принципы построения и использования. КРИТЕРИИ И НОРМЫ ОЦЕНКИ Критерий оценки устного ответа Отметка «5»: ответ полный и правильный на основании изученных теорий; материал изложен в определенной логической последовательности, литературным языком: ответ самостоятельный. Отметка «4»: ответ полный и правильный на основании изученных теорий; материал изложен в определенной логической последовательности, при этом допущены две-три несущественные ошибки, исправленные по требованию учителя. Отметка «3»: ответ полный, но при этом допущена существенная ошибка, или неполный, несвязный. Отметка «2»: при ответе обнаружено непонимание учащимся основного содержания учебного материала или допущены существенные ошибки, которые учащийся не смог исправить при наводящих вопросах учителя. Отметка «1»: отсутствие ответа. Критерий оценки практического задания Отметка «5»: 1) работа выполнена полностью и правильно; сделаны правильные выводы; 2) работа выполнена по плану с учетом техники безопасности. Отметка «4»: работа выполнена правильно с учетом 2-3 несущественных ошибок исправленных самостоятельно по требованию учителя. Отметка «3»: работа выполнена правильно не менее чем на половину или допущена существенная ошибка. Отметка «2»: допущены две (и более) существенные ошибки в ходе работы, которые учащийся не может исправить даже по требованию учителя. Отметка «1»: работа не выполнена. 5.ЛИТЕРАТУРА И СРЕДСТВА ОБУЧЕНИЯ 1. Голицына, Ольга Леонидовна. Основы алгоритмизации и программирования : Учебное пособие / О.Л. Голицына, И.И. Попов. - М. : Форум - Инфра-м, 2005. - 432 с. 2. Фаронов, Валерий Васильевич. DELPHI. Программирование на языке высокого уровня. : Учебник для ВУЗов. / В. В. Фаронов. - М. ; СПб. ; Нижний Новгород : Питер, 2006. - 640 с.. 3. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi / Н. Б. Культин. - 3-е изд. - СПб. : БХВ-Петербург, 2008. - 400 с. : 4. Климова, Лала Михайловна. Delphi 7. Основы программирования. Решение типовых задач : Самоучитель / Л.М. Климова. - 2-е изд., доп. - М. : Кудиц-образ, 2005. - 480 с. 5. Программа тестирования «Examiner33» 6. ИСТОЧНИКИ ИНФОРМАЦИИ Дополнительные источники: 1. Страуструп Б. Язык программирования Turbo Pascal (третье издание). – Спб., М.: "Невский диалект. Издательство "Бином", 2010. 2. Эпштейн М.С. Практикум по программированию: учебное пособие для сред. проф. образования. – М.: Издательский центр «Академия», 2009. 3. Лесневский А.С. Объектно-ориентированное программирование для начинающих. – М.: Бином. Лаборатория знаний, 2009. Интернет-ресурсы: 1. Начало программирования. Форма доступа: http:www.pas1. ru 2. Компьютерные видео уроки. Форма доступа: http://compteacher.ru/programming/delphi 3. Книги по программированию. Форма доступа: http://delphi-z.ru/books.html 4. Программирование на Visual Basic. Форма доступа: http://vbnet.ru/articles/showarticle.aspx?id=99 5. Самоучитель Visual Basic 6.0. Форма доступа: http://vbzero.narod.ru/ 6. Visual Basic .NET - Мультимедийный Обучающий Курс. Форма доступа: http://gratisfile.com/publ/140-1-0-13